1 2008-11-27 Wim Taymans <wim.taymans@collabora.co.uk>
3 Patch by: 이문형 <iwings at gmail dot com>
5 * gst/gstpoll.c: (gst_poll_fd_ctl_write), (gst_poll_fd_has_error):
6 Adds support for FD_CONNECT event (win32). See #562258.
8 2008-11-24 Stefan Kost <ensonic@users.sf.net>
10 * libs/gst/base/gstbasesink.c:
11 Turn comment into gtk-doc comment.
13 2008-11-24 Wim Taymans <wim.taymans@collabora.co.uk>
15 * libs/gst/base/gstbasetransform.c:
16 (gst_base_transform_acceptcaps):
17 Revert quick accepcaps attempt, it's not fully equivalent to the old
18 behaviour and thus causes regressions.
20 2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
22 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
23 Fix memory leak.
25 2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
27 Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
29 * gst/gstregistry.c: (gst_registry_scan_path_level):
30 Reduce the number of stat() calls for every file from three times
31 to one time. Fixes bug #560360.
33 2008-11-22 Wim Taymans <wim.taymans@collabora.co.uk>
35 * libs/gst/base/gstbasetransform.c:
36 (gst_base_transform_acceptcaps):
37 Rename a variable to make the code clearer.
39 2008-11-21 Stefan Kost <ensonic@users.sf.net>
41 * plugins/elements/gstidentity.c:
42 Don't warning on offset==-1. Taken from _check_imperfect_offset().
44 2008-11-21 Michael Smith <msmith@songbirdnest.com>
46 * plugins/elements/gstfilesrc.c:
47 Check for localhost in URI was backwards, fix it. Fixes unit test.
49 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
51 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
52 (gst_base_transform_getcaps), (gst_base_transform_find_transform),
53 (gst_base_transform_acceptcaps), (gst_base_transform_getrange):
54 Add beginnings of a more optimized acceptcaps function than the default
55 core one.
57 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
59 * gst/gstpad.c: (gst_pad_accept_caps):
60 Avoid getting the acceptcaps function too early.
62 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
64 * tools/gst-launch.c: (event_loop):
65 Make gst-launch handle LATENCY messages and make it recalculate the
66 latency.
68 2008-11-20 Michael Smith <msmith@songbirdnest.com>
70 * plugins/elements/gstfilesrc.c:
71 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
72 out own slightly incorrect version. Fixes use of some paths on
73 win32.
75 2008-11-20 Michael Smith <msmith@songbirdnest.com>
77 * gst/gstregistrybinary.c:
78 In win32 codepath, if we fail to write the registry, create the
79 directory for it and try again, matching the behaviour in non-win32
80 codepaths.
82 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
84 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
85 Changing the render delay changes the latency and so we must post a
86 latency message.
88 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
90 * gst/gstquery.c:
91 * gst/gstquery.h:
92 Add GstQueryType for custom queries instead of having to use the
93 not-so-very-convenient registration infrastructure to register new
94 types.
96 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
98 Patch by: Andrew Feren <acferen at yahoo dot com>
100 * gst/gstobject.c: (gst_object_default_deep_notify):
101 Unref the GEnumClass after usage again. Fixes bug #561501.
103 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
105 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
106 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
107 (gst_bin_change_state_func):
108 * gst/gstbin.h:
109 Add do-latency signal with the old default fallback implementation. This
110 allows for custom latency calculations for when the default is not
111 sufficient.
112 API: GstBin::do-latency signal.
114 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
116 * win32/common/libgstreamer.def:
117 Add new symbols to .def file.
119 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
121 * docs/gst/gstreamer-sections.txt:
122 * gst/gstbin.c: (gst_bin_recalculate_latency),
123 (gst_bin_change_state_func):
124 * gst/gstbin.h:
125 Add method to recalculate and redistribute the latency on a bin.
126 API: gst_bin_recalculate_latency().
128 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
130 * gst/gstbuffer.h:
131 Document the free_func.
133 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
135 * libs/gst/controller/gstinterpolation.c:
136 * libs/gst/controller/gstlfocontrolsource.c:
137 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
138 as it is mapped to a cast on non-win32 platforms.
140 2008-11-17 Stefan Kost <ensonic@users.sf.net>
142 * libs/gst/controller/gstcontroller.c:
143 * libs/gst/controller/gstcontrollerprivate.h:
144 Keep last-value and only call set_property if value has changed. This
145 supresses all the g_object_notifies we would trigger otherwise. It
146 also allows the user to chage the value while there is no controller
147 change.
149 2008-11-17 Stefan Kost <ensonic@users.sf.net>
151 * gst/gstvalue.c:
152 Don't crash if either of the string GValues is empty.
154 2008-11-17 Andy Wingo <wingo@pobox.com>
156 * tools/gst-inspect.c (print_all_uri_handlers): New function,
157 prints a summary of what URI schemes are supported by what
158 elements.
159 (main): Plumb in support for --uri-handlers or -u, and fix the
160 argc check for -a and -u.
162 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
164 * gst/gstutils.h:
165 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
166 conversion functions.
168 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
170 * gst/gstbuffer.c: (gst_buffer_finalize):
171 Avoid costly typechecking for trivially correct pointers.
173 * gst/gstpoll.c: (gst_poll_wait):
174 Add some G_LIKELY here and there.
176 * libs/gst/base/gstadapter.c: (gst_adapter_push):
177 Add some debug info.
179 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
181 * docs/random/wtay/poll-timeout:
182 Small tweaks.
184 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
186 * tests/old/testsuite/caps/intersection.c: (main):
187 * tests/old/testsuite/plugin/loading.c: (main):
188 Remove references to deprecated API g_mem_chunk*.
189 Fixes #560442.
191 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
193 * tools/gst-inspect.c: (main):
194 Add --plugin option. Fixes #560301.
196 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
198 * docs/random/wtay/poll-timeout:
199 Quick braindump for a possible (not totally verified) atomic case.
201 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
203 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
204 (gst_registry_binary_initialize_magic),
205 (gst_registry_binary_write_cache),
206 (gst_registry_binary_check_magic):
207 * gst/gstregistrybinary.h:
208 Don't write and check a CRC for the binary registry file. It's
209 guaranteed that the registry is completely written (it's first written
210 to a temporary file and then moved) and if the registry was corrupted
211 by some hardware failure we would have bigger problems.
213 Bump binary registry version to 0.10.21.1 for this as it's an
214 incompatible change and to ensure that the registry gets rebuild
215 after the update.
217 This saves some milliseconds for reading/writing the registry.
218 Fixes bug #560399.
220 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
222 * docs/random/wtay/poll-timeout:
223 Some pseudo code for how we could implement clock timeouts with GstPoll.
225 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
227 * plugins/elements/gstfilesink.c:
228 Update Author string to match others.
230 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
232 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
233 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
234 being fixed and inline the trivial check.
236 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
238 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
239 (gst_caps_merge_structure), (gst_caps_get_structure),
240 (gst_caps_copy_nth), (gst_caps_set_simple),
241 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
242 (gst_caps_is_equal_fixed), (gst_caps_intersect),
243 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
244 (gst_caps_to_string):
245 Callgrind micro optimisations.
246 Avoid array bounds checks and force inline of trivial function.
248 * gst/gstobject.c: (gst_object_set_name_default):
249 -1 is equivalent to letting glib to the strlen but then there is more
250 room for optimisations and it's not our fault.
252 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
253 no need to clear the array, we're cool.
255 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
256 The most common _is_fixed() check is done on fundamental glib base
257 types so we check this first instead of doing a huge amount of
258 useless GST_TYPE_ARRAY calls.
260 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
262 * gst/gstevent.h:
263 Add a SKIP seek flag for use with advanced trickmodes.
264 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
266 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
268 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
269 No need to memset, we can clear the value ourselves.
271 * gst/gstvalue.c: (gst_type_is_fixed),
272 (gst_value_get_compare_func):
273 Some optimisations from a few callgrind sessions:
274 When checking if a type is fixed, check for trivial fundamental types
275 first before checking types for which we need to get the type followed
276 by the heavy duty type checks, this reduces the amount of
277 g_type_fundamental() calls a lot.
278 When getting the compare function, first check for our registered types.
279 If that fails, do the heavy duty g_type_is_a() checks, reduces the
280 amount of g_type_is_a() considerably.
282 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
284 * docs/design/part-TODO.txt:
285 Mumble something about removing GstXML.
287 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
289 * gst/gstbin.c: (gst_bin_handle_message_func):
290 Get the seqnum before we dispose the message.
292 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
294 * docs/design/part-TODO.txt:
295 Refer to the framestepping document.
297 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
299 * gst/gstbin.c: (bin_handle_async_start),
300 (gst_bin_handle_message_func), (gst_bin_query):
301 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
302 (gst_base_sink_event), (gst_base_sink_change_state):
303 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
304 (gst_base_src_loop), (gst_base_src_change_state):
305 Copy seqnums from events to messages so that they can all be related
306 back to eachother.
308 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
310 * tools/gst-launch.c: (event_loop):
311 Print the message seqnums.
313 2008-11-04 Andy Wingo <wingo@pobox.com>
315 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
317 2008-11-04 Andy Wingo <wingo@pobox.com>
319 Add sequence numbers to events and messages. See #559250.
321 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
322 API: New functions.
324 * gst/gstevent.h:
325 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
326 events with a new sequence number, and copy it when copying.
327 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
328 an event's sequence number.
330 * gst/gstmessage.h:
331 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
332 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
333 so with messages.
335 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
337 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
339 * docs/manual/advanced-position.xml:
340 * docs/manual/basics-bins.xml:
341 * docs/manual/basics-bus.xml:
342 * docs/manual/basics-pads.xml:
343 * docs/manual/intro-gstreamer.xml:
344 * docs/manual/intro-preface.xml:
345 Some Application Development Manual fixes thanks to
346 Andrew Feren. Fixes #558459.
348 2008-11-03 Stefan Kost <ensonic@users.sf.net>
350 * gst/gstregistrybinary.c:
351 Don't bother with the GTimer if we don't output the results.
353 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
355 Patch by: David Schleef <ds@schleef.org>
357 * libs/gst/net/Makefile.am:
358 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
360 2008-10-31 Stefan Kost <ensonic@users.sf.net>
362 * gst/gstregistrybinary.c:
363 Oh my, studip, stupid me. Remove double stat() call.
365 2008-10-31 Stefan Kost <ensonic@users.sf.net>
367 * gst/gstpreset.c:
368 Use g_unlink instead of unlink.
370 * gst/gststructure.c:
371 Use glib type.
373 * gst/gstutils.c:
374 Add a FIXME:.
376 * gst/gsttaglist.c:
377 * gst/gsttypefind.c:
378 * gst/gstvalue.c:
379 Formatting & whitespaces.
381 2008-10-31 Stefan Kost <ensonic@users.sf.net>
383 * plugins/elements/gstidentity.c:
384 Doc typo. Use return value of parent_class->event.
386 * plugins/elements/gsttypefindelement.c:
387 Chain up at the end for consistency.
389 2008-10-30 Stefan Kost <ensonic@users.sf.net>
391 * docs/Makefile.am:
392 * docs/gst/gstreamer-docs.sgml:
393 * docs/gst/gstreamer-sections.txt:
394 * docs/gst/running.xml:
395 * docs/libs/gstreamer-libs-docs.sgml:
396 Change to xinclude based build - its faster and easier to maintain.
398 2008-10-30 Stefan Kost <ensonic@users.sf.net>
400 * gst/gstregistrybinary.c:
401 * gst/gstregistryxml.c:
402 Use g_unlink() as none of these are directories.
404 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
406 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
407 Some more comments.
409 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
411 * libs/gst/base/gstbasetransform.c:
412 (gst_base_transform_find_transform), (gst_base_transform_getrange):
413 If we have a fixate function, call it even if we already have fixed caps
414 because the subclass might add some caps. Makes audioconvert add a
415 default channel layout.
417 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
419 * libs/gst/base/gstbasetransform.c:
420 (gst_base_transform_prepare_output_buffer),
421 (gst_base_transform_getrange):
422 Clear the output buffer variable.
423 Cleanups to the error path in the getrange function.
424 Fixes #557649.
426 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
428 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
429 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
430 Use gst_buffer_try_new_and_alloc() and handle errors instead of
431 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
432 be allocated.
434 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
436 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
437 Set the last_stop to a more meaningful position when configuring the
438 segment. ie. the start/stop of the segment or clipped against the
439 updated segment boundaries.
441 * tests/check/gst/gstsegment.c: (GST_START_TEST):
442 Add some unit tests for the last_stop.
444 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
446 * libs/gst/base/gstbytereader.c:
447 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
448 copies of them.
450 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
452 * docs/gst/gstreamer-sections.txt:
453 * gst/gstutils.h:
454 API: Move float endianness conversion macros from libgstfloatcast
455 to core as it's useful in general, even in core. Fixes bug #555196.
456 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
457 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
458 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
460 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
461 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
462 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
463 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
465 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
467 * docs/libs/gstreamer-libs-sections.txt:
468 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
469 (gst_byte_reader_peek_data):
470 * libs/gst/base/gstbytereader.h:
471 * win32/common/libgstbase.def:
472 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
473 to get a pointer to the data at the current position and have
474 a guaranteed size.
476 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
478 * configure.ac:
479 Fix a bug in the output of the configure script summary
480 when --gst-disable-registry is supplied
482 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
484 * libs/gst/base/gstbitreader.c:
485 * libs/gst/base/gstbytereader.c:
486 Fix the names of 2 functions in the docs strings.
488 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
490 * libs/gst/base/gstbasetransform.c:
491 (gst_base_transform_prepare_output_buffer),
492 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
493 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
494 refcount problems as seen in banshee and maybe also in farsight2.
495 Remove atomic int now that we need to take the lock anyways.
497 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
499 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
500 (gst_base_sink_default_prepare_seek_segment),
501 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
502 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
503 (gst_base_sink_query):
504 Implement more seeking in pull mode.
505 Use pad convert functions to convert position to the requested format.
506 Fix position/duration reporting in pull mode.
507 Implement position and duration reporting in other formats than time.
509 * libs/gst/base/gstbasesink.h:
510 Add member to keep track of when the segment is playing.
512 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
514 * gst/gstpad.c: (gst_pad_configure_src):
515 When we use gst_pad_alloc_buffer() without wanting to set the caps we
516 also don't need to check if the caps are compatible because the caller
517 presumably is going to perform its own custom checks. Fixes some cases
518 where basetransform elements would error out when it was not needed.
520 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
522 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
523 Update comment.
525 * libs/gst/base/gstbasetransform.c:
526 (gst_base_transform_handle_buffer),
527 (gst_base_transform_reconfigure):
528 Add some debug info.
530 * win32/common/libgstbase.def:
531 Add new method.
533 2008-10-19 Stefan Kost <ensonic@users.sf.net>
535 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
536 Remove duplicated assignment and log a message in failure case.
538 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
540 Patch by: Dig Ge <dig.ge.cn at gmail com>
542 * tests/examples/helloworld/helloworld.c: (main):
543 Fix copy'n'paste bug in hello world example (#556900).
545 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
547 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
548 (gst_base_sink_query):
549 Query the total number of bytes when activating the pad in pull mode.
550 Implement duration query in pull mode by using the installed pad convert
551 function to convert from bytes to the requested format.
553 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
555 * docs/libs/gstreamer-libs-sections.txt:
556 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
557 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
558 (gst_base_sink_event), (gst_base_sink_perform_seek),
559 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
560 (gst_base_sink_send_event), (gst_base_sink_change_state):
561 * libs/gst/base/gstbasesink.h:
562 Add method to commit the state in subclasses.
563 Refactor the flush_start and flush_stop code because we need it for
564 flushing while seeking too.
565 Implement the beginnings of seeking in pull mode.
566 Use the segment last_stop field for the pulling offset.
567 Fix the pause method in pull mode.
568 Configure the segment to BYTES for pull mode.
569 API: GstBaseSink::gst_base_sink_do_preroll()
571 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
573 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
574 Update some docs.
576 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
578 * gst/gstquark.c: (_priv_gst_quarks_initialize):
579 Fix printf format warning.
581 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
583 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
584 Fix flow aggregation of tee. Error out immediately for all flow returns
585 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
586 and return OK if at least one pad is linked.
588 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
589 and otherwise returned the flow return of the last pad, which is wrong.
591 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
592 (GST_START_TEST), (tee_suite):
593 Add unit tests for the flow aggregation.
595 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
597 * docs/design/part-TODO.txt:
598 Remove item from the todo list because it was fixed with the latency
599 state change rewrites.
601 * docs/design/part-seeking.txt:
602 * docs/design/part-segments.txt:
603 Update some docs.
605 * gst/gstevent.c: (gst_event_new_new_segment_full),
606 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
607 (gst_event_parse_buffer_size), (gst_event_new_qos),
608 (gst_event_parse_qos), (gst_event_new_seek),
609 (gst_event_parse_seek), (gst_event_new_latency),
610 (gst_event_parse_latency):
611 Use quarks to construct and parse events.
613 * gst/gstquark.c: (_priv_gst_quarks_initialize):
614 * gst/gstquark.h:
615 Add some more quarks to the table.
616 Emit a warning when the quark tables are not in sync.
618 * tests/check/gst/gstbus.c: (GST_START_TEST):
619 Add an assert.
621 2008-10-13 Stefan Kost <ensonic@users.sf.net>
623 * plugins/elements/Makefile.am:
624 * plugins/indexers/Makefile.am:
625 Don't install static libs for plugins. Fixes #550851 for core.
627 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
629 * gst/gstbus.c: (gst_bus_source_finalize),
630 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
631 (gst_bus_enable_sync_message_emission),
632 (gst_bus_disable_sync_message_emission),
633 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
634 Fix deadlock, g_source_get_id() cannot be called in finalize.
635 Keep track of the watch source by keeping a pointer to the source object
636 instead.
637 Use the bus lock to protect access to the pointer to the current
638 watch source.
640 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
642 Base on Patch by: Olivier Crete <tester at tester dot ca>
644 * gst/gstbus.c: (gst_bus_source_finalize),
645 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
646 Only allow one bus watch to be set at a time. This is necessary
647 because the dispatcher pops the message from the bus and the second
648 watcher will then get NULL or the next message (and the first won't
649 get this next message then, etc). If more than one "watcher" is
650 required signal watches should be used. Fixes bug #526044.
652 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
654 * tools/gst-launch.c:
655 Change the printing of the 'buffering...' output to avoid putting
656 a \r in a translateable string (flagged by the TP).
658 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
660 * gst/gstxml.c:
661 Clarify that the save_thyself() and restore_thyself() virtual
662 functions of GstObject need to be overriden, not
663 gst_object_(save|restore)_thyself() which is impossible.
664 Fixes bug #555700.
666 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
668 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
669 Revert a patch from 21 months ago that broke caps negotiation in pull
670 mode. Basically, having a buffer pass over a pad will trigger the
671 setcaps function when caps change, just like in push mode.
673 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
675 * docs/design/part-negotiation.txt:
676 Update the docs some more.
678 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
679 If we pull a buffer with non-trivial caps, suggest those caps with the
680 max probability.
682 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
684 * docs/design/part-TODO.txt:
685 Add another limitation of pad-blocking with segment seeks not pushing
686 EOS events.
688 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
690 * win32/common/libgstbase.def:
691 * win32/common/libgstreamer.def:
692 Add new symbols to the win32 defs files
694 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
696 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
697 (gst_bin_handle_message_func):
698 The message src can be NULL, don't try to print the object names in that
699 case.
701 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
702 Add some more debug info.
704 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
705 (GST_START_TEST):
706 Add some debug.
707 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
708 scheduling modes.
710 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
712 * docs/design/part-negotiation.txt:
713 Small doc update.
715 * docs/libs/gstreamer-libs-sections.txt:
716 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
717 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
718 (gst_base_sink_init), (gst_base_sink_set_blocksize),
719 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
720 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
721 (gst_base_sink_loop), (gst_base_sink_pad_activate),
722 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
723 (gst_base_sink_change_state):
724 * libs/gst/base/gstbasesink.h:
725 Add blocksize property and methods to control the amount of data
726 to pull.
727 Negotiate first before activating upstream in pull mode so that they can
728 negotiate themselves.
729 When we operate in pull mode, we only accept the caps that we
730 negotiated.
731 Make the sink go ASYNC to PAUSED, like all other sinks.
732 API: GstBaseSink::gst_base_sink_set_blocksize()
733 API: GstBaseSink::gst_base_sink_get_blocksize()
734 API: GstBaseSink::blocksize
736 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
737 (gst_base_src_set_live), (gst_base_src_is_live),
738 (gst_base_src_set_format), (gst_base_src_query_latency),
739 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
740 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
741 (gst_base_src_set_property), (gst_base_src_get_property):
742 * libs/gst/base/gstbasesrc.h:
743 Add typechecking in public API functions.
744 Add methods to control the blocksize in subclasses.
745 API: GstBaseSrc::gst_base_src_set_blocksize()
746 API: GstBaseSrc::gst_base_src_get_blocksize()
748 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
750 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
751 (buffer_probe), (event_probe), (GST_START_TEST):
752 We now see 3 events go through our pad, since basesink now sends
753 upstream latency events.
755 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
757 * gst/gstpipeline.c: (gst_pipeline_change_state):
758 Release the object lock before trying to flush the bus.
760 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
762 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
763 Forward LATENCY events upstreams so that elements know about the total
764 pipeline latency. Fixes #555307.
766 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
768 * plugins/elements/gstqueue.c:
769 Allow through queries when we don't know how
770 to adjust them (not TIME or BYTES), as otherwise it's
771 not possible to query the current position in order
772 to seek in other formats at all.
774 2008-10-08 Andy Wingo <wingo@pobox.com>
776 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
778 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
780 * gst/gstghostpad.c:
781 * gst/gstghostpad.h:
782 Unbreak -good build, private is a reserved c++ keyword.
784 2008-10-08 Andy Wingo <wingo@pobox.com>
786 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
787 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
788 removal: re-add GST_GHOST_PAD_CAST to the header.
790 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
791 (GstGhostPadClass): Publically expose these structures so as to
792 allow easy subclassing from C. Hide the member data behind a
793 private opaque data pointer.
795 * gst/gstghostpad.c: Adapt to store instance data in the type
796 instance's private data region, not in the public struct.
798 2008-10-08 Andy Wingo <wingo@pobox.com>
800 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
801 template via g_object_get(), be sure to unref it.
803 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
805 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
807 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
808 If we can't get a cache file don't try to save something to it.
809 Dereferencing NULL pointers usually isn't a good idea.
811 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
813 * tests/check/Makefile.am:
814 * tests/check/gst/gstabi.c:
815 * tests/check/gst/struct_sparc.h:
816 * tests/check/libs/libsabi.c:
817 * tests/check/libs/struct_sparc.h:
818 Add Sparc ABI checks
820 * tests/check/gst/gstvalue.c: (GST_START_TEST):
821 Cast signed integer to unsigned to avoid a compiler warning.
823 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
825 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
826 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
827 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
828 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
829 (gst_byte_reader_peek_int24_be):
830 Use new GST_READ_UINT24_(LE|BE) macros.
832 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
834 * docs/gst/gstreamer-sections.txt:
835 * gst/gstutils.h:
836 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
837 as it's too easy to break the ISO C strict aliasing rules with simple
838 casts to the corresponding type and this would introduce hard to debug
839 bugs. Fixes bug #545714.
841 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
843 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
845 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
846 * gst/gstghostpad.c: (gst_ghost_pad_construct):
847 Add 'Since' bits to gtk-doc chunks for new API.
849 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
851 * docs/gst/gstreamer-sections.txt:
852 Fix documentation
854 2008-10-06 Andy Wingo <wingo@pobox.com>
856 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
857 that will be called on the malloc_data to free it. Basically a way
858 to avoid subclassing when all you need is a different free
859 function, i.e. free() instead of g_free().
861 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
862 calling the free function.
863 (gst_buffer_init): Initialize the free function to g_free.
865 2008-10-06 Andy Wingo <wingo@pobox.com>
867 * gst/gstghostpad.h:
868 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
869 finishes the initialization of ghost pad. Useful for language
870 bindings and subclassers of GstGhostPad. Fixes #539108.
871 (gst_ghost_pad_new_full): Use the new constructor.
873 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
875 Base on Patch by: Olivier Crete <tester at tester dot ca>
877 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
878 (gst_bin_remove_func), (update_degree),
879 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
880 Keep track of pads that are being linked/unlinked and resync the state
881 changes.
883 * gst/gstpad.c: (gst_pad_get_direction),
884 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
885 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
886 (gst_pad_link_prepare), (gst_pad_link),
887 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
888 (gst_pad_check_pull_range), (gst_pad_get_range),
889 (gst_pad_pull_range):
890 Some code cleanups, use macros to check pad direction.
891 Don't need to take the lock on the pad direction.
892 Post structure change when pads are linked/unlinked.
893 Change some checks into _return_if_fail().
895 * tests/check/gst/gstbin.c:
896 (test_link_structure_change_state_changed_sync_cb),
897 (GST_START_TEST), (gst_bin_suite):
898 Add testcase for pad link/unlinke resync during a state change.
899 Fixes #510354.
901 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
903 * docs/gst/gstreamer-sections.txt:
904 * gst/gstmessage.c: (gst_message_new_structure_change),
905 (gst_message_parse_structure_change):
906 * gst/gstmessage.h:
907 Implement STRUCTURE_CHANGED messages. These messages will be used to
908 signal the parent bin of link/unlink operations that could require a
909 resync when doing a state change. See ##510354.
910 API: gst_message_new_structure_change()
911 API: gst_message_parse_structure_change()
913 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
915 * gst/gstquark.c:
916 * gst/gstquark.h:
917 Add some more quarks for new message. See #510354.
919 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
921 * docs/libs/gstreamer-libs-docs.sgml:
922 * docs/libs/gstreamer-libs-sections.txt:
923 * libs/gst/base/Makefile.am:
924 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
925 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
926 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
927 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
928 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
929 (gst_bit_reader_skip_to_byte):
930 * libs/gst/base/gstbitreader.h:
931 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
932 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
933 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
934 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
935 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
936 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
937 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
938 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
939 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
940 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
941 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
942 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
943 * libs/gst/base/gstbytereader.h:
944 * tests/check/Makefile.am:
945 * tests/check/libs/bitreader.c: (GST_START_TEST),
946 (gst_bit_reader_suite):
947 * tests/check/libs/bytereader.c: (GST_START_TEST),
948 (gst_byte_reader_suite):
949 API: Add bit reader and byte reader classes, including documentation
950 and an extensive unit test suite. Fixes bug #553554.
952 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
954 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
955 (gst_base_sink_query):
956 Improve position reporting while flushing and other intermediate state
957 changes. Fixes #553874.
959 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
961 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
963 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
964 Original patch by : Simon Descaries
965 Fix small refount leak in caps compatibility check.
966 Fixes #551676.
968 2008-10-06 Stefan Kost <ensonic@users.sf.net>
970 * docs/pwg/advanced-request.xml:
971 Fix 0.8 api usage in example. Fixes #554561
973 * docs/pwg/appendix-porting.xml:
974 Change 0.9 to 0.10 here.
976 2008-10-06 Stefan Kost <ensonic@users.sf.net>
978 * docs/manual/basics-data.xml:
979 Change "event-event interaction" to "element-element interaction".
980 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
981 updates.
983 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
985 * configure.ac:
986 Back to development -> 0.10.21.1
988 === release 0.10.21 ===
990 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
992 * configure.ac:
993 releasing 0.10.21, "Take These Things From Me"
995 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
997 * configure.ac:
998 0.10.20.4 pre-release
1000 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
1002 * libs/gst/base/gstbasetransform.c:
1003 * plugins/elements/gstcapsfilter.c:
1004 * tests/check/Makefile.am:
1005 * tests/check/elements/.cvsignore:
1006 * tests/check/elements/capsfilter.c:
1007 Fix assertion in basetransform when the subclass chooses not to
1008 allocate a buffer in prepare_buffer(), and make capsfilter error out
1009 cleanly if requested to apply caps that don't completely specify the
1010 buffer. Fixes #551509
1012 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
1014 * libs/gst/base/gstbasetransform.c:
1015 (gst_base_transform_prepare_output_buffer):
1016 Take new caps ref because our old one might have been gone when the
1017 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
1019 2008-09-15 Stefan Kost <ensonic@users.sf.net>
1021 * configure.ac:
1022 Do not probe availability of check unit test library when cross
1023 compiling, as test would not work anyway. Also cleanup verbose output
1024 of the check test. Fixes #551952.
1026 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
1028 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
1030 * gst/gstelement.c: (gst_element_sync_state_with_parent):
1031 Avoid leaking the parent ref when we fail changing the state of the
1032 element using gst_element_sync_state_with_parent(). Fixes #551978.
1034 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
1036 * docs/manual/intro-motivation.xml::
1037 Remove some bits that no longer apply, update others (#551642).
1039 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
1041 * configure.ac:
1042 0.10.20.2 pre-release
1044 * po/LINGUAS:
1045 * po/id.po:
1046 * po/pt_BR.po:
1048 New translations.
1050 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
1052 * win32/common/config.h.in:
1053 Add GST_DATADIR, hard-code cpu to x86.
1055 * win32/common/libgstreamer.def:
1056 Spaces to tabs.
1058 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1060 * gst/gsttaglist.h:
1061 Fix Since: markers for new geo tags.
1063 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1065 * gst/gsttaglist.h:
1066 Fix actual tag name define after renaming from altitude to elevation.
1068 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1070 * gst/gstpad.c: (add_unref_pad_to_list),
1071 (gst_pad_get_internal_links_default):
1072 Add fallback when calling the deprecated function on an element that
1073 implements the new internal_link handler.
1075 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1077 * docs/gst/gstreamer-sections.txt:
1078 * gst/gsttaglist.c:
1079 * gst/gsttaglist.h:
1080 Add new tags for geo location and clarify purpose of existing location
1081 tag. Fixes #481169
1083 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1085 Patch by: Olivier Crete <tester at tester dot ca>
1087 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1088 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1089 Use thread-safe internal links iterator. Fixes #549504.
1091 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1093 Based on patch by: Olivier Crete <tester at tester dot ca>
1095 * docs/gst/gstreamer-sections.txt:
1096 * win32/common/libgstreamer.def:
1097 * gst/gstpad.c: (gst_pad_init),
1098 (gst_pad_set_iterate_internal_links_function),
1099 (int_link_iter_data_free), (iterate_pad),
1100 (gst_pad_iterate_internal_links_default),
1101 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1102 * gst/gstpad.h:
1103 Add threadsafe replacement functions for getting internal links of an
1104 element. Deprecate the old internal links functions.
1105 API:GstPad::gst_pad_set_iterate_internal_links_function()
1106 API:GstPad::GstPadIterIntLinkFunction
1107 API:GstPad::gst_pad_iterate_internal_links()
1108 API:GstPad::gst_pad_iterate_internal_links_default()
1110 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1111 (gst_proxy_pad_init):
1112 Implement threadsafe internal links.
1114 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1115 Unit test for internal links on tee. See #549504.
1117 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1119 * tests/check/Makefile.am:
1120 libs/transform1 test requires libs/test_transform.c
1122 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1124 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1125 Die evil deadlock, die !
1127 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1129 * gst/gstutils.c: (gst_element_get_compatible_pad):
1130 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1131 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1132 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1133 not steal the refcount of the given caps as stated.
1135 REVERT THIS COMMIT ONCE FIXED !
1136 REVERT THIS COMMIT ONCE FIXED !
1137 REVERT THIS COMMIT ONCE FIXED !
1138 REVERT THIS COMMIT ONCE FIXED !
1139 REVERT THIS COMMIT ONCE FIXED !
1140 REVERT THIS COMMIT ONCE FIXED !
1142 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1144 * gst/gstiterator.c:
1145 * gst/gstiterator.h:
1146 After 3 years it's about time to revise the documentation of the
1147 iterator objects.
1149 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1151 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1152 Make the internal links function less thread-unsafe and add some
1153 comments, dunno why.
1155 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1157 * gst/gst_private.h:
1158 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1159 build with --disable-gst-debug.
1161 2008-08-28 David Schleef <ds@schleef.org>
1163 * gst/gstpadtemplate.c: Revert last change, since it breaks
1164 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1165 but shouldn't be enabled until we've released fixed versions
1166 of -good and -ffmpeg.
1168 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1170 * gst/gstobject.c:
1171 Put the gst_object_get_name() back in.
1173 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1175 * gst/gstpadtemplate.c:
1176 The old behaviour was that gst_pad_template_new() takes ownership of
1177 the caps. As we now call g_object_new() which calls g_object_set() and
1178 which copies the caps, we have to unref them to not leak them. Fixes
1179 make valgrid for me.
1181 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1183 * gst/gsturi.c:
1184 Don't segfault on input like "tel:+1-123-555-1234".
1186 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1188 * gst/gstobject.c:
1189 Due to popular request also include ObjectType in
1190 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1192 2008-08-26 David Schleef <ds@schleef.org>
1194 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1195 src_val must be positive, because that's not a requirement.
1196 This causes problems with converting negative granulepos
1197 values for Dirac.
1198 * gst/gstquery.c: Same, gst_query_new_convert().
1200 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1202 * gst/gstclock.c: (gst_clock_add_observation):
1203 Add some more debugging to the clock slaving code.
1205 * win32/common/libgstbase.def:
1206 Add new basetransform method.
1208 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1210 * gst/gstbin.c: (gst_bin_element_set_state):
1211 Take the (recursive) state lock between getting the locked state of an
1212 element and changing the element state. This allows the application to
1213 lock an element's state and then change its state without races.
1215 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1217 * gst/gstbin.c: (gst_bin_element_set_state):
1218 When an element is in the locked state we still want to update the
1219 base_time of the element.
1221 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1223 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1224 Use the result from gst_pad_set_caps() instead of assuming the element
1225 always accepted the caps computed by the default negotiate function.
1227 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1229 * docs/libs/gstreamer-libs-sections.txt:
1230 * libs/gst/base/gstbasetransform.c:
1231 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1232 (gst_base_transform_chain), (gst_base_transform_suggest),
1233 (gst_base_transform_reconfigure):
1234 * libs/gst/base/gstbasetransform.h:
1235 Implement method for reconfiguring basetransform.
1236 API: GstBaseTransform::gst_base_transform_reconfigure()
1238 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1240 patch by: Murray Cumming <murrayc@murrayc.com>
1242 * gst/gstutils.c:
1243 Mention that this is just like gst_buffer_merge() but with extra
1244 unreffing for C coders. Advise language bindings not to wrap it.
1245 Fixes Bug #533856.
1247 Also fix file comment.
1249 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1251 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1253 * plugins/elements/gstfakesink.c:
1254 * plugins/elements/gstfakesrc.c:
1255 Call super::event() when not handling it. Fixes #544855.
1257 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1259 Patch by: Alessandro Decina <alessandro@nnva.org>
1260 * plugins/elements/gstfilesrc.c:
1261 Use 64 bit variants of stat functions on win32, to enable support
1262 of large files there.
1263 Fixes #547277.
1265 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1267 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1268 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1269 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1270 (gst_base_sink_get_position), (gst_base_sink_change_state):
1271 Improve position reporting in the flushing state.
1272 Also report the position when we are not yet prerolled but we
1273 have a newsegment event. Fixes #543444.
1274 Improve the pull-based negotiation code.
1276 * tests/check/elements/fakesink.c: (GST_START_TEST),
1277 (fakesink_suite):
1278 Add testcase for position reporting while flushing in PAUSED and
1279 PLAYING.
1281 * tests/check/generic/sinks.c: (GST_START_TEST):
1282 Update unit-test, we can now query the position as soon as we receive a
1283 NEWSEGMENT event.
1285 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1287 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1289 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1290 When the subclass event handler releases the PREROLL_LOCK, we could be
1291 in the flushing state and we have to ignore the event. Fixes #548394.
1293 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1295 * tools/gst-launch.1.in:
1296 Document GST_REGISTRY_UPDATE environment variable.
1298 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1300 * libs/gst/base/gstbasetransform.c:
1301 (gst_base_transform_prepare_output_buffer):
1302 If the element is configured in passthrough mode but the
1303 prepare_output_buffer gave us a new output buffer, discard that buffer
1304 and reuse the input buffer.
1306 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1308 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1310 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1311 (gst_tee_request_new_pad), (gst_tee_release_pad),
1312 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1313 * plugins/elements/gsttee.h:
1314 Protect pad_alloc with a new lock so that we can be sure that nothing is
1315 performing a pad_alloc when removing the pad. Fixes #547835.
1317 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1318 (buffer_alloc_harness_teardown), (app_thread_func),
1319 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1320 Added testcase for shutdown race.
1322 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1324 * gst/gstpad.h:
1325 Add doc
1327 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1329 * libs/gst/base/gstbasetransform.c:
1330 (gst_base_transform_prepare_output_buffer),
1331 (gst_base_transform_buffer_alloc):
1332 Go over the buffer_alloc function again and make sure we always end up
1333 allocating a buffer.
1334 Add some more docs.
1335 Avoid doing pad alloc when we have a pending suggestion because we
1336 cannot yet deal with changing caps in that case. Fixes #547728
1338 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1340 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1342 * docs/manual/advanced-clocks.xml:
1343 * docs/manual/clocks.png:
1344 * docs/manual/diagrams-clocks.svg:
1345 Add one more image showing different times together with a describing
1346 paragraph. Fixes #547729.
1348 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1350 * win32/common/libgstbase.def:
1351 Add new method.
1353 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1355 * libs/gst/base/gstbasetransform.c:
1356 (gst_base_transform_transform_caps),
1357 (gst_base_transform_prepare_output_buffer),
1358 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1359 Don't overwrite the outsize when calculating the expected size of a new
1360 buffer because we still need it in case we cannot process the new
1361 buffer.
1362 When converting the size of the new buffer to an upstream size, actually
1363 use the expected size of the buffer, not some other random value.
1364 Use an atomic int to signal that a new upstream caps suggestion is
1365 available.
1366 When we can convert the current buffer to a new format, check if the
1367 buffer size is of the expected size and allocate a new buffer of the
1368 expected size when this is not the case. Fixes #546883.
1370 * tests/check/libs/transform1.c: (GST_START_TEST):
1371 remove ifdeffed code from the unit test.
1373 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1375 * pkgconfig/gstreamer-uninstalled.pc.in:
1376 * pkgconfig/gstreamer.pc.in:
1377 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1378 called gstcontroller-0.10.
1380 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1382 * gst/gstchildproxy.h:
1383 * gst/gstpreset.h:
1384 Remove double interface from doc-string.
1386 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1388 * libs/gst/base/gstbasesrc.c:
1389 * libs/gst/base/gstbasetransform.c:
1390 Fix headings in docs and gtk-doc warnings.
1392 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1394 * gst/gstregistrybinary.c:
1395 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1396 libc.
1397 Fixes #544776.
1399 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1401 * libs/gst/base/gstbasetransform.c:
1402 (gst_base_transform_buffer_alloc):
1403 Fix a "may be used unitialized" warning.
1405 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1407 * docs/gst/gstreamer-sections.txt:
1408 * gst/gstpreset.h:
1409 Document preset-iface vmethods.
1411 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1413 * docs/manual/advanced-interfaces.xml:
1414 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1415 only used to discover devices.
1417 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1419 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1421 * gst/gst.c: (init_pre):
1422 Make sure gettext returns translations in UTF-8 encoding rather
1423 than in the current locale encoding (#546822).
1425 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1427 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1428 Fix subset test.
1430 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1431 Improve unit test subset tests and add a testcase for the subset failure
1432 cases.
1434 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1435 Improve subtraction unit test.
1437 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1439 * plugins/elements/gsttee.c:
1440 Unlock, instead of locking again.
1442 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1444 * gst/gstpad.h:
1445 Clarify the docs a bit more.
1447 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1449 * tests/examples/metadata/read-metadata.c:
1450 Don't leak old taglist.
1452 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1454 Patch by: Olivier Crete <tester at tester dot ca>
1456 * gst/gststructure.c:
1457 (gst_structure_fixate_field_nearest_fraction):
1458 Avoid overflows in fixation code when dealing with MAXINT values, which
1459 v4l2src seems to do.
1460 Fixes #546328.
1462 * tests/check/gst/gststructure.c: (GST_START_TEST):
1463 Make a unit test to check the fix.
1465 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1467 * plugins/elements/gstcapsfilter.c: (copy_func),
1468 (gst_capsfilter_set_property):
1469 Use new caps suggestion feature of basetransform to request a caps
1470 negotiation upstream.
1472 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1474 * docs/libs/gstreamer-libs-sections.txt:
1475 Add new function:
1476 API: GstBaseTransform::gst_base_transform_suggest()
1478 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1479 (gst_base_transform_init), (gst_base_transform_transform_caps),
1480 (gst_base_transform_transform_size),
1481 (gst_base_transform_configure_caps),
1482 (gst_base_transform_can_transform),
1483 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1484 (gst_base_transform_prepare_output_buffer),
1485 (gst_base_transform_buffer_alloc),
1486 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1487 (gst_base_transform_chain), (gst_base_transform_activate),
1488 (gst_base_transform_set_passthrough),
1489 (gst_base_transform_is_passthrough),
1490 (gst_base_transform_set_in_place),
1491 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1492 (gst_base_transform_set_qos_enabled),
1493 (gst_base_transform_is_qos_enabled),
1494 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1495 (gst_base_transform_reconfigure):
1496 * libs/gst/base/gstbasetransform.h:
1497 Rewrite of basetransform to perform negotiation outside of the
1498 buffer_alloc functions. Fixes #545853.
1500 * tests/check/libs/transform1.c: (GST_START_TEST),
1501 (buffer_alloc_ct2):
1502 Update unit test.
1504 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1506 * tests/check/gst/gstpreset.c:
1507 Only run preset tests when $HOME is writable. Preliminary fix for
1508 #545433.
1510 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1512 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1513 (gst_bin_change_state_func), (bin_handle_async_done),
1514 (gst_bin_handle_message_func):
1515 Fix race for bins that simulate ASYNC state changes by inserting
1516 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1517 pending ASYNC messages even when the bin does not have ASYNC children.
1518 We note detect this behaviour because we will receive an ASYNC message
1519 that is originating from the bin itself.
1520 Fixes races with decodebin2 state changes.
1522 * tests/check/gst/gstbin.c: (GST_START_TEST):
1523 Add some more debug.
1525 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1527 * gst/gsttaglist.c: (_gst_tag_initialize):
1528 Fix typo.
1530 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1532 * gst/gsttaglist.c:
1533 Argh. actually save the text before committing. Now adds
1534 gst_tag_merge_strings_with_comma() to gst_tag_register().
1536 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1538 * gst/gsttaglist.c:
1539 * gst/gsttaglist.h:
1540 Do as tim pointed out and actually register the new tag. Also improve
1541 te docs and use gst_tag_merge_strings_with_comma() method to allow
1542 retriving all keywords merged in one list.
1544 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1546 * configure.ac:
1547 * docs/gst/gstreamer.types:
1548 Revert 'accidential' change of the configure option removal. We still
1549 need to generate the types file in configure --disable-load-save.
1551 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1553 * docs/gst/gstreamer-sections.txt:
1554 * gst/gsttaglist.h:
1555 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1557 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1559 * gst/gstpadtemplate.c:
1560 (gst_pad_template_class_init), (gst_static_pad_template_get),
1561 (gst_pad_template_new), (gst_pad_template_pad_created),
1562 (gst_pad_template_set_property), (gst_pad_template_get_property):
1563 Add "name-template", "direction", "presence" and "caps" properties,
1564 so that gst_pad_template_new() is just a thin wrapper around
1565 g_object_new(), which is better for bindings. (Fixes: #539772)
1567 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1569 * gst/gsturi.c:
1570 Be more liberal in what URIs we accept.
1571 Do not unescape bits of the URI for no apparent reason before passing to
1572 the element. Fixes #545352.
1574 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1576 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1578 * gst/gst.c:
1579 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1581 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1583 * configure.ac:
1584 * docs/gst/gstreamer-sections.txt:
1585 * docs/gst/gstreamer.types:
1586 * docs/gst/gstreamer.types.in:
1587 * gst/Makefile.am:
1588 * gst/gst.c:
1589 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1590 * gst/gstconfig.h.in:
1591 * gst/gstelement.c: (gst_element_get_index):
1592 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1593 (gst_registry_binary_load_feature),
1594 (gst_registry_binary_read_cache):
1595 * gst/gstregistryxml.c: (load_feature),
1596 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1597 * plugins/Makefile.am:
1598 * tools/gst-indent:
1599 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1600 (print_plugin_features), (print_element_features):
1601 * tools/gst-xmlinspect.c: (print_event_masks),
1602 (print_element_info):
1603 * win32/common/gstconfig.h:
1604 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1606 Disabling the indexers and URI handler code will only reduce the
1607 required amount of memory by a very small amount but on the other hand
1608 requires much more maintaince work. Apart from that many places of
1609 code are broken when disabling them.
1611 Disabling the enum types doesn't reduce the required amount of memory
1612 by more than a few bytes and makes it hard to fix bugs like #539772,
1613 i.e. use the enums as GObject properties.
1615 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1617 * docs/design/part-TODO.txt:
1618 Add some thoughts and problems with upstream renegotiation.
1620 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1622 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1623 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1624 Remove silly redundant debug.
1625 Add some more debug info.
1626 Clarify the docs regarding new caps received from pad_alloc.
1628 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1630 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1631 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1632 Make setting the caps more threadsafe.
1634 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1636 * docs/design/part-element-transform.txt:
1637 Update docs.
1639 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1641 * plugins/elements/gstqueue.c: (gst_queue_init),
1642 (gst_queue_acceptcaps):
1643 Add and use a custom acceptcaps function instead of falling back to the
1644 potentially less optimized default implementation.
1646 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1648 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1649 Only sanity-check the buffer size if requested_caps == buffer_caps
1650 (ie. don't take pad caps into account, they're not relevant here)
1652 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1654 * plugins/elements/gsttee.c:
1655 * plugins/elements/gsttee.h:
1656 Reverting as not everything is clear yet. Needs some general design
1657 work.
1659 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1661 * ChangeLog:
1662 ChangeLog surgery for tee commit.
1664 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1666 * docs/gst/gstreamer-sections.txt:
1667 Cleanup section-file.
1669 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1671 * plugins/elements/gsttee.c:
1672 * plugins/elements/gsttee.h:
1673 Relay tag events in tee. Fixes parts of #474016.
1674 Downgrades 3 reoccurring debugs to log.
1676 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1678 * configure.ac:
1679 * libs/gst/Makefile.am:
1680 Build the net library if we have winsock2.
1682 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1684 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1686 * docs/manual/advanced-threads.xml:
1687 * docs/manual/diagrams-pipelines.svg:
1688 * docs/manual/hello-world.png:
1689 * docs/manual/linked-elements.png:
1690 * docs/manual/mime-world.png:
1691 * docs/manual/queue.png:
1692 * docs/manual/thread-buffering.png:
1693 * docs/manual/thread-synchronizing.png:
1694 Replace one diagram with two separate ones and updates others.
1695 Fixes #542401.
1697 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1699 * gst/gstelement.h:
1700 Fix link in documentation.
1702 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1704 * gst/gstmessage.c:
1705 Fix confusing documentation.
1707 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1709 * libs/gst/base/gstbasesrc.h:
1710 revert the changes to the header file for the ABI.
1712 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1714 * libs/gst/base/gstbasesrc.c:
1715 * libs/gst/base/gstbasesrc.h:
1716 Don't cache the seekable status.
1717 Fixes bug #544174
1719 2008-07-24 Rene Stadler <mail@renestadler.de>
1721 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1722 code to close the pipeline graph. This prevents the program from
1723 printing internal data flow errors.
1725 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1727 * docs/manual/basics-bus.xml:
1728 Correct typo. Fixes bug #544320.
1730 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1732 * configure.ac:
1733 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1734 Add check (taken from -base) for winsock, adds WIN32_LIBS
1735 * gst/Makefile.am:
1736 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1737 winsock.
1738 Define GST_EXPORTS when building libgstreamer (only used on win32)
1739 * gst/gst_private.h:
1740 * gst/gstinfo.h:
1741 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1742 for symbols that we need to export in both these files.
1743 * gst/gstpoll.c:
1744 Include gst_private.h higher up to avoid some compile problems on win32.
1746 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1748 * gst/gstvalue.c:
1749 Fix typos.
1751 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1753 * gst/gstcaps.c:
1754 Previous commit was wrong NULL caps does not exist
1755 and indicate an error, so also add a FIXME to
1756 gst_caps_is_equal where NULL caps are accepted.
1758 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1760 * gst/gstcaps.c:
1761 Allow passing of NULL to gst_caps_union
1763 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1765 * gst/gstghostpad.c:
1766 Add in doc that gst_ghost_pad_set_target can accept
1767 NULL to clear target
1769 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1771 * gst/gstplugin.c:
1772 * gst/gstregistry.c:
1773 GstRegistryPool doesn't exist; don't refer to it in docs.
1774 Don't refer to functions that don't exist in docs, it's
1775 unhelpful.
1777 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1779 * gst/gst.c:
1780 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1782 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1784 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1786 * docs/pwg/building-testapp.xml:
1787 Don't use an undeclared variable in the example program.
1788 Fixes bug #542573.
1790 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1792 * gst/gstdebugutils.c:
1793 Squeeze ghost-pad links and remove <> from classname labels to save
1794 more horizontal space.
1796 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1798 * gst/gstdebugutils.c:
1799 Give request and sometimes pads a different shpe style. Condense the
1800 graphs a little more.
1802 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1804 * configure.ac:
1805 Don't require flex and bison if the parser is disabled.
1807 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1809 * libs/gst/controller/gstinterpolationcontrolsource.c:
1810 (_list_find_sorted_custom):
1811 Don't use declarations after statements.
1813 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1815 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1816 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1817 of the the child-added / -removed signals as GstChildProxy
1818 only supports GstObjects.
1820 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1822 * gst/gstdebugutils.c:
1823 Fix memleak
1825 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1827 Patch by: Alessandro Decina <alessandro at nnva dot org>
1829 * gst/gstpoll.c:
1830 Fix "ignored return value" compiler warning with newer glibc.
1832 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1834 * gst/gstchildproxy.c:
1835 Fix copy&paste error in gst_child_proxy_removed() documentation.
1837 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1839 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1840 Print error debug message if plugin description fields that should
1841 be set are NULL.
1843 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1844 Don't crash if the string to serialise is NULL (it really should
1845 not be, but apparently this used to work with the xml registry ...).
1847 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1849 * tools/gst-plot-timeline.py:
1850 Fix parsing of log messages
1852 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1854 * win32/common/libgstbase.def::
1855 Sort alphabetically so make check-exports doesn't barf.
1857 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1859 * gst/gstevent.c:
1860 Use gst_format_get_name() to improve debug output.
1862 * gst/gstpreset.c:
1863 Remove #ifdef'ed code. Add TODO comment.
1865 * gst/gstsegment.c:
1866 Add debug output to ease spotting format != segment.format assertions.
1868 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1870 * tests/check/libs/gdp.c: (gst_dp_suite):
1871 Also enable the GDP unit test again on PPC now that the bug
1872 is fixed.
1874 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1876 * libs/gst/dataprotocol/dataprotocol.c:
1877 Don't write to the same region of memory as a uint64 and uint16
1878 as this breaks strict aliasing rules and apparantly breaks on PPC
1879 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1881 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1883 * libs/gst/controller/gstinterpolationcontrolsource.c:
1884 Optimize list handling. Use own find function. Exploit that fact that
1885 the list is sorted. Also pass back the node before, so that we can
1886 insert quickly. Have a fast path for append.
1888 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1890 * docs/design/draft-framestep.txt:
1891 * docs/design/part-negotiation.txt:
1892 Fix two typos.
1894 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1896 * configure.ac:
1897 Show configuration sumary after configure run. Based on patch by
1898 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1900 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1902 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1904 * docs/manual/advanced-autoplugging.xml:
1905 * docs/manual/advanced-threads.xml:
1906 * docs/manual/basics-bins.xml:
1907 * docs/manual/basics-elements.xml:
1908 * docs/manual/basics-helloworld.xml:
1909 * docs/manual/basics-pads.xml:
1910 Add scale factor for pdf output.
1912 * docs/manual/intro-basics.xml:
1913 Switched sections "pads" and "bins" and added a pipeline diagram.
1915 * docs/manual/intro-gstreamer.xml:
1916 Added more info on gstreamer.
1918 * docs/manual/intro-motivation.xml:
1919 Commented out the whole section "current problem", which sounds
1920 historical and somehow osolete; it could be turned in a positive
1921 way and reused to improve the design principles.
1923 * docs/manual/intro-preface.xml:
1924 - Update URLs to library.gnome.org.
1925 - Do not mention GTK+ in preliminary reading (irrelevant).
1926 - Mention Plugin Writer's Manual and further reading only in the
1927 previous section.
1928 - Added a list of most relevant GObject/glib topics.
1930 * docs/manual/Makefile.am:
1931 * docs/manual/bin-element-ghost.fig:
1932 * docs/manual/bin-element-ghost.png:
1933 * docs/manual/bin-element-noghost.fig:
1934 * docs/manual/bin-element-noghost.png:
1935 * docs/manual/bin-element.fig:
1936 * docs/manual/bin-element.png:
1937 * docs/manual/filter-element-multi.fig:
1938 * docs/manual/filter-element-multi.png:
1939 * docs/manual/filter-element.fig:
1940 * docs/manual/filter-element.png:
1941 * docs/manual/gstreamer-overview.png:
1942 * docs/manual/hello-world.fig:
1943 * docs/manual/hello-world.png:
1944 * docs/manual/linked-elements.fig:
1945 * docs/manual/linked-elements.png:
1946 * docs/manual/mime-world.fig:
1947 * docs/manual/mime-world.png:
1948 * docs/manual/queue.fig:
1949 * docs/manual/queue.png:
1950 * docs/manual/simple-player.png:
1951 * docs/manual/sink-element.fig:
1952 * docs/manual/sink-element.png:
1953 * docs/manual/src-element.fig:
1954 * docs/manual/src-element.png:
1955 * docs/manual/diagrams-general.svg:
1956 * docs/manual/diagrams-pipelines.svg:
1957 Removed .fig, added .png counterpart.
1959 Fixes: #539137
1961 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1963 * plugins/elements/gstmultiqueue.c:
1964 * plugins/elements/gstmultiqueue.h:
1965 revert extra-size-buffers stuff, caused some race conditions
1966 and extra-size-buffers is not used anymore. Docs needs some updates
1968 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1970 * win32/common/config.h:
1971 * win32/common/gstenumtypes.c:
1972 * win32/common/gstenumtypes.h:
1973 * win32/common/gstversion.h:
1974 Update win32 files.
1976 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1978 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1979 (GST_DEBUG_BIN_TO_DOT_FILE):
1980 Add missing Since' markers to gtk-doc blurbs.
1982 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1984 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1985 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1986 (set_caps_1), (set_caps_ct1), (transform_ct1),
1987 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1988 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1989 (transform_size_ct2), (buffer_alloc_ct2):
1990 Add some more tests with switching caps in buffer_alloc.
1992 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1994 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1995 (gst_test_trans_class_init), (result_sink_chain),
1996 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1997 (gst_test_trans_push), (gst_test_trans_pop):
1998 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1999 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2000 (set_caps_1), (set_caps_ct1), (transform_ct1),
2001 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2002 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
2003 (transform_size_ct2), (buffer_alloc_ct2),
2004 (gst_basetransform_suite):
2005 More tests, prepare for tests with switching caps in buffer_alloc.
2007 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
2009 * plugins/elements/gstmultiqueue.c:
2010 * plugins/elements/gstmultiqueue.h:
2011 Fix dead-lock in underrun_cb
2013 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2015 * docs/design/part-states.txt:
2016 Fix device open/close docs.
2018 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2020 * ChangeLog:
2021 Mention bugnumber for last commit.
2023 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2025 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2027 * docs/manual/manual.xml:
2028 - Reorganised the previous "introduction" bundle into Foreword,
2029 Introduction, and About GStreamer. The two first are <preface>
2030 docbook elements. The later is the first part of the book.
2031 - added intro-gstreamer.xml (content partially from
2032 intro-preface.xml)
2033 - moved appendix-win32.xml into appendix-integration.xml
2035 * docs/manual/intro-preface.xml: gstreamer section moved...
2036 * docs/manual/intro-gstreamer.xml: ...here. new file.
2038 * docs/manual/appendix-win32.xml: removed file. Content moved...
2039 * docs/manual/appendix-integration.xml: ...here.
2041 * docs/manual/highlevel-components.xml: section about GstEditor moved...
2042 * docs/manual/appendix-checklist.xml: ...here.
2044 Fixes: 538764
2046 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2048 patch by: Luc Pionchon <luc.pionchon@nokia.com>
2050 * docs/manual/basics-helloworld.xml:
2051 * docs/manual/hello-world.fig:
2052 - Explicitely include glib.h.
2053 - Do not use global variables.
2054 - Use g_printerr() instead of g_print().
2055 - Minor formating/renaming to increase readibility.
2056 - Renamed new_pad() to on_pad_added()
2057 - Improved explenatory comments.
2058 - renamed ogg parser to ogg demuxer
2059 - Use "autoaudiosink" instead of "alsasink".
2060 Fixes: #538619
2062 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2064 * ChangeLog:
2065 Remove cvs conflict marker.
2067 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2069 * docs/README:
2070 Document that for plgin-docs we extraxt he short-desc from the element
2071 details.
2073 * docs/design/part-states.txt:
2074 Tell that devices should be closed in PAUSED -> READY.
2076 * docs/manual/README:
2077 Document how tests in the manual are handled.
2079 * docs/manuals.mak:
2080 Typo in comment.
2082 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2084 * gst/gstbin.c: (bin_query_latency_fold):
2085 Only care about latency min and max when the sink is actually a live
2086 sink.
2088 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2090 * docs/design/part-block.txt:
2091 Fix typo.
2093 * docs/design/part-element-transform.txt:
2094 Add notes about why transform needs to know input/output sizes.
2095 Add some issues that need to be solved.
2096 Add some more use cases.
2098 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2099 (gst_test_trans_class_init), (result_sink_chain),
2100 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2101 (gst_test_trans_push), (gst_test_trans_pop):
2102 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2103 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2104 (set_caps_1), (set_caps_ct1), (transform_ct1),
2105 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2106 (gst_basetransform_suite):
2107 Add suport for different pad templates and buffer-alloc.
2108 Add more checks for caps and buffer-alloc.
2109 Add checks for proxy buffer alloc.
2110 Add unit test for copy transform.
2112 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2114 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2116 * docs/manual/appendix-integration.xml:
2117 * docs/manual/appendix-licensing.xml:
2118 * docs/manual/basics-elements.xml:
2119 * docs/manual/basics-helloworld.xml:
2120 * docs/manual/basics-pads.xml:
2121 * docs/manual/highlevel-components.xml:
2122 * docs/manual/highlevel-xml.xml:
2123 * docs/manual/intro-basics.xml:
2124 * docs/manual/intro-preface.xml:
2125 Typo and formatting fixes (#538594).
2127 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2129 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2130 Fix some memory leaks and uses of object instances that we don't
2131 actually own.
2133 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2135 * plugins/elements/gstmultiqueue.c:
2136 Add functionality to extra-size-buffers property.
2138 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2140 * plugins/elements/gstmultiqueue.c:
2141 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2142 activate the pads if they are added in STATE_NULL.
2144 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2146 * docs/libs/gstreamer-libs-sections.txt:
2147 Add new API to doc
2148 * libs/gst/check/gstcheck.c:
2149 * libs/gst/check/gstcheck.h:
2150 API: gst_check_teardown_pad_by_name
2152 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2154 * libs/gst/check/gstcheck.c:
2155 * libs/gst/check/gstcheck.h:
2156 Also setup request pads and allow setup pads by name (#537812)
2157 API: gst_check_setup_src_pad_by_name
2158 API: gst_check_setup_sink_pad_by_name
2160 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2162 * tests/check/gst/gstbuffer.c:
2163 * tests/check/pipelines/parse-launch.c:
2164 Use HAVE_VALGRIND_H some more.
2166 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2168 * scripts/cvs-update.sh:
2169 Pass arguments to make.
2170 Run autoregen.sh if Makefile is not there.
2172 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2174 * configure.ac:
2175 * gst/gstinfo.c:
2176 Don't assume that <valgrind/valgrind.h> exists just because
2177 the binary is there.
2179 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2181 * tests/check/Makefile.am:
2182 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2183 (gst_test_trans_class_init), (gst_test_trans_init),
2184 (gst_test_trans_set_data), (result_sink_chain),
2185 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2186 (gst_test_trans_pop):
2187 * tests/check/libs/transform1.c: (GST_START_TEST),
2188 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2189 Add some test basetransform element and the beginnings of various
2190 unit tests for it.
2192 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2194 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2195 Increase code readability.
2196 Don't try to compare buffer offsets when ther are invalid.
2198 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2200 * docs/design/Makefile.am:
2201 Dist some more design docs.
2203 * docs/random/moving-plugins:
2204 Small addition: good plugins mustn't have functional code
2205 within assertion macros.
2207 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2209 * docs/design/draft-framestep.txt:
2210 Some ideas about a framestep API
2212 * docs/design/part-element-transform.txt:
2213 Start design and use cases for basetransform in order to get it
2214 fixed soon.
2216 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2218 * gst/gsttaglist.h:
2219 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2220 be in UTF-8 encoding.
2222 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2224 * gst/gstbus.c:
2225 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2227 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2229 * plugins/elements/gstcapsfilter.c:
2230 * plugins/elements/gstfakesink.c:
2231 * plugins/elements/gstfakesrc.c:
2232 * plugins/elements/gstfdsink.c:
2233 * plugins/elements/gstfdsrc.c:
2234 * plugins/elements/gstfilesink.c:
2235 * plugins/elements/gstfilesrc.c:
2236 * plugins/elements/gstidentity.c:
2237 * plugins/elements/gstmultiqueue.c:
2238 * plugins/elements/gstqueue.c:
2239 * plugins/elements/gsttee.c:
2240 * plugins/elements/gsttypefindelement.c:
2241 Remove short_description. Add basic docs for gsttypefindelement.
2242 Simplify markup for fakesrc/fdsrc.
2244 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2246 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2247 Added Since doc.
2249 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2251 Patch by: Joel Larsson <tilljoel at gmail dot com>
2253 * docs/plugins/gstreamer-plugins.args:
2254 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2255 (gst_fd_src_init), (gst_fd_src_update_fd),
2256 (gst_fd_src_set_property), (gst_fd_src_get_property),
2257 (gst_fd_src_create):
2258 * plugins/elements/gstfdsrc.h:
2259 Add timeout property like udpsrc. Fixes #538628.
2260 Add some more docs and example pipelines.
2262 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2264 * docs/libs/gstreamer-libs-sections.txt:
2265 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2266 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2267 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2268 (gst_base_sink_do_sync):
2269 * libs/gst/base/gstbasesink.h:
2270 * win32/common/libgstbase.def:
2271 Add method to allow sinks to specify additional delay between the sync
2272 times and the actual rendering of the data.
2273 API: gst_base_sink_set_render_delay()
2274 API: gst_base_sink_get_render_delay()
2276 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2278 * configure.ac:
2279 Bump version number back to dev -> 0.10.20.1
2281 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2283 * docs/gst/gstreamer-sections.txt:
2284 * gst/gsttaglist.c: (_gst_tag_initialize):
2285 * gst/gsttaglist.h:
2286 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2287 Fixes bug #538568.
2289 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2291 * libs/gst/controller/gstcontroller.c:
2292 Revert one change, that make ret value possible uninitialized.
2294 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2296 * libs/gst/controller/gstcontroller.c:
2297 Use freeze/thaw notify to sync notify emission a bit (its also more
2298 efficient). Move debug output to LOG (is called a lot in a loop).
2299 Always unset g_values if the have been initialized.
2301 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2303 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2304 (gst_base_sink_wait_eos), (gst_base_sink_event):
2305 If we have not seen a buffer before EOS, use the segment values to
2306 report the current position instead of invalid positions.
2308 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2310 * docs/plugins/tmpl/.cvsignore:
2311 * tests/check/gst/.cvsignore:
2312 Ignore more.
2314 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2316 * libs/gst/controller/gstinterpolation.c:
2317 * libs/gst/controller/gstinterpolationcontrolsource.c:
2318 * tests/check/libs/controller.c:
2319 Rewrite handling of default values. Fix overflow with unsigned types
2320 in linear interpolation. Remove now obsolete _first_value() function.
2321 Add more tests. Fixes #538201.
2323 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2325 * libs/gst/base/gstbasetransform.c:
2326 (gst_base_transform_class_init), (gst_base_transform_init),
2327 (gst_base_transform_transform_caps),
2328 (gst_base_transform_prepare_output_buffer):
2329 Add debug info.
2330 When a buffer is writable, its metadata is also writable so we don't
2331 need to subbuffer (which then makes the buffer not-writable anymore).
2333 === release 0.10.20 ===
2335 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2337 * configure.ac:
2338 releasing 0.10.20, "You Crazy Diamond"
2340 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2342 * configure.ac:
2343 0.10.19.3 pre-release
2345 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2347 * configure.ac:
2348 * gst/gstpreset.c:
2349 Rename DATADIR to GST_DATADIR to avoid build problems
2350 on win32. Patch By: David Schleef <ds@schleef.org>
2351 Fixes: #536857
2353 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2355 * configure.ac:
2356 Explicitely link with -ldl if dladdr() is found there. Before it was
2357 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2358 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2360 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2362 * gst/gsterror.c: (_gst_stream_errors_init):
2363 Fix typo (spotted by Fabricio Godoy, #536723).
2365 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2367 * configure.ac:
2368 0.10.19.2 pre-release
2370 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2372 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2373 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2374 Add some debug.
2375 Make sure we don't generate invalid QoS messages.
2377 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2379 * gst/gstevent.c: (gst_event_new_qos):
2380 Add some assert and docs for invalid input to the qos function.
2382 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2384 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2385 (gst_base_sink_get_position):
2386 The reported position must always be smaller than the last seen
2387 timestamps (or timestamp + duration for reverse).
2389 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2391 Patch by: Rob Bradford <rob at robster dot org dot uk>
2393 * gst/gstregistry.c: (gst_registry_scan_path_level):
2394 Don't recurse into .debug directories as some distros install
2395 the debugging symbols next to the plugins in .debug directories
2396 and dlopen() crashes on them sometimes. Fixes bug #508070.
2398 Add FIXME for 0.11 to not recurse into directories at all because
2399 it's very inconsistent to the behaviour of other PATH environment
2400 variables.
2402 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2404 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2405 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2406 Fix position query range checks in reverse playback.
2408 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2410 * gst/gstelement.c:
2411 * gst/gstelement.h:
2412 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2413 clear of the reference to the resulting pad must be released later
2414 or not, resulting in possible leaks. Fixes bug #533865.
2416 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2418 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2420 * gst/gstelementfactory.c:
2421 Small doc fix. Fixes #535285.
2423 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2425 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2427 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2428 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2429 (gst_base_src_loop), (gst_base_src_set_flushing),
2430 (gst_base_src_change_state):
2431 Make sending an EOS event to the basesrc non-blocking even if the
2432 implementation does blocking waits in the create function. This is done
2433 by unlocking the create function when EOS is sent.
2434 Fixes #535218.
2436 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2438 * tools/gst-inspect.c: (print_element_properties_info):
2439 If possible print the element type of GValueArray properties.
2441 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2443 * gst/gstiterator.c:
2444 Remove an unused field from the private GstListIterator struct.
2446 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2448 * libs/gst/controller/gstcontroller.c:
2449 Add parameter guards.
2451 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2453 * tests/check/gst/gstpipeline.c:
2454 Revert test change and add comment why it should not work.
2456 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2458 * tests/check/gst/gstpipeline.c:
2459 Extending the test a little to verify that we also get the NULL state-
2460 change message.
2462 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2464 * gst/gstpreset.c: (gst_preset_default_get_meta),
2465 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2466 (gst_preset_load_preset), (gst_preset_save_preset),
2467 (gst_preset_rename_preset), (gst_preset_delete_preset),
2468 (gst_preset_set_meta):
2469 Add Since: markers to docs blurbs.
2471 * win32/common/libgstreamer.def:
2472 Add recently-added API.
2474 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2476 Patch by: Stefan Kost <ensonic@users.sf.net>
2478 * configure.ac:
2479 Add DATADIR for storing presets.
2481 * docs/gst/gstreamer-docs.sgml:
2482 * docs/gst/gstreamer-sections.txt:
2483 * docs/gst/gstreamer.types.in:
2484 Add GstPreset to docs.
2486 * gst/Makefile.am:
2487 * gst/gst.h:
2488 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2489 (preset_open_and_parse_header), (preset_parse_version),
2490 (preset_merge), (preset_get_keyfile),
2491 (gst_preset_default_get_preset_names),
2492 (gst_preset_default_get_property_names),
2493 (gst_preset_default_load_preset),
2494 (gst_preset_default_save_presets_file),
2495 (gst_preset_default_save_preset),
2496 (gst_preset_default_rename_preset),
2497 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2498 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2499 (gst_preset_default_reset), (gst_preset_get_preset_names),
2500 (gst_preset_get_property_names), (gst_preset_load_preset),
2501 (gst_preset_save_preset), (gst_preset_rename_preset),
2502 (gst_preset_delete_preset), (gst_preset_set_meta),
2503 (gst_preset_get_meta), (gst_preset_class_init),
2504 (gst_preset_base_init), (gst_preset_get_type):
2505 * gst/gstpreset.h:
2506 Add GstPreset to core. Fixes #396779
2508 * tests/check/Makefile.am:
2509 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2510 (gst_preset_test_set_property), (gst_preset_test_class_init),
2511 (gst_preset_test_base_init), (gst_preset_test_get_type),
2512 (gst_preset_test_plugin_init), (GST_START_TEST),
2513 (remove_preset_file), (test_setup), (test_teardown),
2514 (gst_preset_suite):
2515 Add GstPreset unit tests.
2517 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2519 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2520 The default event function on a sinkpad should return TRUE when
2521 there are no internal links but should collect the return values from
2522 the internal links otherwise.
2524 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2526 * plugins/elements/gsttypefindelement.c:
2527 (gst_type_find_element_src_event),
2528 (gst_type_find_element_handle_event):
2529 Use faster and safer _pad_push_event().
2531 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2533 * docs/gst/gstreamer-sections.txt:
2534 * gst/gstutils.c: (element_find_unlinked_pad),
2535 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2536 * gst/gstutils.h:
2537 API: add gst_bin_find_unlinked_pad()
2538 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2540 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2542 * gst/gstclock.c:
2543 * gst/gstclock.h:
2544 * gst/gsttask.c:
2545 * gst/gsttask.h:
2546 Fixed a bunch of typos.
2548 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2550 * gst/gstpad.h:
2551 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2552 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2553 (gst_parse_bin_from_description_full):
2554 * gst/gstutils.h:
2555 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2557 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2559 * docs/pwg/advanced-tagging.xml:
2560 Small docs update, can't be bothered to rewrite the nonsensical
2561 examples right now.
2563 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2565 * gst/gstevent.h:
2566 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2568 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2570 * gst/parse/grammar.y:
2571 Remove unneeded casts.
2573 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2575 * gst/parse/grammar.y:
2576 * tests/check/pipelines/parse-launch.c:
2577 Get all missing elements from a parse launch string if possible
2578 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2580 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2582 * tests/check/Makefile.am:
2583 * tests/check/pipelines/parse-launch.c:
2584 Add some unit tests for the new gst_parse_launch*_full() API.
2585 (Exposes a previously-existing memory leak in the error code
2586 path, so adding to VALGRIND_TO_FIX for now).
2588 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2590 * docs/gst/gstreamer-sections.txt:
2591 * gst/gst.c: (init_post):
2592 * gst/gst_private.h: (_GstParseContext):
2593 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2594 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2595 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2596 (gst_parse_launch_full):
2597 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2598 (GstParseFlags), (GstParseContext):
2599 * gst/gstutils.c: (gst_parse_bin_from_description),
2600 (gst_parse_bin_from_description_full):
2601 * gst/gstutils.h:
2602 * gst/parse/grammar.y:
2603 * gst/parse/types.h:
2604 * win32/common/libgstreamer.def:
2605 Add new gst_parse_*_full API (#528178):
2606 API: gst_parse_launch_full()
2607 API: gst_parse_launchv_full()
2608 API: gst_parse_bin_from_description_full()
2609 API: gst_parse_context_new()
2610 API: gst_parse_context_free()
2611 API: gst_parse_context_get_missing_elements()
2613 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2615 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2617 * docs/faq/gst-uninstalled:
2618 Also support ffmpeg in gst-uninstalled.
2620 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2622 * configure.ac:
2623 After discussion on IRC use the binary registry as default
2624 but allow to disable it with --disable-binary-registry.
2626 * win32/common/libgstreamer.def:
2627 Add the two new symbols for the binary registry.
2629 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2631 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2632 * gst/gstutils.c: (gst_parse_bin_from_description):
2633 * gst/parse/grammar.y: (graph):
2634 More guards against bad input; typo fix; some minor clean-ups.
2636 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2638 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2640 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2641 If nothing else can be used, use the last buffer's start time as
2642 the segment's last stop. Fixes bug #534258.
2644 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2646 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2647 Move size sanity check to the right place: downstream may return
2648 a buffer with a smaller size if the buffer caps are different than
2649 the requested ones, as may happen when doing reverse negotiation.
2651 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2653 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2654 (gst_file_sink_render):
2655 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2656 (gst_file_src_start):
2657 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2658 use it yet.
2660 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2662 * gst/gstpad.c: (gst_pad_load_and_link):
2663 * gst/gstutils.c: (gst_element_link_pads),
2664 (gst_element_unlink_pads):
2665 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2666 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2667 (gst_check_teardown_sink_pad),
2668 (gst_check_element_push_buffer_list):
2669 * tests/check/elements/fakesink.c: (GST_START_TEST):
2670 * tests/check/elements/filesink.c:
2671 * tests/check/elements/filesrc.c: (GST_START_TEST):
2672 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2673 (mq_sinkpad_to_srcpad):
2674 * tests/check/elements/tee.c: (GST_START_TEST):
2675 * tests/check/generic/sinks.c: (GST_START_TEST):
2676 * tests/check/gst/gstbin.c: (GST_START_TEST):
2677 * tests/check/gst/gstevent.c: (GST_START_TEST):
2678 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2679 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2680 * tests/check/gst/gstquery.c: (GST_START_TEST):
2681 * tests/check/gst/gstutils.c: (GST_START_TEST):
2682 * tests/check/libs/basesrc.c: (GST_START_TEST):
2683 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2684 (gst_parse_test_element_change_state):
2685 Don't use gst_element_get_pad().
2687 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2689 * docs/Makefile.am:
2690 Fix installing plugin documentation when gtk-doc is disabled.
2692 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2694 * docs/manual/advanced-autoplugging.xml:
2695 * docs/manual/basics-helloworld.xml:
2696 * docs/manual/basics-pads.xml:
2697 * docs/manual/highlevel-components.xml:
2698 Avoid using a bad function in the example code.
2700 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2702 * gst/gstclock.c: (gst_clock_set_calibration):
2703 Fix debug of the new clock rate.
2705 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2707 * win32/common/libgstbase.def:
2708 Add gst_base_sink_wait_clock() to the exported symbols.
2710 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2712 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2714 * libs/gst/base/gstbasetransform.c:
2715 (gst_base_transform_sink_event):
2716 Unref events that the GstBaseTransform::event vfunc didn't want to
2717 have forwarded by the base class. Closes a leak in identity.
2718 Fixes bug #446763.
2720 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2722 * docs/libs/gstreamer-libs-sections.txt:
2723 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2724 * libs/gst/base/gstbasesink.h:
2725 Expose a method that was previously used internally to synchronize
2726 against the clock because it can be useful for subclasses too.
2727 API: GstBaseSink::gst_base_sink_wait_clock()
2729 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2731 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2732 Add sanity check to make sure we don't get smaller buffers
2733 than requested (and fallback to normal buffer alloc if we do).
2735 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2737 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2738 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2739 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2740 Refactor adjusting the running_time with latency and offset into a
2741 separate method.
2742 When doing clipping, we still want to use the subclass get_times method,
2743 just in case the DURATION or TIMESTAMP are not set.
2745 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2747 * docs/gst/gstreamer-sections.txt:
2748 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2749 * gst/gsttypefind.h:
2750 * win32/common/libgstreamer.def:
2751 API: add gst_type_find_suggest_simple(), #533740.
2753 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2755 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2756 Use right error code when typefinding fails, so we can use
2757 the default (translated) error messages.
2759 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2761 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2762 (gst_base_src_start):
2763 When the subclass did not set caps on outgoing buffers, configure the
2764 caps we negotiated on the source pad.
2765 When the typefind helper does not find caps, error out properly instead
2766 of doing things with NULL caps.
2768 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2770 * gst/gsttypefind.h:
2771 Tabs to spaces, oh yes!
2773 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2775 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2776 Add David's and Benjamin's tests for array intersection to the
2777 unit test suite (#147931).
2779 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2781 * gst/gstevent.c:
2782 Document that gst_event_new_tag() and gst_event_new_navigation()
2783 take ownership of the taglist/structure passed to them. (#533635).
2785 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2787 * docs/Makefile.am:
2788 Don't descend into the plugins dir if plugin docs building
2789 is disabled.
2791 * docs/README:
2792 Add a note about the new type:GTypeName syntax for the plugin
2793 documentation .types file.
2795 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2797 * gst/gstmessage.c: (gst_message_new_error),
2798 (gst_message_new_warning), (gst_message_new_info):
2799 * gst/gstmessage.h:
2800 Mark the debug string parameters as const. Fixes bug #533490.
2802 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2804 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2805 Sort buffer cache list by end offsets. This makes sure that we don't
2806 stop to search for a cached buffer that contains the requested data
2807 too early.
2808 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2809 more efficient. Fixes bug #459862.
2811 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2813 * gst/gstinfo.c:
2814 Explain why we copy the list.
2816 * gst/gstpipeline.c:
2817 Improve docs.
2819 * gst/gstutils.c:
2820 Add one debug-log statement to help tracing probelms with linking pads.
2822 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2824 * tests/check/gst/gstinfo.c:
2825 Add a test for removing the default log handler. Seems to fail under
2826 windows.
2828 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2830 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2831 Release pad lock before calling out to avoid a possible deadlock.
2833 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2835 * gst/parse/grammar.y:
2836 Remove unneeded value unset.
2838 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2839 Add unit test for de/serialization of caps.
2841 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2843 * plugins/elements/gstfakesink.c:
2844 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2845 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2846 (gst_fake_src_class_init):
2847 Use custom marshalers that take GstMiniObject as first parameter.
2848 Using OBJECT as parameter while a GstMiniObject is given will lead
2849 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2851 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2853 * plugins/elements/gsttypefindelement.c:
2854 (gst_type_find_element_handle_event),
2855 (gst_type_find_element_send_cached_events),
2856 (gst_type_find_element_change_state):
2857 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2858 immediately.
2860 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2862 * plugins/elements/gsttypefindelement.c:
2863 (gst_type_find_handle_src_query), (stop_typefinding),
2864 (gst_type_find_element_handle_event),
2865 (gst_type_find_element_send_cached_events),
2866 (gst_type_find_element_change_state):
2867 Forward FLUSH_START events immediately and clean up instead of
2868 caching them.
2870 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2872 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2874 * libs/gst/base/gstbasetransform.c:
2875 (gst_base_transform_buffer_alloc):
2876 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2877 fall back to default negotiation in the chain function if the caps
2878 are different from what was requested. Fixes bug #526768.
2880 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2882 * gst/gstsegment.c:
2883 * tests/check/gst/gstsegment.c:
2884 No, let's not use g_slice_{dup|copy} here, since they only exist
2885 since GLib 2.14 and we still depend only on >= 2.12. Also add
2886 unit test for gst_segment_copy().
2888 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2890 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2891 Try to fix 'dereferencing type-punned pointer will break strict
2892 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2893 changed the default GType typedef from gulong to gsize at some point,
2894 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2895 g_once_* functions all take a gsize * though, so work around the type
2896 mismatch for C++ by doing everything in gsize and casting to GType
2897 later.
2899 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2901 * plugins/elements/gstmultiqueue.c:
2902 Add documentation for the signals to push our core plugin docs
2903 coverage back up to 100%.
2905 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2907 * gst/gstinfo.h (GST_FUNCTION):
2908 Reverted GST_FUNCTION to the old version as we don't want the
2909 full signature in C++ code. Also added support for MSVC.
2911 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2913 * gst/gstutils.h:
2914 Intern the type name string, similar to what G_DEFINE_TYPE does.
2916 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2918 * gst/gstutils.h:
2919 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2921 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2923 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2925 * libs/gst/base/gstbasetransform.c:
2926 (gst_base_transform_buffer_alloc):
2927 Don't passthrough buffer allocation too easily if the caps change.
2928 This breaks when working in passthrough mode and upstream changes
2929 it's caps. Fixes bug #526768.
2931 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2933 * gst/gstinfo.c (gst_debug_log_valist):
2934 Improved the __FILE__ part of debug output for MSVC.
2936 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2938 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2939 Declaration after statement fix for compilers like MSVC.
2941 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2943 * win32/common/config.h.in:
2944 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2945 use the real thing than having "???" unconditionally.
2947 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2949 * gst/gstinfo.h (GST_FUNCTION):
2950 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2952 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2954 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2955 Small code cleanup.
2957 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2958 (gst_base_sink_set_flushing):
2959 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2960 Fix some comments.
2962 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2964 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2965 (gst_fake_src_init), (gst_fake_src_set_property),
2966 (gst_fake_src_get_property), (gst_fake_src_start):
2967 * plugins/elements/gstfakesrc.h:
2968 Added format property to control the format of the newsegment events.
2969 API: GstFakeSrc:format
2971 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2973 * win32/common/libgstreamer.def:
2974 Add gst_pad_has_name() to the exported symbols.
2976 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2978 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2979 * libs/gst/base/gstbasetransform.c:
2980 (gst_base_transform_prepare_output_buffer):
2981 Don't allow negative sizes when allocating new buffers.
2982 Fixes bug #461253.
2984 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2986 Patch by: Sjoerd Simons <sjoerd at luon net>
2988 * gst/gstbus.c: (gst_bus_source_dispatch):
2989 Don't print a warning if the queue is empty when we try to pop
2990 here. That could happen if another thread or callback set the
2991 bus to flushing between the source's check/prepare and the
2992 dispatch being called (#531538).
2994 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2996 * plugins/elements/gstmultiqueue.c:
2997 Small docs fix.
2999 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
3001 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3002 Add unit test for deserializing uint64s and check some really large
3003 numbers in the int64 test.
3005 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3007 * tools/gst-inspect.c: (n_print), (print_hierarchy),
3008 (print_interfaces), (print_element_properties_info),
3009 (print_signal_info):
3010 Use "%s" as format string instead of printing strings directly.
3012 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
3014 * gst/gstclock.c: (gst_clock_set_calibration):
3015 Make some checks actually useful.
3017 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3018 Remove some unused code. Unsigned integers tend to be >= 0.
3020 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3022 * gst/gstminiobject.c: (gst_value_get_mini_object):
3023 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
3024 function was not in the unscheduled 0.10.19 release.
3026 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3028 * gst/gstregistry.c: (gst_registry_scan_path_level):
3029 Only print one log message per non-plugin file.
3031 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3033 * gst/gstinfo.c: (gst_debug_log_default):
3034 Fix alignment of debug log columns on 64-bit.
3036 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
3038 * docs/libs/Makefile.am:
3039 * docs/libs/gstreamer-libs-sections.txt:
3040 Ignore private controller headers for docs.
3042 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
3044 * libs/gst/controller/gstcontrollerprivate.h:
3045 * libs/gst/controller/gsthelper.c:
3046 * libs/gst/controller/gstinterpolation.c:
3047 * libs/gst/controller/gstinterpolationcontrolsource.c:
3048 (gst_interpolation_control_source_set_interpolation_mode):
3049 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
3050 * libs/gst/controller/lib.c:
3051 Move some private declarations into private headers.
3053 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
3055 * gst/gstdebugutils.c: (debug_dump_element_pad):
3056 Remove some code that is unused after Stefan's refactoring and uses
3057 uninitialized variables now, resulting in a compiler warning.
3059 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3061 * gst/gstregistry.c: (gst_registry_scan_path_level):
3062 Run g_str_has_suffix() only on the file name, not the
3063 entire file path.
3065 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3067 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3068 Since we're not called only from the chain function any longer,
3069 we can't assume that there's always data in the queue, so move
3070 the is_full check to the beginning of the loop (otherwise we'd
3071 hit the assert when changing the limit properties while the
3072 queue is empty or not running yet).
3073 Also, only set a discont if items were actually removed from
3074 the queue.
3076 * tests/check/elements/queue.c: (test_leaky_downstream):
3077 Test case for the above.
3079 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3081 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3083 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3084 (gst_queue_chain), (queue_capacity_change),
3085 (gst_queue_set_property):
3086 When changing thr max capacity of a leaky queue, immediatly drop buffers
3087 instead of waiting for a push on the sinkpad. Fixes #530637.
3089 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3091 * gst/gstdebugutils.c:
3092 Refactor code and fix handling of ghostpads and their proxypads.
3094 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3096 * docs/gst/gstreamer-sections.txt:
3097 * gst/gstevent.c: (gst_event_has_name):
3098 * gst/gstevent.h:
3099 * tests/check/gst/gstevent.c: (GST_START_TEST):
3100 Add method to conveniently check the name of a custom event with
3101 gst_event_has_name().
3102 Reformat the event docs so that related methods are put together instead
3103 of the default alphabetical sort.
3104 Update unit test with new method.
3105 API: GstEvent::gst_event_has_name()
3107 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3109 * libs/gst/check/Makefile.am:
3110 Don't add an explicit link to libgstreamer-0.10.la; it's already
3111 included in GST_OBJ_LIBS.
3113 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3115 * gst/gst.c:
3116 Register GstClock type from a type-safe context. Fixes bug #530317.
3118 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3120 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3121 * tools/gst-run.c:
3122 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3124 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3126 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3127 (gst_bin_dispose):
3128 Use the GLib stuff to create a private structure.
3129 Add some locking around some dispose methods to make them a little
3130 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3132 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3134 * libs/gst/base/gstbasesink.h:
3135 * libs/gst/base/gstbasesrc.h:
3136 * libs/gst/base/gstbasetransform.h:
3137 * libs/gst/base/gstcollectpads.h:
3138 Fix doc typos and unify caps a bit.
3140 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3142 * tools/gst-launch.1.in:
3143 Forgot to also add the envvar docs here.
3145 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3147 * gst/gst.c: (init_post), (gst_deinit):
3148 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3149 (test_concurrent_create), (gst_pipeline_suite):
3150 Ref some more classes in gst_init() to work around thread-safety
3151 issues in pre-2.16 GLibs, and add basic unit test.
3153 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3155 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3156 (gst_base_sink_send_event):
3157 Rearrange the latency query code. We always want to do the upstream
3158 query, even if we are not live so that the upstream elements can get the
3159 latency results too. If we fail doing the query and we are live, we
3160 return TRUE afterwards.
3162 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3164 patch by: Jason Zhao <e3423c@motorola.com>
3166 * docs/gst/running.xml:
3167 * gst/gst.c:
3168 Enable/disable scan_and_update_registry() based on commandline switch
3169 or environment variable. Fixes #520468.
3171 * ChangeLog:
3172 Fix typo in my previous commit.
3174 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3176 * gst/gstregistrybinary.c:
3177 Add a warning if we hit unhandled factories when saving.
3178 More debug logging detail, but move to LOG category.
3180 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3182 * gst/gstregistry.c:
3183 Tell the *truth* when improving the documentation.
3185 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3187 * gst/gstelementfactory.c: (gst_element_factory_make):
3188 Unref the factory after it was used the last time, not before.
3190 * gst/gstindexfactory.c: (gst_index_factory_make):
3191 Improve debugging a bit and don't leak a ref to the index factory with
3192 each call.
3194 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3196 * gst/gstregistry.c:
3197 Improve the documentation.
3199 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3201 * gst/gstsegment.c:
3202 The glib macro seems to be borked. Use g_slice_copy directly and cast
3203 in the hope that this fixes the warning on 64bit.
3205 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3207 * gst/gstsegment.c:
3208 Document the new function. Use g_slice_dup() (no need for
3209 gst_segment_init()).
3211 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3213 * docs/gst/gstreamer-sections.txt:
3214 Move GParamSepc macros to standart section.
3216 * gst/gstbin.c:
3217 Dn't document _get_type - its in private section in docs anyway and
3218 this doc-blob was incomplete.
3220 * gst/gstclock.h:
3221 Fix wrong symbol names in docs.
3223 * gst/gstmacros.h:
3224 Add once doc sentence.
3226 * tests/check/gst/.cvsignore:
3227 Ignore more.
3229 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3231 * docs/gst/Makefile.am:
3232 And remove those libs here.
3234 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3236 * docs/libs/Makefile.am:
3237 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3239 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3241 Patch by: Olivier Crete <tester at tester dot ca>
3243 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3244 Add the min-threshold to the min latency if possible. Fixes #529148.
3246 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3248 * docs/gst/gstreamer.types.in:
3249 Stupid editor, I removed that line as it should go in yet.
3251 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3253 * docs/gst/gstreamer.types.in:
3254 * docs/libs/gstreamer-libs.types:
3255 Remove library types fro core docs and have them in libs docs.
3256 Reformat and cleanup. Add comment for miniobject types.
3258 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3260 * gst/gsturi.c: (gst_uri_get_protocol):
3261 Fix leak: g_strdown operates on the string in place, while
3262 g_ascii_strdown() returns a newly-allocated string.
3264 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3266 * tools/gst-inspect.c: (print_uri_handler_info),
3267 (print_element_info):
3268 Print the URI protocols and the URI type supported by the element.
3270 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3272 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3273 Use g_value_take_string() instead of the deprecated
3274 g_value_set_string_take_ownership().
3276 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3278 * gst/gstregistrybinary.c: (_gst_crc32):
3279 Return the old CRC instead of 0 if we give a NULL buffer
3280 or a buffer with a length of 0.
3282 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3284 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3285 (gst_uri_get_protocol), (gst_uri_has_protocol),
3286 (gst_uri_construct), (gst_uri_handler_set_uri):
3287 A valid URI scheme can also include '+', '-' and '.' additional
3288 to alphanumeric characters as per RFC 3986 Section 3.1.
3290 Handle URI schemes case insensitive in all places and convert
3291 to lower-case when constructing an URI or setting an URI with
3292 the GstURIHandler interface. Fixes bug #528868.
3293 All elements can still assume (as before) that they will
3294 get passed URIs with a lower-case URI scheme by the GstURIHandler
3295 interface.
3297 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3299 * gst/gstcaps.c: (gst_static_caps_get):
3300 * gst/gstclock.c: (gst_clock_entry_new):
3301 Don't use g_atomic_set_int where it's not needed.
3303 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3305 * gst/gstvalue.c: (gst_value_deserialize_caps):
3306 * gst/parse/grammar.y:
3307 Fix 2 caps leaks.
3309 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3311 * gst/gstutils.c: (gst_atomic_int_set):
3312 Use g_atomic_int_set() here too instead of assignment +
3313 g_atomic_int_get().
3315 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3317 * gst/gstutils.c:
3318 * gst/gstutils.h:
3319 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3320 now that we depend on new enough GLib.
3322 * gst/gstcaps.c: (gst_static_caps_get):
3323 * gst/gstclock.c: (gst_clock_entry_new):
3324 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3325 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3326 (gst_debug_category_set_threshold):
3327 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3328 (gst_base_sink_set_qos_enabled):
3329 * libs/gst/net/gstnettimeprovider.c:
3330 (gst_net_time_provider_set_property):
3331 Use g_atomic_int_set() instead of gst_atomic_int_set().
3333 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3335 * gst/gstquery.c:
3336 Also use G_GINT64_CONSTANT for the queries.
3338 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3340 * gst/gstmessage.c:
3341 Use G_GINT64_CONSTANT in varargs function.
3343 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3345 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3346 Initialize the registry magic with zeroes.
3348 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3350 * gst/gstregistrybinary.c: (_gst_crc32),
3351 (gst_registry_binary_write),
3352 (gst_registry_binary_initialize_magic),
3353 (gst_registry_binary_write_cache),
3354 (gst_registry_binary_check_magic),
3355 (gst_registry_binary_read_cache):
3356 * gst/gstregistrybinary.h:
3357 Add crc32 checksum to the binary registry file and check this before
3358 accepting a registry file.
3360 Also free the data list when writing to the registry file fails.
3362 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3364 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3365 (gst_registry_binary_load_feature),
3366 (gst_registry_binary_load_plugin):
3367 If an element supports the Uri interface, returns a valid pointer
3368 to the supported URI protocols but this pointer contains nothing
3369 don't try to save that as it will corrupt the registry.
3371 Don't unref the plugin if we added it to the registry already but
3372 fail to load a feature as gst_registry_add_plugin() takes ownership
3373 of the plugin.
3375 Improve debugging a bit.
3377 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3379 * gst/gsttaglist.h:
3380 Clarify some tag item docs after discussion on irc.
3382 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3384 * docs/gst/gstreamer-docs.sgml:
3385 Remove commented out plugins (they have their own docs). Update
3386 comments.
3388 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3390 * docs/gst/gstreamer-docs.sgml:
3391 * docs/gst/gstreamer-sections.txt:
3392 * gst/gstparamspecs.c:
3393 * gst/gstparamspecs.h:
3394 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3395 docs to own section.
3397 * gst/gstvalue.c:
3398 This now only documents GValue.
3400 * docs/libs/gstreamer-libs-sections.txt:
3401 * libs/gst/controller/gstcontroller.h:
3402 Remove GST_PARAM_CONTROLLABLE.
3404 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3406 * docs/README:
3407 Correct file path. Tell about how to use -overrides.txt.
3408 * docs/design/draft-tagreading.txt:
3409 Small design update.
3411 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3413 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3414 (gst_registry_binary_load_plugin):
3415 Fix a typo in a debug message and revert change from yesterday as
3416 gst_registry_add_plugin() will only fail if something is really wrong
3417 already and we can't survive it anyway.
3419 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3421 * gst/gst.c: (init_post), (gst_deinit):
3422 Pre-register GstGError GType from a thread-safe context
3423 (fixes #527967); unref enum type classes in deinit.
3425 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3427 Patch by: Rene Stadler <mail at renestadler de>
3429 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3430 Merging an empty list with another list in KEEP_ALL mode should
3431 yield an empty list as result and not the second list (#512578).
3433 * tests/check/gst/gsttagsetter.c:
3434 Add unit test for tag merge modes and the aforementioned bug.
3436 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3438 Patch by: Rene Stadler <mail at renestadler de>
3440 * gst/gsttaglist.h:
3441 Fix description to match the order in the table (#512577).
3443 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3445 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3447 * libs/gst/net/gstnettimepacket.h:
3448 * docs/libs/gstreamer-libs-sections.txt:
3449 Define socklen_t as int if it's not defined yet. Fixes compilation
3450 with MSVC6 and other versions where socklen_t is not defined in
3451 the windows headers (#518022).
3453 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3455 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3456 If gst_registry_add_plugin() fails our reference to the plugin is
3457 invalid so don't try to use it anymore and instead error out.
3459 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3461 * tools/gst-xmlinspect.c: (print_element_info), (main):
3462 De-cruft a bit. If no argument is specified, print all elements in
3463 XML syntax rather than a freestyle list of elements like gst-inspect.
3464 Also, don't print XML header chunk unless we actually have something
3465 to print (ie. don't print it before an error message); print error
3466 message to stderr not stdout. Remove support for printing plugin
3467 info (it would just output something freestyle along the lines of
3468 gst-inspect so far), which fixes #514507. Also add license header.
3470 2008-04-11 Julien Moutte <julien@fluendo.com>
3472 Mac OS X love...
3473 * configure.ac: Merge platform specific defines, introduce a new
3474 define on OS X to remember that forking when updating registry is
3475 unsafe.
3476 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3477 module.
3478 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3479 is defined.
3480 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3481 condition that leads to absolutely no plugins being registered on
3482 OS X.
3484 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3486 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3488 * gst/gstutils.c: (gst_pad_add_data_probe),
3489 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3490 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3491 (gst_pad_add_buffer_probe_full):
3492 * gst/gstutils.h:
3493 * docs/gst/gstreamer-sections.txt:
3494 * win32/common/libgstreamer.def:
3495 Add gst_pad_add_*_probe_full() functions with a notify callback that
3496 lets the caller free the data it passes to the probe functions. This
3497 is useful for bindings such as gst-python or gstreamermm (#526814).
3498 API: gst_pad_add_data_probe_full
3499 API: gst_pad_add_buffer_probe_full
3500 API: gst_pad_add_event_probe_full
3502 * tests/check/gst/gstutils.c:
3503 Add minimal unit test to make sure freeing the data actually works
3504 as expected.
3506 * tests/benchmarks/.cvsignore:
3507 Random cvsignore addendum.
3509 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3511 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3512 (GST_DEBUG_BIN_TO_DOT_FILE):
3513 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3514 to it in the docs (since these are macros the types of the arguments
3515 won't be shown in the docs otherwise).
3517 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3519 * gst/gstpad.c:
3520 Do not abort on out of memory for pad_alloc_buffer.
3522 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3524 * libs/gst/check/gstcheck.c:
3525 Remove blank line between symbol name ad parameters to fix gtkdoc
3526 warning.
3528 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3530 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3532 * docs/gst/gstreamer-sections.txt:
3533 * gst/gstsegment.c:
3534 * gst/gstsegment.h:
3535 * win32/common/libgstreamer.def:
3536 Expose gst_segment_copy() to make things easier for the c++ bindings.
3537 Fixes #518932.
3538 API: gst_segment_copy()
3540 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3542 * gst/gst.c: (gst_init_get_option_group), (init_post):
3543 Fix const position; ref GType classes for enum types to work
3544 around thread-safety issues in GLib versions < 2.16.
3546 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3548 * docs/design/part-buffering.txt:
3549 Fix some typos and set the estimated total for push mode to -1.
3551 * gst/gstquery.c: (gst_query_new_buffering):
3552 Set buffering-left to 0 as we're not buffering by default.
3554 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3555 Implement BUFFERING query.
3557 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3559 Based on patch by: Milosz Derezynski <internalerror gmail com>
3561 * gst/gsterror.c: (_gst_stream_errors_init):
3562 * gst/gsterror.h:
3563 Add two new error codes for encrypted content. Fixes #524659.
3564 API: GST_STREAM_ERROR_DECRYPT
3565 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3567 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3569 * gst/gstquery.h:
3570 Fix typo.
3572 * win32/common/libgstreamer.def:
3573 Add new functions.
3575 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3577 * plugins/elements/gstidentity.c: (gst_identity_event),
3578 (gst_identity_start):
3579 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3580 event after processing some data. Fixes bug #526042.
3582 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3584 * docs/gst/gstreamer-sections.txt:
3585 * gst/gstquery.c: (gst_query_parse_latency),
3586 (gst_query_set_buffering_percent),
3587 (gst_query_parse_buffering_percent),
3588 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3589 * gst/gstquery.h:
3590 Rename _avail -> _range
3591 API: gst_query_set_buffering_range
3592 API: gst_query_parse_buffering_range
3594 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3596 * docs/design/part-buffering.txt:
3597 * gst/gstquark.c:
3598 * gst/gstquark.h:
3599 * gst/gstquery.c: (gst_query_parse_latency),
3600 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3601 (gst_query_parse_buffering_percent):
3602 * gst/gstquery.h:
3603 Add busy field and quark for the buffering query so that the app can
3604 only use the query to see if buffering is in progress.
3606 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3608 * docs/gst/gstreamer-sections.txt:
3609 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3610 (gst_message_parse_buffering_stats):
3611 * gst/gstmessage.h:
3612 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3613 (gst_query_parse_latency), (gst_query_new_buffering),
3614 (gst_query_set_buffering_percent),
3615 (gst_query_parse_buffering_percent),
3616 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3617 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3618 * gst/gstquery.h:
3619 Reorder the message docs and headers for clarity.
3620 Add aditional buffering stats API for messages.
3621 Add buffering query.
3622 Convert some leftover queries to use GstQuark.
3623 API: gst_message_set_buffering_stats
3624 API: gst_message_parse_buffering_stats
3625 API: GST_QUERY_BUFFERING
3626 API: GstBufferingMode
3627 API: gst_query_new_buffering
3628 API: gst_query_set_buffering_percent
3629 API: gst_query_parse_buffering_percent
3630 API: gst_query_set_buffering_stats
3631 API: gst_query_parse_buffering_stats
3633 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3635 * gst/gstmessage.c: (gst_message_new_error),
3636 (gst_message_new_warning), (gst_message_new_info),
3637 (gst_message_new_buffering), (gst_message_new_state_changed),
3638 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3639 (gst_message_new_new_clock), (gst_message_new_segment_start),
3640 (gst_message_new_segment_done), (gst_message_new_duration),
3641 (gst_message_new_async_start), (gst_message_parse_buffering),
3642 (gst_message_parse_state_changed),
3643 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3644 (gst_message_parse_new_clock), (gst_message_parse_error),
3645 (gst_message_parse_warning), (gst_message_parse_info),
3646 (gst_message_parse_segment_start),
3647 (gst_message_parse_segment_done), (gst_message_parse_duration),
3648 (gst_message_parse_async_start):
3649 Use GstQuark for messages.
3651 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3653 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3654 * gst/gstquark.h:
3655 Add some more quarks needed for messages and queries.
3657 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3659 * docs/design/part-buffering.txt:
3660 Remove the "none" buffering mode, STREAM is a good default.
3661 Move estimated-time to the avail query, that's when it will be needed.
3662 Other small typo fixes and updates.
3664 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3666 * gst/gstindex.c: (gst_index_resolver_get_type):
3667 Don't put descriptions into the nick field of a GEnumValue: it's not
3668 meant for that and some language bindings rely on the nick field to
3669 construct constants and the like. Fixes #526705.
3671 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3673 * NEWS:
3674 * RELEASE:
3675 * gstreamer.doap:
3676 Merge other changes from 0.10.19 release branch.
3678 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3680 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3682 * configure.ac:
3683 Actually build dlls when cross-compiling with mingw32.
3684 Fixes bug #526247.
3686 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3688 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3690 * gst/gstpoll.c:
3691 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3693 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3695 * docs/design/draft-latency.txt:
3696 Fix typo.
3698 * docs/design/part-buffering.txt:
3699 Update design docs with more buffering ideas.
3701 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3703 * configure.ac:
3704 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3706 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3708 * configure.ac:
3709 Revert part that belongs to the preset patch.
3711 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3713 * configure.ac:
3714 Add qoutes to the define. Fixes # 525961.
3716 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3718 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3719 (gst_file_index_load), (gst_file_index_add_id),
3720 (gst_file_index_get_assoc_entry):
3721 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3722 (gst_mem_index_free_id), (gst_mem_index_add_id),
3723 (gst_mem_index_index_format):
3724 Use GSlice when possible.
3726 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3728 * libs/gst/controller/gstinterpolationcontrolsource.c:
3729 (gst_control_point_free),
3730 (gst_interpolation_control_source_set_internal):
3731 Use GSlice for allocating the control points.
3733 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3735 * plugins/elements/gsttypefindelement.c:
3736 (gst_type_find_element_class_init),
3737 (gst_type_find_element_set_property),
3738 (gst_type_find_element_get_property),
3739 (gst_type_find_element_activate):
3740 * plugins/elements/gsttypefindelement.h:
3741 Cleanup properties.
3742 Fix pad leak when peer query fails.
3743 We can still typefind when the peer returns -1.
3744 Add property to force caps and bypass typefinding. This will be used in
3745 uridecodebin.
3746 API::force-caps
3748 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3750 * configure.ac:
3751 Require GLib 2.12.
3753 * gst/glib-compat-private.h:
3754 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3755 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3756 Unconditionally use GSlice for allocation.
3758 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3759 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3760 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3761 (gst_structure_free):
3762 Use GSlice for allocation.
3764 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3766 * gst/parse/Makefile.am:
3767 * gst/parse/grammar.tab.pre.c:
3768 * gst/parse/grammar.tab.pre.h:
3769 * gst/parse/lex._gst_parse_yy.pre.c:
3770 Require a new enough flex and bison and remove the parser hacks to use
3771 a pre-regenerated version.
3773 2008-04-01 Julien Moutte <julien@fluendo.com>
3775 patch by: Jason Zhao <E3423C@motorola.com>
3777 * configure.ac: Add a configure switch to disable option parsing
3778 in gst_init.
3779 Fixes #522882.
3781 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3783 * configure.ac:
3784 * gst/gstregistry.c:
3785 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3786 and handle this case.
3788 * gst/gst.c:
3789 Add a comment here describing, why we stat each plugin and not try to
3790 be smart.
3792 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3794 * libs/gst/base/gstbasetransform.c:
3795 (gst_base_transform_prepare_output_buffer):
3796 Also unset the GAP flag on buffers if we're working inplace but
3797 the element is not GAP-aware.
3799 Mark a comment as FIXME 0.11.
3801 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3803 * gst/gst.c:
3804 Fix type in log message and add one to ease seeing how long registry
3805 cache verification takes.
3807 * gst/gstregistry.c:
3808 Only test plugin filenames against G_MODULE_SUFFIX.
3810 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3812 * gst/gstdebugutils.c:
3813 Improve handling ghost/proxy pads.
3815 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3817 * docs/gst/gstreamer-sections.txt:
3818 * gst/gstpad.c:
3819 * gst/gstpad.h:
3820 Expose macro to docs and fix link to it.
3822 2008-03-27 Michael Smith <msmith@fluendo.com>
3824 * libs/gst/dataprotocol/dataprotocol.c:
3825 (gst_dp_packet_from_event_1_0):
3826 When calculating GDP body CRC, use the correct pointer.
3827 Fixes part of #522401.
3829 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3831 Patch by: Mark Nauwelaerts <manauw at skynet be>
3833 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3834 (gst_identity_init), (gst_identity_prepare_output_buffer):
3835 Identity is not always a passthrough element, it can modify the buffer
3836 timestamps when it has a datarate and operates in single-segment mode.
3837 We therefore make it an in_place filter with a custom buffer prepare
3838 function that conditionally makes the input buffer metadata writable
3839 when needed. Fixes #523985.
3841 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3843 Patch by: Mark Nauwelaerts <manauw at skynet be>
3845 * gst/gstclock.h:
3846 * libs/gst/base/gstbasesrc.h:
3847 * libs/gst/base/gstbasetransform.c:
3848 * libs/gst/check/gstcheck.c:
3849 Small documentation fixes. Fixes #523978.
3851 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3853 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3854 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3855 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3857 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3859 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3860 (single_queue_underrun_cb):
3861 When trying to make room in the queue, bump the max allowed buffers
3862 bigger than the current amount of buffers in the queue. this fixes some
3863 nasty deadlocks in multiqueue when dynamically changing the limits of
3864 the queue.
3866 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3868 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3870 * gst/gstcaps.c: (gst_caps_set_simple),
3871 (gst_caps_set_simple_valist), (gst_caps_intersect):
3872 * gst/gstcaps.h:
3873 Constify the field gchar * params in set_simple and friends.
3874 Fixes #522326.
3876 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3878 * gst/gstvalue.c: (gst_value_transform_object_string):
3879 Transform a GstObject to a more meaningfull string that includes the
3880 object type in addition to its name.
3882 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3884 * ChangeLog:
3885 ChangeLog surgery to add bugnumber to commit.
3887 2008-03-23 Rene Stadler <mail@renestadler.de>
3889 * libs/gst/base/gstbasetransform.c:
3890 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3892 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3894 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3895 Rename constant everywhere and don't forget one occurence.
3897 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3899 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3900 Align memory to the pointer size even if the architecture allows
3901 unaligned memory access. Unaligned memory access usually comes with
3902 performance penality.
3904 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3906 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3907 (gst_registry_binary_check_magic),
3908 (gst_registry_binary_load_pad_template),
3909 (gst_registry_binary_load_feature),
3910 (gst_registry_binary_load_plugin):
3911 Align memory to the pointer size instead of always 32 bit. Fixes
3912 unaligned memory accesses on ia64 and friends.
3914 * gst/gstregistrybinary.h:
3915 Bump binary registry format version for this as it changes the
3916 format on those architectures that don't have unaligned access
3917 and 64 bit pointers.
3919 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3921 * docs/pwg/advanced-dparams.xml:
3922 * docs/pwg/building-props.xml:
3923 * docs/pwg/other-source.xml:
3924 * gst/glib-compat.h:
3925 * gst/gstbin.c: (gst_bin_class_init):
3926 * gst/gstclock.c: (gst_clock_class_init):
3927 * gst/gstindex.c: (gst_index_class_init):
3928 * gst/gstobject.c: (gst_object_class_init):
3929 * gst/gstpad.c: (gst_pad_class_init):
3930 * gst/gstpipeline.c: (gst_pipeline_class_init):
3931 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3932 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3933 * libs/gst/base/gstbasetransform.c:
3934 (gst_base_transform_class_init):
3935 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3936 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3937 (_gst_check_fault_handler_sighandler),
3938 (_gst_check_fault_handler_setup), (gst_check_init):
3939 * libs/gst/controller/gstcontroller.c:
3940 (_gst_controller_class_init):
3941 * libs/gst/controller/gstlfocontrolsource.c:
3942 (gst_lfo_control_source_class_init):
3943 * libs/gst/net/gstnetclientclock.c:
3944 (gst_net_client_clock_class_init):
3945 * libs/gst/net/gstnettimeprovider.c:
3946 (gst_net_time_provider_class_init):
3947 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3948 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3949 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3950 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3951 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3952 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3953 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3954 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3955 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3956 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3957 * plugins/elements/gsttee.c: (gst_tee_class_init):
3958 * plugins/elements/gsttypefindelement.c:
3959 (gst_type_find_element_class_init):
3960 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3961 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3962 use it everywhere for GParamSpecs that use static strings (i.e. all).
3963 This gives us less memory usage, fewer allocations and thus less
3964 memory defragmentation. Fixes bug #523806.
3966 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3968 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3969 (gst_param_spec_mini_object):
3970 * gst/gstminiobject.h:
3971 * win32/common/libgstreamer.def:
3972 * docs/gst/gstreamer-sections.txt:
3973 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3974 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3975 GstParamSpecMiniObject into a public header for this.
3977 This make GstMiniObject a bit more consistent with GObject and makes
3978 it possible to extend the param specs.
3980 gst_value_dup_mini_object is mainly useful for set_property methods.
3982 Fixes bug #523798.
3984 * tools/gst-inspect.c: (print_element_properties_info):
3985 Print something useful for GstMiniObject properties and not just
3986 "unknown type".
3988 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3990 * docs/gst/gstreamer-sections.txt:
3991 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3992 (gst_registry_binary_check_magic):
3993 * gst/gstregistrybinary.h:
3994 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3995 and add it to the (private part) of the docs to fix the build.
3997 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3999 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
4000 (gst_registry_binary_check_magic),
4001 (gst_registry_binary_read_cache):
4002 * gst/gstregistrybinary.h:
4003 Don't use GST_MAJORMINOR for the binary registry version. Instead
4004 hardcode a value that must be changed whenever the format changes
4005 in an incompatible way.
4006 Also don't GST_ERROR when there is a version mismatch, just
4007 regenerate the registry silently.
4009 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
4011 * configure.ac:
4012 Back to development - 0.10.18.1
4014 === release 0.10.18 ===
4016 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
4018 * configure.ac:
4019 releasing 0.10.18, "So far away"
4021 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
4023 * configure.ac:
4024 * win32/common/config.h:
4025 0.10.17.4 pre-release
4027 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
4029 Patch by: Ole André Vadla Ravnås
4030 <ole dot andre dot ravnas at tandberg dot com>
4032 * docs/gst/gstreamer-sections.txt:
4033 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
4034 (gst_poll_update_winsock_event_mask),
4035 (gst_poll_prepare_winsock_active_sets),
4036 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
4037 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
4038 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
4039 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4040 (gst_poll_check_ctrl_commands), (gst_poll_wait):
4041 * gst/gstpoll.h:
4042 * win32/common/libgstreamer.def:
4043 Add new function gst_poll_fd_ignored() for improved Windows
4044 compatibility.
4045 Various minor fixes and cleanups. See #520808.
4047 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
4049 * gst/gstindex.c: (gst_index_entry_free):
4050 * gst/gstindex.h:
4051 Don't free key strings which we don't own. Fixes crash in
4052 gst_index_entry_free() (#522741).
4054 * tests/check/Makefile.am:
4055 * tests/check/gst/.cvsignore:
4056 * tests/check/gst/gstindex.c: (test_index_entries),
4057 (gst_index_suite), (gst_index):
4058 Add unit test for the above.
4060 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4062 * win32/common/libgstreamer.def:
4063 Remove symbols that were removed recently. Fixes bug #521740.
4065 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4067 * configure.ac:
4068 * win32/common/config.h:
4069 0.10.17.3 pre-release
4071 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4073 Patch by: Ole André Vadla Ravnås
4074 <ole dot andre dot ravnas at tandberg dot com>
4076 * docs/gst/gstreamer-sections.txt:
4077 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4078 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4079 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4080 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4081 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4082 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4083 (gst_poll_fd_can_write), (gst_poll_wait),
4084 (gst_poll_set_controllable), (gst_poll_restart),
4085 (gst_poll_set_flushing):
4086 * gst/gstpoll.h:
4087 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4088 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4089 (gst_net_time_provider_new):
4090 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4091 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4092 * tests/benchmarks/gstpollstress.c: (main):
4093 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4094 Remove GstPollMode from the API, it does not make sense to let the
4095 application control this.
4096 Add support for Win32.
4097 Fix the testsuite. Fixes #520671.
4099 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4101 Patch by: Ole André Vadla Ravnås
4102 <ole dot andre dot ravnas at tandberg dot com>
4104 * gst/gstregistrybinary.c:
4105 Include io.h for write() and close() when building with MSVC. Fixes
4106 bug #520877.
4108 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4110 * configure.ac:
4111 * gst/gst_private.h:
4112 * gst/gstconfig.h.in:
4113 * gst/gstregistry.h:
4114 * gst/gstregistrybinary.c:
4115 * win32/common/gstconfig.h:
4116 Move registry backend API to private headers where we can. Add
4117 fixme-0.11 comments for the others. Add stubs for the xml backend when
4118 using the binary to ensure they functions exists (they should not be
4119 used though). Fixes #520756.
4121 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4123 * configure.ac:
4124 * win32/common/config.h:
4125 0.10.17.2 prelease
4127 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4129 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4130 (gst_registry_binary_read_cache):
4131 * gst/gstregistryxml.c: (gst_registry_save):
4132 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4133 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4134 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4135 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4136 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4137 Fixes #520152
4139 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4141 * gst/gstminiobject.c:
4142 Import gst_private.h before any other header that might include other
4143 glib headers. This fixes the build on windows using native compilers.
4145 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4147 * win32/common/gstconfig.h:
4148 Add here too, just for completeness.
4150 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4152 * configure.ac:
4153 * gst/gstconfig.h.in:
4154 * gst/gstregistry.h:
4155 Fix broken use of config.h-defined preprocessor directive in a public
4156 header file. Add a corresponding define to gstconfig.h, since we can't
4157 really remove those function declarations from the header file now
4158 (or can we? and why are they there in the first place?).
4160 2008-03-03 Andy Wingo <wingo@pobox.com>
4162 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4163 the new warning.
4165 * gst/gststructure.c (gst_structure_from_string): Warn if
4166 structure_from_string didn't consume the whole string, but the
4167 caller did not provide an end pointer.
4169 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4171 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4173 * gst/gstregistryxml.c: (read_string), (load_feature):
4174 Strings allocated by libxml2 should be freed with xmlFree(), not
4175 with g_free(). Fixes issues on windows in certain contexts (#519698).
4177 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4179 * gst/gstinterface.c: (gst_element_implements_interface):
4180 Don't crash if the element supports the interface queried, but does
4181 not implement GstImplementsInterface. Fixes #519584.
4183 * tests/check/Makefile.am:
4184 * tests/check/gst/.cvsignore:
4185 * tests/check/gst/gstinterface.c:
4186 Add unit test for the above.
4188 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4190 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4191 Small doc update.
4193 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4195 * gst/gstsegment.c: (gst_segment_set_seek),
4196 (gst_segment_to_stream_time):
4197 Improve some comment.
4198 Update variables where it makes more sense.
4200 2008-02-29 Rene Stadler <mail@renestadler.de>
4202 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4203 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4204 URIHandlers implemented using language bindings.
4206 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4208 * gst/gstelementfactory.h:
4209 * tests/check/elements/fakesink.c:
4210 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4211 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4212 * tests/check/elements/filesink.c: (setup_filesink):
4213 * tests/check/elements/filesrc.c: (setup_filesrc):
4214 * tests/check/elements/identity.c: (setup_identity):
4215 * tests/check/elements/tee.c:
4216 * tests/check/generic/sinks.c:
4217 * tests/check/generic/states.c: (setup), (teardown):
4218 * tests/check/gst/gst.c:
4219 * tests/check/gst/gstabi.c:
4220 * tests/check/gst/gstbin.c:
4221 * tests/check/gst/gstbus.c: (pull_messages):
4222 * tests/check/gst/gstcaps.c:
4223 * tests/check/gst/gstelement.c:
4224 * tests/check/gst/gstevent.c:
4225 * tests/check/gst/gstghostpad.c:
4226 * tests/check/gst/gstiterator.c:
4227 * tests/check/gst/gstmessage.c:
4228 * tests/check/gst/gstminiobject.c: (my_foo_init):
4229 * tests/check/gst/gstobject.c: (thread_name_object),
4230 (gst_object_suite):
4231 * tests/check/gst/gstpad.c:
4232 * tests/check/gst/gstplugin.c:
4233 * tests/check/gst/gstpoll.c:
4234 * tests/check/gst/gstquery.c:
4235 * tests/check/gst/gstsegment.c:
4236 * tests/check/gst/gststructure.c:
4237 * tests/check/gst/gstsystemclock.c:
4238 * tests/check/gst/gsttask.c:
4239 * tests/check/gst/gstutils.c:
4240 * tests/check/gst/gstvalue.c:
4241 * tests/check/gst/struct_hppa.h:
4242 * tests/check/gst/struct_i386.h:
4243 * tests/check/gst/struct_ppc32.h:
4244 * tests/check/gst/struct_ppc64.h:
4245 * tests/check/gst/struct_x86_64.h:
4246 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4247 * tests/check/libs/basesrc.c:
4248 * tests/check/libs/controller.c: (GST_START_TEST):
4249 * tests/check/libs/gdp.c:
4250 * tests/check/libs/gstnetclientclock.c:
4251 * tests/check/libs/gstnettimeprovider.c:
4252 * tests/check/libs/libsabi.c:
4253 * tests/check/libs/struct_hppa.h:
4254 * tests/check/libs/struct_i386.h:
4255 * tests/check/libs/struct_ppc32.h:
4256 * tests/check/libs/struct_ppc64.h:
4257 * tests/check/libs/struct_x86_64.h:
4258 * tests/check/pipelines/cleanup.c:
4259 * tests/check/pipelines/simple-launch-lines.c:
4260 * tests/check/pipelines/stress.c:
4261 And correct even more valid sparse warnings.
4263 * win32/common/libgstreamer.def:
4264 Add gst_poll_fd_init to the list of symbols.
4266 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4268 * gst/gstconfig.h.in:
4269 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4270 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4271 (gst_check_log_critical_func), (gst_check_drop_buffers),
4272 (gst_check_element_push_buffer_list):
4273 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4274 (gst_controller_get_type):
4275 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4276 (gst_object_get_controller), (gst_object_get_control_source):
4277 * libs/gst/controller/gstinterpolationcontrolsource.c:
4278 (gst_interpolation_control_source_new):
4279 * libs/gst/controller/gstlfocontrolsource.c:
4280 (gst_lfo_control_source_new):
4281 * libs/gst/dataprotocol/dataprotocol.c:
4282 (gst_dp_event_from_packet_0_2):
4283 * plugins/elements/gstfdsrc.c:
4284 * plugins/elements/gstmultiqueue.c:
4285 * plugins/elements/gsttee.c:
4286 * plugins/elements/gsttypefindelement.c:
4287 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4288 (gst_file_index_add_association):
4289 * plugins/indexers/gstmemindex.c:
4290 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4291 * tests/check/elements/queue.c: (setup_queue):
4292 * tests/check/gst/gstpipeline.c:
4293 * tests/check/libs/collectpads.c: (setup), (teardown),
4294 (gst_collect_pads_suite):
4295 * tests/examples/adapter/adapter_test.c:
4296 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4297 * tests/examples/xml/createxml.c:
4298 * tests/examples/xml/runxml.c:
4299 * tools/gst-inspect.c:
4300 * tools/gst-run.c:
4301 Correct all relevant warnings found by the sparse semantic code
4302 analyzer. This include marking several symbols static, using
4303 NULL instead of 0 for pointers, not using variable sized arrays
4304 on the stack, moving variable declarations to the beginning of
4305 a block and using "foo (void)" instead of "foo ()" for declarations.
4307 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4309 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4310 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4311 Don't reset GstPollFDs, this is not necessary at all.
4313 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4314 (delayed_restart), (delayed_control):
4315 Use GST_POLL_FD_INIT.
4317 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4319 * gst/gstpoll.c: (gst_poll_fd_init):
4320 * gst/gstpoll.h:
4321 Added Since tags.
4323 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4324 Use some more init macros.
4326 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4328 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4329 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4330 Use init macros and functions.
4332 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4334 * docs/gst/gstreamer-sections.txt:
4335 * gst/gstpoll.c: (gst_poll_fd_init):
4336 * gst/gstpoll.h:
4337 Add INIT macro and _init method for initializing the GstPollFD.
4339 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4341 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4342 (gst_fd_sink_update_fd):
4343 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4344 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4345 (delayed_restart), (delayed_control):
4346 Initialize some uninitialized variables as spotted by valgrind.
4348 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4350 * tests/benchmarks/Makefile.am:
4351 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4352 (main):
4353 Add poll stress test.
4355 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4357 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4359 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4360 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4361 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4362 * plugins/elements/gstfdsink.h:
4363 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4364 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4365 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4366 (gst_fd_src_uri_set_uri):
4367 * plugins/elements/gstfdsrc.h:
4368 Port to GstPoll. See #505417.
4370 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4372 * win32/common/libgstreamer.def:
4373 Add new gst_poll_ symbols to win32 defs.
4375 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4377 * docs/libs/gstreamer-libs-sections.txt:
4378 * libs/gst/net/gstnetclientclock.c:
4379 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4380 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4381 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4382 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4383 * libs/gst/net/gstnetclientclock.h:
4384 * libs/gst/net/gstnettimeprovider.c:
4385 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4386 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4387 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4388 (gst_net_time_provider_new):
4389 * libs/gst/net/gstnettimeprovider.h:
4390 Use a private stuct to not break ABI.
4392 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4394 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4396 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4397 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4398 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4399 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4400 * libs/gst/net/gstnetclientclock.h:
4401 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4402 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4403 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4404 (gst_net_time_provider_new):
4405 * libs/gst/net/gstnettimeprovider.h:
4406 Massive code removal and cleanups because of GstPoll.
4407 Fixes #505417.
4409 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4411 * configure.ac:
4412 Add checks for poll, ppoll and pselect.
4414 * docs/gst/gstreamer-docs.sgml:
4415 * docs/gst/gstreamer-sections.txt:
4416 Add docs for GstPoll.
4418 * gst/Makefile.am:
4419 * gst/gst.h:
4420 * gst/gstpoll.c: (find_index), (selectable_fds),
4421 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4422 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4423 (gst_poll_set_mode), (gst_poll_get_mode),
4424 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4425 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4426 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4427 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4428 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4429 (gst_poll_fd_can_write), (gst_poll_wait),
4430 (gst_poll_set_controllable), (gst_poll_restart),
4431 (gst_poll_set_flushing):
4432 * gst/gstpoll.h:
4433 Add generic poll abstraction. We ideally don't want to have this in core
4434 here but in glib intead...
4435 This code will be used in various network elements and ultimately for
4436 the nanosecond precision monotonic clock (that's why it's here in core).
4437 It'll allow us to implement cancelable socket operations for windows too.
4439 * tests/check/Makefile.am:
4440 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4441 (delayed_stop), (delayed_restart), (delayed_flush),
4442 (delayed_control), (gst_poll_suite):
4443 Add GstPoll unit test.
4445 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4447 * gst/gstfilter.c:
4448 Improve documentation of gst_filter_run(). Fixes #518627.
4450 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4452 * docs/README:
4453 Add a few lines about the new 'check-inspected-versions' target.
4455 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4457 * tests/check/gst/gstevent.c:
4458 Add qos to the event test. Rename tcase/tsuite; is not only about
4459 custom events.
4461 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4463 * plugins/elements/gstqueue.c:
4464 Ensure that buffer metadata is writeable, before modifying. Spotted by
4465 Mike.
4467 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4469 * plugins/elements/gstqueue.c:
4470 * plugins/elements/gstqueue.h:
4471 When dropping buffers in leaky modes, mark next buffers we sent as
4472 DISCONT.
4474 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4476 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4477 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4479 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4481 * plugins/elements/Makefile.am:
4482 * plugins/elements/gstbufferstore.c:
4483 * plugins/elements/gstbufferstore.h:
4484 * plugins/elements/gsttypefindelement.h:
4485 Remove GstBufferStore, no idea why we were still building it.
4486 It's not used anywhere and superseded by GstAdapter.
4488 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4489 (gst_file_src_create_mmap):
4490 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4491 Printf format fixes for 64-bit integers.
4493 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4495 * configure.ac:
4496 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4497 We're not in 0.8 times anymore.
4499 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4501 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4502 (gst_check_element_push_buffer_list):
4503 * libs/gst/check/gstcheck.h:
4504 Make the declaration in the header for
4505 gst_check_element_push_buffer_list match the implementation.
4507 Fix up spelling, grammar and wording of the documentation in a few
4508 places, and add the Since keyword to new API functions.
4509 Use g_list_delete_link instead of g_list_remove in
4510 gst_check_drop_buffers, since it's immeasurably more efficient.
4512 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4513 Use new gst_check_drop_buffers function where appropriate.
4515 * win32/common/libgstbase.def:
4516 * win32/common/libgstreamer.def:
4517 Add new symbols gst_collect_pads_take_buffer,
4518 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4519 exports
4521 Changelog surgery to add API keyword to new gst_check API.
4523 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4525 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4526 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4527 Update pre-generated flex files with flex 2.3.34.
4529 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4531 * gst/gstminiobject.c:
4532 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4533 friendly to subclasses and not require them to know all internals
4534 of their parent class.
4536 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4538 * docs/libs/gstreamer-libs-sections.txt:
4539 * libs/gst/base/gstcollectpads.c:
4540 * libs/gst/base/gstcollectpads.h:
4541 Add sub-buffer functions to collectpads. Fixes #516187.
4542 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4544 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4546 * gst/gstbuffer.c:
4547 Copy selected buffer-flags when creating subbuffers.
4548 Fixes #516395.
4550 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4552 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4553 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4554 * gst/gstmessage.c: (gst_message_class_init),
4555 (gst_message_finalize):
4556 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4557 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4558 (gst_mmap_buffer_finalize):
4559 Properly chain up finalize functions to the parent class.
4561 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4563 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4565 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4566 (gst_index_set_resolver_full):
4567 * gst/gstindex.h:
4568 Add new function with option to dispose of user_data in resolver.
4569 Actually call the dispose function when finalizing the object and not
4570 just when changing the resolver/filter.
4571 API: GstIndex::gst_index_set_resolver_full()
4573 * docs/gst/gstreamer-sections.txt:
4574 Add new function to docs. Fixes #515469.
4576 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4578 * gst/gstindex.c: (gst_index_finalize):
4579 Chain up finalize to the parent class. Fixes leaking the GstObject
4580 name and other things.
4582 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4584 * configure.ac:
4585 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4586 pre-releases or releases.
4588 * docs/faq/gst-uninstalled:
4589 Add gst-plugins-gl
4591 * docs/random/release:
4592 Change one of the steps - we only upload core & base to Gnome FTP
4594 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4596 * gst/gstconfig.h.in:
4597 Add 'id' for example.
4599 * gst/gstpad.c:
4600 * gst/gstutils.c:
4601 * plugins/elements/gstfdsink.c:
4602 Link to signals. Doc and comment fixes.
4604 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4606 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4607 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4608 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4609 unused and unimplemented; finally, it is plugin features, not
4610 plugins, that have ranks.
4612 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4614 * gst/gstpluginfeature.h:
4615 Clarify GstRank range docs.
4617 2008-02-05 David Schleef <ds@schleef.org>
4619 * gst/gst.c: Add a separate gst_deinitialized that prevents
4620 gst_init() from being called after gst_deinit(). Fixes #509559
4622 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4624 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4625 (gst_bin_class_init):
4626 * gst/gstelement.c: (gst_element_base_class_init),
4627 (gst_element_class_add_pad_template):
4628 * gst/gstpadtemplate.c: (gst_pad_template_init):
4629 * gst/gstpipeline.c: (gst_pipeline_get_type),
4630 (gst_pipeline_base_init), (gst_pipeline_class_init):
4631 * libs/gst/base/gstbasesink.c:
4632 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4633 (gst_base_src_base_init), (gst_base_src_class_init):
4634 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4635 (gst_capsfilter_class_init):
4636 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4637 (gst_fake_sink_class_init):
4638 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4639 (gst_fake_src_class_init):
4640 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4641 (gst_fd_sink_class_init):
4642 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4643 (gst_fd_src_class_init):
4644 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4645 (gst_file_sink_class_init):
4646 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4647 (gst_file_src_class_init):
4648 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4649 (gst_identity_class_init):
4650 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4651 (gst_multi_queue_class_init):
4652 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4653 (gst_queue_class_init):
4654 * plugins/elements/gsttee.c: (gst_tee_base_init),
4655 (gst_tee_class_init):
4656 * plugins/elements/gsttypefindelement.c:
4657 (gst_type_find_element_base_init),
4658 (gst_type_find_element_class_init):
4659 * tests/check/gst/gstelement.c: (gst_element_suite):
4660 Revert previous changes to the behaviour of GstPadTemplates, etc
4661 and the possiblity to call them in class_init as it breaks too
4662 many elements. Reopens bug #491501.
4664 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4665 several places.
4667 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4669 * tools/gst-launch.c:
4670 Dump one graph per pipeline state-change and state change name
4671 (if GST_DEBUG_DUMP_DOT_DIR is set).
4673 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4675 * gst/gstpad.c:
4676 * tests/check/gst/gstpad.c:
4677 Be sure that we have a new copy of the caps and not
4678 reffed caps from a template
4680 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4682 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4683 * gst/gstpipeline.c: (gst_pipeline_get_type),
4684 (gst_pipeline_class_init):
4685 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4686 (gst_base_sink_class_init):
4687 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4688 (gst_base_src_class_init):
4689 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4690 (gst_base_transform_class_init):
4691 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4692 (gst_collect_pads_class_init):
4693 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4694 * libs/gst/net/gstnettimeprovider.c:
4695 (gst_net_time_provider_base_init),
4696 (gst_net_time_provider_class_init):
4697 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4698 (gst_capsfilter_class_init):
4699 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4700 (gst_fake_sink_class_init):
4701 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4702 (gst_fake_src_class_init):
4703 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4704 (gst_fd_sink_class_init):
4705 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4706 (gst_fd_src_class_init):
4707 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4708 (gst_file_sink_class_init):
4709 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4710 (gst_file_src_class_init):
4711 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4712 (gst_identity_class_init):
4713 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4714 (gst_multi_queue_class_init):
4715 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4716 (gst_queue_class_init):
4717 * plugins/elements/gsttee.c: (gst_tee_base_init),
4718 (gst_tee_class_init):
4719 * plugins/elements/gsttypefindelement.c:
4720 (gst_type_find_element_base_init),
4721 (gst_type_find_element_class_init):
4722 Don't use base_init where not absolutely necessary. For example it's
4723 not necessary anymore for adding pad templates or setting element
4724 details.
4726 Leave empty base_init functions in several places as GST_BOILERPLATE
4727 still defines and uses them.
4729 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4731 * gst/gstelement.c: (gst_element_base_class_init),
4732 (gst_element_class_add_pad_template):
4733 * gst/gstpadtemplate.c:
4734 Make it possible (and recommended) to set element details and add
4735 pad templates in the class_init functions by copying the details/pad
4736 templates in GstElement's base_init.
4738 Also make it possible to replace existing pad templates by adding
4739 a new one with the same name. This was done in a hackish fashion
4740 in same elements before already.
4742 Don't reference pad templates that are added a second time. A
4743 new pad template has a refcount of one and is not floating anymore
4744 and to be owned by the element's class. Make this more explicit by
4745 mentioning it in the docs of gst_element_class_add_pad_template().
4747 These changes are backwards compatible. Fixes bug #491501.
4749 * tests/check/gst/gstelement.c:
4750 Add unit test for setting element details, adding pad templates and
4751 replacing them in a subclass.
4753 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4755 * tools/gst-inspect.c: (print_interfaces),
4756 (print_element_properties_info), (print_pad_info),
4757 (print_signal_info), (print_element_info):
4758 Fix a few memory leaks.
4760 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4762 * docs/libs/gstreamer-libs-sections.txt:
4763 * libs/gst/check/gstcheck.c:
4764 * libs/gst/check/gstcheck.h:
4765 Add more functions for unit testing: gst_check_drop_buffers,
4766 gst_check_caps_equal, gst_check_element_push_buffer_list,
4767 gst_check_element_push_buffer
4768 API: gst_check_drop_buffers
4769 API: gst_check_caps_equal
4770 API: gst_check_element_push_buffer_list
4771 API: gst_check_element_push_buffer
4773 2008-02-01 Julien Moutte <julien@fluendo.com>
4775 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4776 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4777 (gst_index_finalize), (gst_index_entry_free),
4778 (gst_index_add_association): Fix memory leaks.
4779 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4780 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4781 (gst_mem_index_free_format), (gst_mem_index_free_id),
4782 (gst_mem_index_finalize): Fix memory leaks.
4783 * win32/common/config.h: Updated to CVS HEAD.
4785 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4787 * docs/README:
4788 Some more details about how the plugin docs works.
4790 * docs/plugins/gstreamer-plugins-sections.txt:
4791 Whitespace cleanup.
4793 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4795 * gst/parse/grammar.tab.pre.c:
4796 * gst/parse/grammar.tab.pre.h:
4797 * gst/parse/grammar.y:
4798 * gst/parse/lex._gst_parse_yy.pre.c:
4799 Add delayed set-property. This allows to set properties on dynamicaly
4800 created objects (pads in videomxer). Fixes #509391.
4802 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4804 * gst/gstutils.c:
4805 Check if caps are not NULL (fix bug #510194)
4807 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4809 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4810 (gst_base_sink_get_position_paused):
4811 Add fixme regarding EOS in pull mode.
4812 Fix position reporting in PAUSED for negative rates.
4814 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4816 * gst/gstminiobject.c: (gst_mini_object_replace):
4817 When replacing a miniobject, do a quick equality check first so that we
4818 can avoid a ref/unref pair.
4820 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4822 * docs/design/part-synchronisation.txt:
4823 Update some docs.
4825 * docs/plugins/Makefile.am:
4826 * docs/plugins/gstreamer-plugins-docs.sgml:
4827 * docs/plugins/gstreamer-plugins-sections.txt:
4828 * plugins/elements/gstmultiqueue.c:
4829 Add multiqueue to the docs.
4831 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4833 * configure.ac:
4834 Back to CVS
4836 === release 0.10.17 ===
4838 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4840 * configure.ac:
4841 releasing 0.10.17, "Due Negligence"
4843 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4845 * gst/gstutils.c:
4846 Revert caps != NULL check temporarily for 0.10.17 release.
4848 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4850 * gst/gstutils.c:
4851 Check if caps are not NULL (fix bug #510194)
4853 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4855 * gst/gstutils.c:
4856 Fix compilation on systems that have posix timers but no
4857 monotonic clock.
4858 Fixes: #512715
4859 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4860 dot net>
4862 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4864 * tools/gst-inspect.c:
4865 Revert previous commit in preparation for an impromptu 0.10.17 release
4867 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4869 * tools/gst-inspect.c: (print_interfaces),
4870 (print_element_properties_info), (print_pad_info),
4871 (print_signal_info), (print_element_info):
4872 Fix a few memory leaks.
4874 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4876 * configure.ac:
4877 Back to CVS
4879 === release 0.10.16 ===
4881 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4883 * configure.ac:
4884 releasing 0.10.16, "Special Dispensation"
4886 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4888 * configure.ac:
4889 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4890 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4891 not fail when trying to crosscompile on OpenEmbedded (#511750).
4893 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4895 * docs/manuals.mak:
4896 Use $(MAKE) instead of make to fix the build if GNU make is
4897 called different. Fixes bug #510747.
4899 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4901 * gst/gstplugin.c: (_gst_plugin_initialize):
4902 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4903 again, which I broke two commits ago when changing the API
4904 of gst_plugin_register_static(): the g_list_foreach() in
4905 _gst_plugin_register_static still assumed the old function
4906 signature and would therefore fail (re-fixes #510187).
4908 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4909 (_gst_plugin_register_static), (gst_plugin_register_static):
4910 Revert the (technically correct) change to call g_thread_init() from
4911 the pre-main() constructor. This will break programs which call
4912 g_thread_init() without an if (!g_thread_supported()) guard in their
4913 main function. We could just blame it on GLib or the application, but
4914 it's probably best to just avoid this altogether and simply not use
4915 any GLib functions here and use plain old malloc() with a simple
4916 array to store the plugins to register later when gst_init() is
4917 finally called (re-fixes #510187).
4919 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4920 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4921 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4922 (GST_START_TEST), (gst_plugin_suite):
4923 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4924 works.
4926 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4928 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4929 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4930 This makes gtk-doc complain, but results in slightly better
4931 compiler errors. The old _gst_plugin_register_static() is
4932 still guarded, so there'll be a compiler warning about that
4933 instead. Fixes #510187 too.
4935 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4937 * gst/gst.c: (init_post):
4938 * gst/gstplugin.c: (_gst_plugin_register_static),
4939 (gst_plugin_register_static), (_gst_plugin_initialize):
4940 * gst/gstplugin.h: (GstPluginFilter):
4941 Change API of gst_plugin_register_static() to not take
4942 a GstPluginDesc, but rather just take all the arguments
4943 in a GstPluginDesc directly. This is more intuitive and
4944 avoids certain mistakes when porting code from
4945 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4946 Fixes #510187.
4948 * tests/check/gst/gstplugin.c:
4949 Fix up for changed API.
4951 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4953 * docs/faq/legal.xml:
4954 Update FAQ, Totem actually has an exception these days.
4956 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4958 * win32/common/libgstreamer.def:
4959 Add new API declarations
4961 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4963 * gst/gstminiobject.c:
4964 Spelling fixes for the API docs.
4966 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4968 * libs/gst/base/gstbasetransform.c:
4969 Fix long property description for QoS.
4971 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4973 * gst/gst.c:
4974 _gst_trace_on is already provided by gsttrace.h, no need to declare
4975 it ourselves.
4977 * docs/libs/gstreamer-libs-sections.txt:
4978 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4979 and remove strange tcase_add_test which is outputting a warning.
4981 * libs/gst/check/gstcheck.c:
4982 * libs/gst/check/gstcheck.h:
4983 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4984 and define them in gstcheck.c instead of having every .c file whcih
4985 includes gstcheck.h be defining its own copy and relying on symbol
4986 interposing to marry them all, which doesn't work on Solaris.
4988 * tests/check/elements/identity.c: (GST_START_TEST):
4989 Don't define 'buffers' locally, it comes from libgstcheck.
4991 * tests/check/generic/sinks.c: (send_buffer):
4992 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4994 * tests/check/gst/gststructure.c: (GST_START_TEST):
4995 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4996 * tests/check/gst/gstutils.c: (GST_START_TEST):
4997 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4998 Add a bunch of casts to make various constants fit the types
4999 they're being assigned to.
5001 2008-01-10 Stefan Kost <ensonic@users.sf.net>
5003 * gst/gstchildproxy.c:
5004 Improve docs and add some ideas for making this more general-purpose.
5006 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
5008 * gst/gst_private.h: (GST_CAT_TYPES):
5009 Add GST_CAT_TYPES, for consistency, and so that the other
5010 debug categories don't make fun of it. Spotted by Saur on IRC.
5012 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5014 * gst/parse/Makefile.am:
5015 Move types.h from EXTRA_DIST to noinst_HEADERS.
5017 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
5019 * autogen.sh:
5020 Add -Wno-portability to the automake parameters to stop warnings
5021 about GNU make extensions being used. We require GNU make in almost
5022 every Makefile anyway.
5024 * configure.ac:
5025 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
5026 at the same time is required for per target flags.
5028 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5030 * gst/gstmacros.h:
5031 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
5032 __GNUC__ is defined before using it.
5034 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5036 * docs/gst/gstreamer-sections.txt:
5037 * gst/gst.c: (init_post):
5038 * gst/gstplugin.c: (_gst_plugin_register_static),
5039 (gst_plugin_register_static), (_gst_plugin_initialize),
5040 (gst_plugin_register_func):
5041 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
5042 API: add gst_plugin_register_static() and deprecate
5043 GST_PLUGIN_DEFINE_STATIC, since it's not portable
5044 (#498924).
5045 Also, in _gst_plugin_register_static(), make sure to call
5046 g_thread_init() before calling GLib functions such as
5047 g_list_append() if we're not initialised yet, since that
5048 may lead to random crashes with older GSlice/GLib versions.
5050 * tests/check/gst/gstplugin.c:
5051 Adapt unit test to above changes.
5053 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5055 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
5056 * gst/gstcaps.c: (gst_caps_to_string):
5057 * gst/gststructure.c: (GST_ASCII_IS_STRING),
5058 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
5059 Yet another gratuitous GString micro-optimisation: add a (private)
5060 function that serialises a structure appending to an existing
5061 GString, so that when we serialise caps we don't need to alloc+free
5062 a throwaway GString for each structure (each of which also entailing
5063 multiple reallocs on the way); also use g_string_sized_new() in
5064 various places with an approximate string length to avoid reallocs
5065 within GString. See #500143.
5067 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5069 * gst/gststructure.c: (gst_structure_id_set_value):
5070 Always check UTF-8 conformance of structure strings and not only
5071 if the debugging system is enabled; reasoning: the behaviour of
5072 the actual code shouldn't really change depending on whether the
5073 debugging system is enabled or not (#508291).
5075 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5077 * Makefile.am:
5078 Remove old coverage target in favour of "make lcov".
5080 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5082 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5083 (gst_base_src_loop):
5084 The start segment for reverse playback goes from start to last_stop.
5086 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5088 Patch by: Peter Kjellerstedt <pkj axis com>
5090 * gst/gstclock.h:
5091 Cast the results from the timeval/spec_to_time macros to what the
5092 docs say it casts to, a GstClockTime. fixes #508175.
5094 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5096 * gst/gstbuffer.c:
5097 Update some comments.
5099 * tools/gst-inspect.c: (print_element_properties_info):
5100 Improve printing of flags.
5102 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5104 * libs/gst/base/gstbasetransform.c:
5105 (gst_base_transform_transform_size):
5106 Print element name with g_warning() if there's a problem
5107 with the unit size.
5109 2008-01-07 David Schleef <ds@schleef.org>
5111 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5113 * libs/gst/controller/gstcontroller.h:
5114 * libs/gst/controller/gstcontrolsource.h:
5115 * libs/gst/controller/gstinterpolationcontrolsource.h:
5116 * libs/gst/controller/gstlfocontrolsource.h:
5117 * libs/gst/dataprotocol/dataprotocol.h:
5118 Fix empty prototypes. Fixes bug #507957.
5120 2008-01-07 David Schleef <ds@schleef.org>
5122 * docs/faq/dependencies.xml: Fix typo.
5124 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5126 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5127 (gst_base_src_loop):
5128 Don't update the last_stop position in do_seek, that's the position we
5129 did a seek to.
5130 Read backwards when we have a negative rate.
5132 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5133 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5134 (filesrc_suite):
5135 Add check for reverse reading.
5137 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5139 Patch by: Alexis Ballier <aballier at gentoo org>
5141 * tests/check/gst/gstabi.c:
5142 * tests/check/gst/struct_ppc64.h:
5143 * tests/check/libs/libsabi.c:
5144 * tests/check/libs/struct_ppc64.h:
5145 Decide which header to include based on the userland ABI target
5146 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5147 for 64-bit userland (#503590). Might need something similar for
5148 x86 too.
5150 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5152 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5153 Log the reason why fopen fails in addition to the fact that it failed.
5155 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5157 * gst/parse/parse.l:
5158 Use "%option never-interactive" to prevent useless calls to isatty()
5159 on every input when parsing. Also use "%option noinput" to not define
5160 the static input/yyinput functions which we don't use anyway. This
5161 removes a compiler warning with gcc 4.3 and saves some bytes in the
5162 library.
5164 * gst/parse/lex._gst_parse_yy.pre.c:
5165 Regenerated for the above change.
5167 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5169 * gst/gstpad.c: (fixate_value):
5170 Don't crash when trying to fixate and empty list.
5171 Fixes #506643.
5173 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5175 * docs/faq/gst-uninstalled:
5176 Clarify the comments to make the usage of this script and what it
5177 does easier to understand.
5179 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5181 * tools/gst-plot-timeline.py:
5182 Add more options to gst-plot-timeline
5184 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5186 * docs/design/part-synchronisation.txt:
5187 Some more info on how the stream_time in GstBaseSink is done.
5189 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5191 * tests/check/generic/sinks.c: (gst_sinks_suite):
5192 Put back the tcase_set_timeout(), apparently it's needed after
5193 all; fix it up in a way that makes things work with valgrind too.
5195 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5197 * gst/gstdebugutils.c:
5198 Add warning when failed to open file for writing.
5200 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5202 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5204 * gst/gstvalue.c: (gst_value_is_fixed):
5205 Optimisation: bail out of the loop as early as possible (#500143).
5207 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5209 * gst/gstcaps.c: (gst_caps_to_string):
5210 * gst/gstinfo.c: (gst_debug_construct_term_color):
5211 * gst/gstparse.c: (gst_parse_launchv):
5212 * gst/gstutils.c: (gst_util_dump_mem):
5213 * gst/gstvalue.c: (gst_value_serialize_any_list),
5214 (gst_value_transform_any_list_string):
5215 Bunch of gratuitous nano-optimisations.
5217 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5219 * tests/check/generic/sinks.c: (async_done_func),
5220 (async_done_eos_func):
5221 Fix leak in unit test (bus sync handler must unref the message
5222 if it returns GST_BUS_DROP). Don't fiddle with the default test
5223 timeout, this is smaller than the current preconfigured value
5224 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5225 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5227 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5229 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5231 * configure.ac:
5232 Check for stdio_ext.h for the filesink changes.
5234 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5235 (gst_file_sink_class_init), (gst_file_sink_init),
5236 (gst_file_sink_dispose), (gst_file_sink_set_property),
5237 (gst_file_sink_get_property), (gst_file_sink_open_file),
5238 (gst_file_sink_close_file):
5239 * plugins/elements/gstfilesink.h:
5240 Add two properties to control the buffering mode and size.
5241 API: GstFileSink::buffer-mode
5242 API: GstFileSink::buffer-size
5243 Fixes #500150.
5245 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5247 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5248 Add some more docs to explain why a FIXME was wrongly added.
5250 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5252 * gst/gstobject.c:
5253 Fix typo in the gst_object_{ref,unref} documentation.
5255 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5257 * tests/check/libs/controller.c:
5258 * tests/check/libs/typefindhelper.c:
5259 * tests/check/pipelines/parse-launch.c:
5260 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5261 going to be deprecated (see #498924).
5263 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5265 * gst/gsttypefind.c: (gst_type_find_register):
5266 Make gst_type_find_register work for static typefind functions,
5267 ie. allow passing plugin == NULL (prerequisite for #498924).
5269 * gst/gstelementfactory.c: (gst_element_register):
5270 Small docs addition.
5272 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5274 * gst/gstpad.c: (gst_pad_dispose):
5275 Really unlink the peer pad instead of setting the peer pointer to NULL
5276 when we dispose the pad.
5277 This correctly calls the unlink functions and makes sure that the peer
5278 does not have a handle to invalid memory. See #504671.
5280 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5281 Add testsuite for above case.
5283 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5285 Patch by: Peter Kjellerstedt <pkj axis com>
5287 * libs/gst/check/gstcheck.h:
5288 Fix detection of the check version we're compiling against (would
5289 otherwise break if check goes v0.10.0); correctly report the
5290 name of the failed test again in case of failure, instead of
5291 just 'tf' (fixes #504499).
5293 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5295 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5296 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5297 (gst_base_src_loop), (gst_base_src_set_flushing),
5298 (gst_base_src_change_state):
5299 Allow sending EOS to the source to make it send out an EOS event from
5300 the streaming thread.
5301 Update docs and deprecate the old NULL/READY shutdown method.
5303 * tests/check/libs/basesrc.c: (GST_START_TEST),
5304 (gst_basesrc_suite):
5305 Add unit test for controlled shutdown.
5307 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5309 * docs/design/part-synchronisation.txt:
5310 Small updates.
5312 * gst/gstsegment.c: (gst_segment_set_seek),
5313 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5314 (gst_segment_to_running_time):
5315 The seek format can be different from the segment format when the start
5316 and stop values are not to be updated, when we only do a rate change for
5317 example.
5319 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5320 (gst_segment_suite):
5321 Add a testcase for the rate-only seeks, checking that the format is
5322 correctly ignored when start and stop are not updated.
5324 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5326 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5328 * win32/vs8/grammar.vcproj:
5329 * win32/vs8/libgstcontroller.vcproj:
5330 * win32/vs8/libgstreamer.vcproj:
5331 Fix compilation with VS8 and include some missing files.
5333 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5335 * gst/gsttaglist.c:
5336 Small docs addition: mention that the strings returned by
5337 gst_tag_list_get_string*() are in UTF-8 encoding.
5339 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5341 * Makefile.am:
5342 The check-exports stuff moved to common/win32.mak, so include that.
5344 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5346 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5347 (gst_base_src_perform_seek), (gst_base_src_get_range),
5348 (gst_base_src_set_playing), (gst_base_src_change_state):
5349 Make _wait_playing() not check any variables so that we can call this
5350 function from subclasses. Move the checks elsewhere similar to
5351 _wait_preroll() in basesink.
5352 Add some debugging.
5353 Only signal the LIVE cond when we are going back to PLAYING.
5355 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5357 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5358 Use g_remove() and g_rename(). Check result of g_rename(), and
5359 don't leak the open file descriptor if we error out when writing.
5361 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5362 Must check the return value of close() after writing out the new
5363 registry file. Sometimes write problems such as out-of-diskspace
5364 are only reported when the file is closed and not already during
5365 the write. This may have caused partial/broken registry files in
5366 some rare circumstances. Should fix #503675.
5368 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5370 * docs/gst/.cvsignore:
5371 * docs/libs/.cvsignore:
5372 * docs/plugins/.cvsignore:
5373 Ignore files generated by new common/* modifications
5375 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5377 * win32/common/libgstbase.def:
5378 Yes, you can also have a <TAB> if you want.
5380 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5382 * win32/common/libgstbase.def:
5383 Add new basetransform API to win export file.
5385 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5387 * tests/check/gst/gstbin.c:
5388 Adjust the test to the refcount change two days ago.
5390 2007-12-14 David Schleef <ds@schleef.org>
5392 * docs/faq/getting.xml: Fix typo.
5394 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5396 * docs/libs/gstreamer-libs-sections.txt:
5397 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5398 (gst_base_transform_prepare_output_buffer),
5399 (gst_base_transform_set_gap_aware):
5400 * libs/gst/base/gstbasetransform.h:
5401 API: Add gst_base_transform_set_gap_aware() to control whether
5402 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5403 get buffers with this flag at all. Fixes #503231.
5405 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5407 * libs/gst/base/gstbasesink.c:
5408 * libs/gst/base/gstbasesrc.c:
5409 * libs/gst/base/gstbasetransform.c:
5410 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5411 thread. Correct log message in gstbasesrc.c.
5413 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5415 * gst/gstutils.c: (element_find_unconnected_pad):
5416 Fix possible compiler warning (#503417).
5418 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5420 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5421 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5423 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5425 * tools/gst-inspect.c: (print_element_properties_info):
5426 Add support for GstFraction properties.
5428 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5430 * Makefile.am:
5431 Add check-exports target and run it as part of 'make check'
5432 (see #499140 and #493983).
5434 * gst/gst_private.h:
5435 * gst/gstelementfactory.h:
5436 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5437 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5438 (_priv_gst_in_valgrind):
5439 * gst/gstinfo.h: (GstLogFunction):
5440 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5441 (gst_type_find_register):
5442 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5443 (gst_type_find_factory_get_type):
5444 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5445 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5446 (gst_controller_new_valist), (gst_controller_new_list),
5447 (_gst_controller_dispose), (_gst_controller_class_init):
5448 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5449 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5450 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5451 (gst_object_get_controller), (gst_object_set_controller),
5452 (gst_object_suggest_next_sync), (gst_object_sync_values),
5453 (gst_object_set_control_source), (gst_object_get_control_source),
5454 (gst_object_get_value_arrays), (gst_object_get_value_array),
5455 (gst_object_get_control_rate), (gst_object_set_control_rate):
5456 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5457 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5458 Make some functions that should be static static; rename some
5459 private symbols so that they don't get exported; add some FIXME
5460 comments so we can move accidentally exported functions into
5461 our private section in 0.11.
5463 * win32/common/libgstreamer.def:
5464 Add gst_utils_get_timestamp().
5466 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5468 * gst/gstvalue.c:
5469 * gst/gstvalue.h:
5470 Add more missing "Since:" tags to docs.
5472 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5474 * gst/gstutils.c:
5475 Add mising "Since:" to docs.
5477 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5479 * gst/gstplugin.c:
5480 Include "glib-compat-private.h" to fix the build on system with
5481 glib < 2.10. Fixes #503131.
5483 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5485 * gst/gstutils.c:
5486 * gst/gstutils.h:
5487 Actually its not PURE as it gets the time from elsewhere.
5489 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5491 * docs/gst/gstreamer-sections.txt:
5492 * gst/gstclock.h:
5493 * gst/gstdebugutils.c:
5494 * gst/gstinfo.c:
5495 * gst/gstutils.c:
5496 * gst/gstutils.h:
5497 * libs/gst/base/gstbasesink.c:
5498 * tools/gst-launch.c:
5499 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5500 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5501 Thanks Tim for spotting.
5502 API: gst_util_get_timestamp
5504 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5506 * configure.ac:
5507 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5509 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5511 * gst/gststructure.c: (gst_structure_validate_name),
5512 (gst_structure_new_valist), (gst_structure_parse_value),
5513 (gst_structure_from_string):
5514 Don't crash in _from_string() if the structure name is not valid
5515 (fixes #501560). Allow structure names to start with a number
5516 again (this apparently broke the ubuntu codec installer).
5518 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5519 (GST_START_TEST):
5520 Add unit test for the crash; update unit tests for new behaviour.
5522 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5524 * gst/gstutils.c:
5525 Clarify gst_element_get_compatible_pad() documentation.
5526 Fixes #500919.
5528 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5530 * tests/check/Makefile.am:
5531 Don't forget to dist {gst,libs}/struct_hppa.h.
5533 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5535 * libs/gst/base/gstbasesink.c:
5536 Use new API to get elapsed time.
5538 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5540 * gst/gstdebugutils.c:
5541 * gst/gstinfo.c:
5542 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5544 * tools/gst-launch.c:
5545 Use new API to get elapsed time.
5547 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5549 * docs/gst/gstreamer-sections.txt:
5550 * gst/gstclock.h:
5551 * gst/gstdebugutils.c:
5552 * gst/gstinfo.c:
5553 Rename new API + ChangeLog surgery to remove old name from last entry..
5555 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5557 * docs/gst/gstreamer-sections.txt:
5558 * gst/gstclock.h:
5559 * gst/gstdebugutils.c:
5560 * gst/gstinfo.c:
5561 Now hide the different clock stuff behind a macro.
5563 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5565 * configure.ac:
5566 * gst/gstdebugutils.c:
5567 * gst/gstinfo.c:
5568 Apply the posix-timer check from #361155. Conditionally use the posix
5569 timer for logging. This gives better timestamp precission, less
5570 overhead and no ntp jitter.
5572 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5574 * gst/gstminiobject.c: (gst_mini_object_get_type),
5575 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5576 (gst_mini_object_finalize), (gst_mini_object_copy),
5577 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5578 (gst_mini_object_replace), (param_mini_object_validate),
5579 (gst_param_spec_mini_object_get_type):
5580 Some cleanup and checking against invalid function parameters.
5582 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5584 * docs/gst/gstreamer-sections.txt:
5585 * gst/gstclock.h:
5586 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5587 (gst_systemclock_suite):
5588 Start merging in the easy bits of #361155, the monotonic clock patch.
5589 This one adds a few handy macros with docs and a testsuite.
5591 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5593 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5594 Be a bit smarter when seeking, like, don't try to do a seek when it's
5595 not needed. This avoids errors when the file is not seekable.
5596 Fixes #499771.
5598 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5600 * docs/gst/gstreamer-docs.sgml:
5601 * docs/gst/gstreamer-sections.txt:
5602 * docs/gst/gstreamer.types.in:
5603 * gst/Makefile.am:
5604 * gst/gst.h:
5605 * gst/gstpreset.c:
5606 * gst/gstpreset.h:
5607 * plugins/elements/gstqueue.c:
5608 Due to popular request remove preset interface again. :-(.
5610 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5612 * tools/gst-inspect.c:
5613 Print 'default value' for enums and flags too.
5615 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5617 * docs/random/ensonic/profiling.txt:
5618 More ideas.
5620 * gst/gstbin.c:
5621 Fix typo and give better log output.
5623 * gst/gstdebugutils.c:
5624 * gst/gstdebugutils.h:
5625 More ideas, make graphs a bit smaller and fix param name in macro.
5627 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5629 * gst/gstpreset.c:
5630 Try harder to use the return value from fgets().
5632 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5634 * gst/gstpreset.c:
5635 For theses two fgets we handle the error below.
5637 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5639 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5640 Only send upstream events upstream. Fixes #498746.
5642 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5644 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5646 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5647 (gst_identity_init), (gst_identity_transform_ip),
5648 (gst_identity_set_property), (gst_identity_get_property):
5649 * plugins/elements/gstidentity.h:
5650 Add property to disable handoff signal emission. Fixes #498694.
5651 API: GstIdentity::signal-handoffs
5653 2007-11-21 Julien Moutte <julien@fluendo.com>
5655 * docs/faq/gst-uninstalled: Yet another missing library for the
5656 uninstalled script (fft)
5658 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5660 * docs/faq/developing.xml:
5661 Add a question about how to submit new translations.
5663 * docs/random/release:
5664 Update the contact email address for the Translation Project
5666 * plugins/elements/gstfdsrc.c:
5667 The parent_class for fdsrc is pushsrc, not GstElement.
5669 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5671 * gst/gstpreset.c:
5672 Plug a leak and fix saving.
5674 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5676 * docs/gst/gstreamer-sections.txt:
5677 Add new gst_preset__get_property_names() function to the docs
5678 to fix the build.
5680 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5682 * gst/gstpreset.c:
5683 * gst/gstpreset.h:
5684 Change _get_preset_names API to return a strv with copies. Add
5685 _get_property_names to allow implementations to filter and provide
5686 good default implementation.
5688 2007-11-20 Julien MOUTTE <julien@moutte.net>
5690 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5691 script (sdp).
5693 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5695 * gst/gstpreset.c:
5696 More cleanups, docs, and TODOs from comments that now slowly come in.
5698 2007-11-19 Julien MOUTTE <julien@moutte.net>
5700 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5701 search path.
5703 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5705 * gst/gstpreset.c:
5706 Fix bogus warning and make the property type specific code more
5707 similar.
5709 2007-11-19 Julien MOUTTE <julien@moutte.net>
5711 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5712 it build on OS X.
5714 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5716 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5717 (gst_bin_add_func), (gst_bin_remove_func),
5718 (gst_bin_change_state_func), (gst_bin_continue_func):
5719 Change email, cleanups add some more debug and comments.
5720 Also set bus and clock on new elements when the pipeline was in error.
5722 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5724 * gst/gstbin.c:
5725 * gst/gstdebugutils.c:
5726 Fix build with --disable-gst-debug. Fixes #497859.
5727 Spotted by Sameer Naik.
5729 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5731 * gst/gstevent.c:
5732 Little documentation improvment.
5734 * gst/gstpreset.c:
5735 More TODO cleanups. Remove c++ comments.
5737 * libs/gst/controller/gstcontroller.c:
5738 Add TODO and use quark from static string.
5740 * tests/check/gst/gstmessage.c:
5741 * tests/check/gst/gststructure.c:
5742 Use quark from static string.
5744 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5746 * gst/gstpreset.c:
5747 Add some comments and TODOs.
5749 * gst/gstpreset.h:
5750 Add padding for future changes.
5752 * plugins/elements/gstqueue.c:
5753 Implement the iface.
5755 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5757 * docs/gst/gstreamer-docs.sgml:
5758 * docs/gst/gstreamer-sections.txt:
5759 * docs/gst/gstreamer.types.in:
5760 * gst/Makefile.am:
5761 * gst/gst.h:
5762 * gst/gstpreset.c:
5763 * gst/gstpreset.h:
5764 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5766 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5768 * configure.ac:
5770 Back to CVS
5772 === release 0.10.15 ===
5774 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5776 * configure.ac:
5777 releasing 0.10.15, "October"
5779 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5781 * win32/vs6/libgstreamer.dsp:
5782 Convert line endings back to DOS.
5784 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5786 * docs/design/draft-tagreading.txt:
5787 * docs/random/ensonic/profiling.txt:
5788 Update fast tagreading draft and performance profiling ideas.
5790 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5792 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5793 Don't hold the object lock when unreffing a buffer because it could
5794 cause a deadlock when the finalize function wants to grab the object
5795 lock too. Fixes #495133.
5797 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5799 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5800 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5801 Also accumulate time correctly when doing reverse playback. Fixes
5802 #488201,
5803 When converting to running and stream time, use default values for
5804 start/stop/time/accum when comparing different formats. Fixes #494245.
5806 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5807 Do running/stream time in TIME format.
5809 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5810 (gst_segment_suite):
5811 2 new unit tests for segment accumulation.
5813 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5815 * gst/gst.c: (init_pre):
5816 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5817 (_gst_debug_bin_to_dot_file):
5818 Move getenv() back into gst_init, so everyone can live happily
5819 ever after. Make sure the symbol isn't exported though.
5821 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5823 Patch by: Sebastien Moutte <sebastien moutte net>
5825 * win32/common/gstenumtypes.c:
5826 * win32/common/gstenumtypes.h:
5827 Update enum types.
5829 * win32/vs6/libgstreamer.dsp:
5830 Update vs6 project files (#494343).
5832 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5834 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5835 (gst_base_src_perform_seek), (gst_base_src_default_event),
5836 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5837 (gst_base_src_activate_pull):
5838 Unify flushing code, remove some old unlock code that is no longer used.
5839 Take the streaming lock when seeking to avoid races. Fixes #492729.
5840 Added some more comments.
5842 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5844 * gst/gst.c: (_gst_disable_segtrap):
5845 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5846 we can use gst_segtrap_is_enabled() there now that we have that API.
5847 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5848 to do the getenv here (and export the variable).
5850 * gst/gstdebugutils.c: (debug_dump_element),
5851 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5852 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5854 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5855 (gst_debug_log_default):
5856 Rename _gst_info_start_time to priv_gst_info_start_time so it
5857 doesn't get exported (was never in any header).
5859 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5860 (gst_plugin_loading_mutex):
5861 Make static mutex gst_plugin_loading_mutex really static (was never
5862 in any header), and use gst_segtrap_is_enabled() instead of
5863 _gst_disable_segtrap.
5865 * gst/gsttrace.c: (_gst_trace_default):
5866 Make local _gst_trace_default static (was never in any header).
5868 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5870 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5872 * win32/common/libgstbase.def:
5873 * win32/common/libgstcontroller.def:
5874 * win32/common/libgstdataprotocol.def:
5875 * win32/common/libgstnet.def:
5876 * win32/common/libgstreamer.def:
5877 Add more missing symbols, remove some duplicates, and sort
5878 as the 'sort' command sorts it (partially fixes #493983).
5880 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5882 * gst/gstelement.c: (gst_element_set_state_func):
5883 Only change the state cookie if a different state was set on the
5884 element. See #492729.
5886 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5888 * gst/gstvalue.c:
5889 Remove unused and uninitialised type variables that were still
5890 exported for some reason (they were never in any header files
5891 though).
5893 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5895 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5896 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5897 (gst_base_sink_event), (gst_base_sink_get_position_last),
5898 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5899 (gst_base_sink_change_state):
5900 Don't try to report a 0 position when we don't know, return -1 and FALSE
5901 instead. This mostly happens when we are prerolling.
5902 Make sure we can report the right position before we post the ASYNC_DONE
5903 message so that a message handler can query position without races.
5905 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5906 (async_done_handoff), (async_done_func), (send_buffer),
5907 (async_done_eos_func), (gst_sinks_suite):
5908 Add two tests for the above.
5910 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5912 * MAINTAINERS:
5913 Update with new email address.
5915 * docs/design/part-TODO.txt:
5916 Add some more info about future pad-block and negotiation changes.
5918 * docs/design/part-buffering.txt:
5919 Add some ideas about buffering reporting.
5921 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5923 * tests/check/gst/gstobject.c:
5924 Disable silly racy test that always fails on this combination of CPU
5925 and kernel.
5927 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5929 Patch by: Murray Cumming <murrayc@murrayc.com>
5931 * gst/gstobject.c:
5932 Corrected the registration of the parent-set and parent-unset
5933 signals: The parameter is a GstObject, not a GObject (#493134).
5935 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5937 * gst/gst_private.h:
5938 * gst/gstbuffer.h:
5939 * gst/gstevent.h:
5940 * gst/gstformat.h:
5941 * gst/gstmessage.h:
5942 * gst/gstplugin.h:
5943 * gst/gstquery.h:
5944 * gst/gsttaglist.h:
5945 * gst/gstvalue.h:
5946 Move declaration of private _gst_foo_initialize() functions into
5947 our private header file where they should have been all along.
5949 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5951 * docs/plugins/gstreamer-plugins-sections.txt:
5952 * gst/gstdebugutils.h:
5953 * gst/gstxml.h:
5954 * plugins/elements/gstqueue.c:
5955 gtk-doc fixes; trailing-comma-in-enum fix.
5957 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5959 * gst/gst.c: (gst_deinit):
5960 Clean up on deinit (not the external ones though, doesn't seem to be
5961 needed for some reason).
5963 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5965 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5966 Remove __declspec(dllimport) for MSVC that was copied over into core
5967 from a plugin, obviously without ever having been tested (note the
5968 single underscore in _declspec in the initial commit), and that doesn't
5969 really make sense. See #492077.
5971 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5973 * gst/gst.c: (init_post):
5974 * gst/gstevent.c: (_gst_event_initialize):
5975 * gst/gstquery.c: (_gst_query_initialize):
5976 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5977 g_type_class_ref() other types as well, see #349410 and #64764.
5979 * gst/gstbuffer.c: (_gst_buffer_initialize):
5980 * gst/gstmessage.c: (_gst_message_initialize):
5981 Simplify existing g_type_class_ref().
5983 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5985 * gst/gstformat.c: (_gst_format_initialize):
5986 g_type_class_ref() our GstFormat type to make sure we avoid the
5987 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5988 bug #64764. Should fix intermittent tee unit test failures (#474823).
5990 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5992 * tests/check/elements/tee.c: (test_num_buffers):
5993 Simplify, simplify, simplify - or not. Rewrite unit test
5994 not to use gst_parse_launch(); allow N sub-streams. Increasing
5995 the number of sub-streams seems to reproduce #474823 more easily.
5997 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5999 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
6001 * gst/gsttrace.c:
6002 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
6003 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6004 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
6005 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
6006 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
6007 so use _pipe() directly (#492077).
6009 * win32/common/dirent.c: (_treaddir):
6010 Add a couple of casts to make it build without warnings with MSVC.
6012 * win32/common/libgstreamer.def:
6013 Add some more symbols that need to be exported.
6015 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
6017 * tests/examples/metadata/read-metadata.c: (message_loop):
6018 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
6019 arriving in a second or third tag message are added to
6020 the tag list as well.
6022 2007-10-31 Stefan Kost <ensonic@users.sf.net>
6024 * libs/gst/base/gstbasesrc.c:
6025 Its "Since:" and not "@Since:". And remove an superflous cast.
6027 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
6029 * docs/libs/gstreamer-libs-sections.txt:
6030 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6031 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
6032 (gst_base_sink_get_property), (gst_base_sink_render_object),
6033 (gst_base_sink_preroll_object),
6034 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
6035 (gst_base_sink_change_state):
6036 * libs/gst/base/gstbasesink.h:
6037 Add a new last-buffer property that contains the last buffer used in
6038 basesink for preroll or rendering. useful for making snapshots.
6039 API: gst_base_sink_get_last_buffer()
6040 API: GstBaseSink::last-buffer
6042 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6044 * docs/gst/running.xml:
6045 * gst/gst.c:
6046 * gst/gstdebugutils.c:
6047 * gst/gstdebugutils.h:
6048 * tools/gst-launch.c:
6049 Improve bin graph dumping, by using the envvar to specify a path.
6050 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
6052 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
6054 * plugins/elements/gsttypefindelement.c:
6055 (gst_type_find_element_handle_event),
6056 (gst_type_find_element_activate):
6057 Post special error message if we can't determine the type of a stream
6058 because it's empty.
6060 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6062 * docs/gst/running.xml:
6063 * gst/gstdebugutils.c:
6064 Document new env-var. Add one log-line after dumpng a graph.
6066 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6068 * configure.ac:
6069 Ugly hack to put the (recently removed and non-portable, apparently)
6070 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6071 GNU ld, because without that 'make check' fails miserably on my debian
6072 stable box. Someone with more knowledge of linker intricacies and
6073 portability issues than me fix this properly please.
6075 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6077 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6078 Reset last seen position after flushing so that we don't report the old
6079 position anymore.
6081 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6083 * gst/gstelementfactory.c: (gst_element_register):
6084 * gst/gsturi.h:
6085 Patch from Alessandro Decina adding get_type_full and
6086 get_protocols_full private vfuncs to the URIHandler interface
6087 to allow bindings to support creating URI handlers.
6088 Partially fixes: #339279
6089 API: GstURIHandlerInterface::get_type_full
6090 API: GstURIHandlerInterface::get_protocols_full
6092 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6094 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6095 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6096 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6097 Make it so that pads are considered linked until a buffer is pushed
6098 and discovered otherwise. This avoids problems with decodebin2 hanging
6099 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6100 case.
6102 Make sure we lock the multiqueue when updating the max-size properties.
6104 Fix a crash on Solaris in a debug statement in get_request_pad that
6105 passes a NULL string to GST_DEBUG.
6107 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6108 (run_output_order_test):
6109 Fix the test to allow the first buffer on not-linked pads to come out
6110 of sequence while multiqueue discovers that they are not-linked.
6112 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6114 * configure.ac:
6115 * libs/gst/check/Makefile.am:
6116 Use a custom export symbol regex for libgstcheck, as it needs
6117 to export symbols that don't match the standard GStreamer gst_*
6118 pattern, and --export-dynamic is not portable (only works on
6119 GNU ld)
6121 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6122 (gst_check_setup_sink_pad):
6123 Make sure to pass a message parameter to the fail_* macros.
6125 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6126 Fix some compiler warnings.
6128 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6130 * tests/check/gst/gststructure.c: (test_to_string):
6131 Disable test that checks that white spaces are not allowed
6132 in structure names or field names, since we need to
6133 support that for now for backwards compatibility reasons.
6135 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6137 * docs/gst/gstreamer-sections.txt:
6138 * gst/gsttaglist.c:
6139 * gst/gsttaglist.h:
6140 API: add GST_TAG_ARTIST_SORTNAME
6141 API: add GST_TAG_ALBUM_SORTNAME
6142 API: add GST_TAG_TITLE_SORTNAME
6143 Add tag variants for sorting (#414539).
6145 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6147 * gst/gststructure.c:
6148 Also allow white space for names so we don't break
6149 backwards compatibility.
6151 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6153 * docs/design/part-TODO.txt:
6154 * docs/design/part-segments.txt:
6155 * docs/design/part-streams.txt:
6156 Small updates.
6158 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6160 * docs/gst/gstreamer-sections.txt:
6161 Fixed documentation from my previous commit (added new API add
6162 gst_value_set_structure(), add gst_value_get_structure() and
6163 GST_VALUE_HOLDS_STRUCTURE).
6165 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6167 * gst/gstdebugutils.c:
6168 Reflow code to fix uninitialized variable warning.
6170 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6172 * gst/gstcaps.c: (gst_caps_to_string),
6173 (gst_caps_from_string_inplace):
6174 * gst/gststructure.c: (gst_structure_get_abbrs),
6175 (gst_structure_to_string), (gst_structure_from_string):
6176 * gst/gstvalue.c: (gst_value_set_structure),
6177 (gst_value_get_structure), (gst_value_serialize_structure),
6178 (gst_value_deserialize_structure), (_gst_value_initialize):
6179 * gst/gstvalue.h:
6180 * tests/check/gst/gststructure.c: (GST_START_TEST),
6181 (gst_structure_suite):
6182 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6183 Added GstStructure to gst_value_table and its related functions.
6184 Changed gst_structure_to_string to print ';' in the end.
6185 Changed gst_caps_to_string to not print ';' beteween its
6186 fields (structures) anymore and remove the lastes ';' from latest
6187 structure. Now it is possible to have nested structures.
6188 In addition, backward compatibilty is assured by accepting '\0' as
6189 end delimiter. Fixes: #487969.
6190 API: add gst_value_set_structure()
6191 API: add gst_value_get_structure()
6192 API: add GST_VALUE_HOLDS_STRUCTURE
6194 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6196 * gst/gstbus.c:
6197 When no GSource callback has been set up, tell developer
6198 to use a function that actually exists.
6200 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6202 * docs/gst/gstreamer-sections.txt:
6203 * gst/Makefile.am:
6204 * gst/gst.c:
6205 * gst/gst.h:
6206 * gst/gstdebugutils.c:
6207 * gst/gstdebugutils.h:
6208 * gst/gstinfo.c:
6209 * gst/gstinfo.h:
6210 * tools/gst-launch.c:
6211 Allow dumping pipelines as dot graphs. Fixes #456573.
6213 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6215 * gst/gststructure.c:
6216 Allow '+' as well, it can be part of media or mime types
6217 such as image/svg+xml.
6219 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6221 * docs/gst/gstreamer-sections.txt:
6222 * gst/gstbus.c:
6223 * gst/gstbus.h:
6224 API: add gst_bus_pop_filtered
6225 API: add gst_bus_timed_pop_filtered
6226 Two new functions for waiting for specific message types on the
6227 bus for a specified amount of time without iterating any main
6228 loops or main contexts.
6230 * tests/check/gst/gstbus.c:
6231 Some tests for the new functions.
6233 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6235 * docs/libs/gstreamer-libs-sections.txt:
6236 Make gtk-doc ignore stuff it should ignore.
6238 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6240 * libs/gst/check/gstcheck.c:
6241 * libs/gst/check/gstcheck.h:
6242 Allow runtime selection of unit tests to run via the GST_CHECKS
6243 environment variable (test case function names, comma-separated).
6245 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6247 * gst/gststructure.c:
6248 * tests/check/gst/gststructure.c:
6249 Revert serialisation change and constrain structure-names after
6250 consensus on irc. Update api documentation to reflect the change.
6252 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6254 * gst/gststructure.c:
6255 Improve serialization and fix tests.
6257 * tests/check/gst/gststructure.c:
6258 Add another test that covers why I actually did the previous structure
6259 change.
6261 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6263 * tools/gst-inspect.c: (print_element_info):
6264 Don't crash when inspecting an element.
6266 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6268 * tests/check/gst/gststructure.c:
6269 Add unit test for escaping of structure name when serialising
6270 and deserialising to/from strings.
6272 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6274 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6275 (gst_single_queue_new):
6276 * plugins/elements/gstqueue.c: (gst_queue_init),
6277 (gst_queue_push_one):
6278 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6279 upstream is tricked into thinking it can suggest a format downstream
6280 while downstream does not support that format. The real problem is that
6281 core calls acceptcaps when pushing a buffer with new caps, for which we
6282 do a little workaround by setting the caps on the srcpad ourselves
6283 before pushing the buffer (until this is figured out). Fixes #486758.
6285 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6287 * gst/gststructure.c:
6288 * gst/gstvalue.c:
6289 Add some more comments and debug output. Quote structure name to fix
6290 deserialisation of some strings.
6292 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6294 * gst/gstbuffer.h:
6295 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6296 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6298 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6300 * tools/gst-inspect.c:
6301 Save approx. 400 1 byte allocs when printing. Use API to acces element
6302 details.
6304 * tools/gst-run.c:
6305 Avoid a strdup.
6307 * tools/gst-xmlinspect.c:
6308 Use API to acces element details.
6310 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6312 * gst/gstinfo.c:
6313 Fix some spelling errors.
6315 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6317 * gst/gstbin.c: (bin_handle_async_done):
6318 Correctly set the next state if all of our async children commited their
6319 state. This makes sure we can actually cancel the state change in
6320 progress. Fixes a regression in Rhythmbox when seeking.
6322 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6324 * gst/gstbin.c:
6325 Don't shadow local variable.
6327 * gst/gstinfo.c:
6328 Don't shadow global function name.
6330 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6332 * gst/gstelementfactory.c:
6333 * gst/gstpluginfeature.c:
6334 * gst/gstpluginfeature.h:
6335 * gst/gstregistrybinary.c:
6336 * gst/gstregistryxml.c:
6337 * gst/gsttypefind.c:
6338 Use already-interned string for the private GstPluginFeature
6339 plugin_name field.
6341 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6343 * docs/libs/gstreamer-libs-sections.txt:
6344 Add new API to docs; fixes the build.
6346 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6348 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6350 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6351 (gst_base_sink_event):
6352 * libs/gst/base/gstbasesink.h:
6353 Add function to wait for EOS, subclasses can use this to correctly wait
6354 for devices to drain before performing the EOS logic. Fixes #485343.
6355 API: gst_base_sink_wait_eos()
6357 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6359 * gst/gstplugin.h:
6360 Cast description string constants in GST_PLUGIN_DEFINE macros
6361 to a (gchar*) to make C++ code using these macros compile
6362 without warning with g++-4.2 (see #462737). Even if slightly
6363 ugly, this seems preferable to putting the description strings
6364 into the GLib quark table or making the structure member a
6365 const gchar * and doing casts in core code that allocs and
6366 frees these strings, or requiring a cast in the C++ code.
6368 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6370 * gst/gstinfo.h:
6371 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6372 to print the entire class/function signature into the log
6373 file for C++ code. This only affects C++ code, for C code
6374 everything remains the same.
6376 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6378 * gst/gstbin.c: (remove_from_queue):
6379 Work around a problem with pipelines containing (semi)loops until a
6380 proper, more complicated solution is ready. See #475455.
6382 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6384 * gst/gstplugin.c:
6385 * gst/gstplugin.h:
6386 * gst/gstregistrybinary.c:
6387 * gst/gstregistryxml.c:
6388 Put more strings into the GLib quark table. No need to keep
6389 a hundred-something copies of identical version strings,
6390 license strings, package name strings and package origin
6391 strings around.
6393 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6395 * docs/manual/advanced-dataaccess.xml:
6396 Don't imply that it's okay to unconditionally change
6397 buffer data or buffer metadata in a pad probe callback,
6398 and a bunch of other comments. Fixes #430031.
6400 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6402 * win32/common/gstenumtypes.c:
6403 * win32/common/gstenumtypes.h:
6404 * win32/common/gstversion.h:
6405 Update generated files.
6407 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6409 * docs/manual/advanced-autoplugging.xml:
6410 Prefix section with broken code with a warning (see #342432).
6412 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6414 * docs/manual/appendix-integration.xml:
6415 * docs/manual/basics-init.xml:
6416 Call g_thread_init() before g_option_context_new() to
6417 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6419 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6421 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6422 (gst_base_sink_queue_object_unlocked),
6423 (gst_base_sink_queue_object), (gst_base_sink_event),
6424 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6425 When we received EOS and are waiting for when to post the EOS message,
6426 our state is prerolled and we should not return ASYNC.
6427 Reorganize some code paths to implement this behavior.
6429 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6430 (gst_sinks_suite):
6431 Add unit test to verify above EOS fix.
6433 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6435 * plugins/elements/gsttypefindelement.c:
6436 (gst_type_find_element_have_type), (gst_type_find_element_init),
6437 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6438 Move detecting the input caps of the sinkpad to the setcaps function.
6439 This allows us to update the output caps when we receive new input caps
6440 instead of always using the first detected caps.
6442 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6444 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6445 (gst_base_sink_get_position):
6446 Don't try to preroll non-async elements after a flush.
6447 Subtract latency form clock times when reporting position.
6449 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6451 * gst/gstpad.c: (gst_pad_pause_task):
6452 * gst/gstutils.c:
6453 Small comment and documentation update.
6455 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6457 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6458 (gst_base_src_set_live), (gst_base_src_is_live),
6459 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6460 (gst_base_src_default_event), (gst_base_src_wait),
6461 (gst_base_src_do_sync), (gst_base_src_get_range),
6462 (gst_base_src_pad_get_range), (gst_base_src_loop),
6463 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6464 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6465 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6466 (gst_base_src_change_state):
6467 Rework the locking of basesrc in a similar fashion to basesink. We
6468 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6469 us to handle live sources and semi live ones much better.
6470 Simplify flushing.
6471 Fix unlocking when seeking, shutting down and pausing in live sources.
6473 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6475 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6476 Fix compilation again.
6478 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6480 * gst/gstelement.c:
6481 Use meaningful categories for the logs to clean the default one.
6483 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6485 * tests/check/pipelines/cleanup.c:
6486 Print message name and not just number.
6488 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6490 * docs/design/draft-tagreading.txt:
6491 Add some more thoughts.
6493 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6495 * tests/check/pipelines/simple-launch-lines.c:
6496 Print message name and not just number.
6498 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6500 * libs/gst/base/gsttypefindhelper.c:
6501 Speedup typefinding. This is work in progress (see #459862).
6503 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6505 * gst/gstplugin.c:
6506 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6507 Spotted by Josep Torra Valles <josep@fluendo.com>.
6509 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6511 * gst/gstclock.h:
6512 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6513 field has moved to GstObject.
6515 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6517 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6518 (gst_base_src_get_range), (gst_base_src_change_state):
6519 Call unlock for live sources so that they can't get stuck in _create and
6520 produce a buffer before they are set back to PLAYING.
6522 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6524 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6525 (gst_queue_locked_dequeue):
6526 Comment the segment-related code... in the PROPER function.
6527 See #482147 and my commit from yesterday.
6529 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6531 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6532 Also initialize the counter that calculates the first timestamp on a
6533 buffer correctly for non-live sources.
6535 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6537 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6538 Disable code that's breaking the current-time-level reporting.
6539 See #482147
6541 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6543 * docs/gst/gstreamer-sections.txt:
6544 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6545 as they shouldn't show up. Fixes the docs build.
6547 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6549 * gst/gstinfo.h:
6550 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6551 Define M_PI which is used in files which are including gstinfo.h.
6552 VS6 includes doesn't define it.
6553 * win32/common/libgstbase.def:
6554 * win32/common/libgstcontroller.def:
6555 * win32/common/libgstreamer.def:
6556 Add new exported functions and variables.
6557 * win32/vs6/libgstcontroller.dsp:
6558 * win32/vs6/libgstreamer.dsp:
6559 Update the list of files to build.
6561 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6563 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6565 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6566 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6567 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6568 Improve debugging. Fixes #480858.
6570 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6572 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6574 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6575 First patch of code cleanups, use the macros and right arguments in the
6576 macros to signal and lock the queue. See #480858.
6578 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6580 * gst/gstbus.c: (poll_func):
6581 Improve debugging when dealing with _poll().
6583 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6585 * gst/gstregistryxml.c:
6586 Fix memory leak I introduced a few days ago.
6588 2007-09-26 Michael Smith <msmith@fluendo.com>
6590 * gst/gstbuffer.c: (gst_buffer_finalize):
6591 Make it once again possible to free GstBuffers in the default
6592 build.
6593 The poisoning scribbles on parts of the miniobject we need in
6594 order to free it.
6595 Fixes #480341
6597 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6599 * docs/gst/gstreamer-sections.txt:
6600 * gst/gsttaglist.c:
6601 * gst/gsttaglist.h:
6602 API: add GST_TAG_COMPOSER, fixes #459809.
6604 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6606 * gst/gstplugin.c:
6607 * gst/gstplugin.h:
6608 Add the 3-clause BSD license and the MIT/X11 license to the license
6609 list. Fixes #479784.
6611 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6613 * docs/faq/getting.xml:
6614 Add Q+A about different GStreamer versions (#364056).
6616 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6618 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6619 (gst_base_sink_event), (gst_base_sink_change_state):
6620 Return correct gboolean from query function.
6622 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6624 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6625 (gst_base_sink_event), (gst_base_sink_query),
6626 (gst_base_sink_change_state):
6627 Simplify latency query.
6628 When not synchronizing, we can report latency without querying the peer
6629 element.
6631 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6633 * gst/gstobject.h:
6634 * gst/gstvalue.c:
6635 Fix small typos in the docs.
6637 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6639 * docs/design/draft-latency.txt:
6640 * docs/design/draft-push-pull.txt:
6641 * docs/design/draft-tagreading.txt:
6642 * docs/design/part-MT-refcounting.txt:
6643 * docs/design/part-activation.txt:
6644 * docs/design/part-block.txt:
6645 * docs/design/part-element-source.txt:
6646 * docs/design/part-events.txt:
6647 * docs/design/part-gstbin.txt:
6648 * docs/design/part-gstelement.txt:
6649 * docs/design/part-gstobject.txt:
6650 * docs/design/part-gstpipeline.txt:
6651 * docs/design/part-messages.txt:
6652 * docs/design/part-preroll.txt:
6653 * docs/design/part-push-pull.txt:
6654 * docs/design/part-qos.txt:
6655 * docs/design/part-query.txt:
6656 * docs/design/part-scheduling.txt:
6657 * docs/design/part-seeking.txt:
6658 * docs/design/part-segments.txt:
6659 * docs/design/part-states.txt:
6660 Documentation updates and typo fixes.
6662 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6664 * plugins/elements/gstfakesink.c:
6665 Add some debug text to error message to indicate that
6666 we errored out on request.
6668 * tools/gst-launch.c:
6669 When the state change to PLAYING fails, check for an
6670 error message on the bus and print it.
6672 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6674 translated by: Jorge González González <aloriel@gmail.com>
6676 * po/LINGUAS:
6677 * po/es.po:
6678 Added Spanish translation.
6680 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6682 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6683 Fix printf arguments.
6685 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6687 * tests/check/generic/states.c:
6688 Improved state change unit test.
6690 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6692 * gst/gstbin.h:
6693 Move priv to the right place.
6695 * gst/gstsystemclock.c:
6696 Add FIXME: and improve log.
6698 * tests/check/Makefile.am:
6699 * tests/examples/manual/Makefile.am:
6700 Work with all types of registries.
6702 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6704 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6705 Don't unref the event after pushing it. Fixes #478401.
6707 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6709 * .cvsignore:
6710 * tests/examples/manual/.cvsignore:
6711 Ignore registries in any format.
6713 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6715 * gst/glib-compat-private.h:
6716 Add compatibility macro for g_intern_string() for
6717 GLib-2.8 (any reason we can't just bump the
6718 requirement to at least 2.10?)
6720 * gst/gstpadtemplate.h:
6721 * gst/gstelementfactory.c:
6722 * gst/gstregistryxml.c:
6723 * gst/gstregistrybinary.c:
6724 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6725 up the internal code accordingly. This shouldn't be a problem, since
6726 there is no reason external code could ever assume the string in such
6727 a structure is dynamically allocated unless it did that itself; the
6728 use of g_strdup() is private to element factories. The new code also
6729 saves some memory by putting pad template name strings into the GLib
6730 quark table instead of allocating them dynamically.
6731 Declaring this field constant fixes warnings with g++-4.2 when using
6732 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6734 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6736 * gst/gstelementfactory.c:
6737 Release static caps. Fixes #475723.
6739 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6741 * gst/gstinfo.c:
6742 * gst/gstinfo.h:
6743 Make some internal API take const gchar * instead of just
6744 gchar * to avoid compiler warnings with g++-4.2.2 when
6745 passing string constants (partially fixes #478092).
6747 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6749 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6750 A latency query fails when one of the sinks fail.
6752 * gst/gstelement.c: (gst_element_set_base_time):
6753 Improve debugging.
6755 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6757 * gst/gstbin.c: (gst_bin_continue_func):
6758 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6759 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6760 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6762 Fix minor compilation warnings shown with Forte.
6764 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6766 * plugins/elements/gstqueue.c: (apply_buffer),
6767 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6768 Measure queue level based on the diff between head and tail timestamps
6769 even when pushing the first buffer.
6771 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6773 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6774 (gst_base_sink_event), (gst_base_sink_change_state):
6775 Sinks that don't preroll can always be queried for the latency.
6776 Don't post ASYNC start when we are not async.
6778 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6780 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6781 (gst_queue_handle_sink_event), (gst_queue_chain),
6782 (gst_queue_push_one), (gst_queue_handle_src_query),
6783 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6784 * plugins/elements/gstqueue.h:
6785 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6786 push more buffers but allow pushing of EOS and NEWSEGMENT.
6787 Add some more debug info here and there. Fixes #476514.
6789 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6791 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6792 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6793 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6794 (gst_base_sink_set_flushing), (gst_base_sink_query),
6795 (gst_base_sink_change_state):
6796 Latency query is allowed after we are prerolled. Introduce a new flag
6797 for this and stop abusing other variables.
6799 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6801 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6802 Push OOB events downstream when we get them in send_event. This allows
6803 the application to insert events in the pipeline.
6804 Add some more comments.
6806 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6808 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6809 (do_bin_latency), (gst_bin_change_state_func):
6810 * gst/gstpipeline.c: (gst_pipeline_change_state):
6811 Move latency query from GstPipeline to GstBin so that we can also
6812 use it when async-handling is enabled on bins.
6814 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6816 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6817 (gst_base_src_do_sync), (gst_base_src_change_state):
6818 Update docs.
6819 Clean up the timestamping and syncing code for pseudo live sources.
6821 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6823 Patch by: Steve Fink <sphink gmail com>
6825 * docs/manual/appendix-checklist.xml:
6826 Mention less -R switch in the section about debug output (#474055).
6828 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6830 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6831 Queue can latency to the pipeline up to the configured max size in time.
6832 Report this fact in the latency query.
6834 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6836 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6838 * libs/gst/controller/gstinterpolation.c:
6839 * libs/gst/controller/gstlfocontrolsource.c:
6840 Use gst_guint64_to_gdouble() when converting from a uint64 or
6841 GstClockTime to double to fix the build on win32. Fixes #474371.
6843 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6845 * gst/gstbuffer.c: (gst_buffer_finalize):
6846 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6847 When finalizing a buffer the complete struct is filled with 0xff,
6848 thus making a use of the buffer after the final unref impossible.
6850 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6852 * tests/check/libs/controller.c: (GST_START_TEST):
6853 Use fail_unless_equals_int(a, b) instead of
6854 fail_unless_equals (a == b) to get better output on failures.
6856 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6858 * tests/check/gst/gsturi.c:
6859 Also check for the other file URI variant on win32.
6861 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6863 * gst/gsturi.c: (gst_uri_get_location):
6864 If there's no hostname, we want to return 'c:/foo/bar.txt'
6865 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6867 * tests/check/gst/gsturi.c:
6868 Unit test for the above and a few more things.
6870 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6872 * docs/design/part-live-source.txt:
6873 Add docs on how live sources should timestamp.
6875 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6876 Add some more debug info.
6877 For subclasses that are live and like to sync, add aditional startup
6878 latency to sync time and timestamps so that we timstamp according to the
6879 design doc.
6881 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6883 * gst/gstbuffer.c:
6884 Also do a g_type_class_ref() for the subbuffer type in
6885 the init function.
6887 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6889 * docs/gst/gstreamer-sections.txt:
6890 * gst/gstpad.c: (gst_pad_peer_query):
6891 * gst/gstpad.h:
6892 Add function to perform a query on the peer of a pad.
6893 API: gst_pad_peer_query()
6895 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6897 * tests/check/gst/gstsystemclock.c:
6898 Cleanup the test a little (use gst-logging and not g_message). Improve
6899 test to check if a wait reached the target.
6901 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6903 * docs/libs/gstreamer-libs-sections.txt:
6904 Add new API to docs and fix the build.
6906 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6908 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6909 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6910 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6911 (gst_base_src_get_property), (gst_base_src_do_sync):
6912 * libs/gst/base/gstbasesrc.h:
6913 Add property to make the basesrc timestamp buffers based on the current
6914 running time.
6915 API: GstBaseSrc::do-timestamp
6916 API: gst_base_src_set_do_timestamp()
6917 API: gst_base_src_get_do_timestamp()
6919 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6921 * docs/random/release:
6922 Really make sure translations are up-to-date before
6923 a release (#465010).
6925 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6927 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6928 Always destroy the timer, also in error cases.
6930 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6932 * docs/manual/highlevel-xml.xml:
6933 Fix XML example code. Fixes #472714.
6935 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6937 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6938 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6939 (gst_base_sink_query):
6940 Protect eos and have_preroll with the OBJECT lock so we don't need to
6941 take the PREROLL lock when querying the latency. Fixes #473846.
6943 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6945 * gst/gstelement.c:
6946 Give some log-messages a category.
6948 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6950 * gst/gststructure.c:
6951 (gst_structure_fixate_field_nearest_fraction):
6952 Fix fraction list fixation code. Take the fraction with the smallest
6953 difference with the target instead of the first one in the list.
6955 * tests/check/gst/gststructure.c: (GST_START_TEST),
6956 (gst_structure_suite):
6957 Added test to verify correct fraction list fixation behaviour.
6959 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6961 * win32/common/libgstreamer.def:
6962 Export gst_bus_add_signal_watch too.
6964 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6966 * docs/libs/gstreamer-libs-sections.txt:
6967 Add new methods to docs.
6969 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6970 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6971 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6972 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6973 * libs/gst/base/gstbasesink.h:
6974 Add ts-offset property to fine-tune the synchronisation.
6975 API: GstBaseSink::ts-offset property
6976 API: gst_base_sink_set_ts_offset()
6977 API: gst_base_sink_get_ts_offset()
6979 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6981 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6982 (gst_base_sink_init), (gst_base_sink_set_sync),
6983 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6984 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6985 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6986 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6987 (gst_base_sink_get_property), (gst_base_sink_change_state):
6988 * libs/gst/base/gstbasesink.h:
6989 Add async property to instruct the sink never to inform the parent about
6990 ASYNC state changes, update docs.
6991 Check argument with g_return_* for the public functions.
6992 API: GstBaseSink::async property
6993 API: gst_base_sink_set_async_enabled()
6994 API: gst_base_sink_is_async_enabled()
6996 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6998 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6999 Improve debugging.
7001 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7002 (gst_base_src_default_query), (gst_base_src_wait),
7003 (gst_base_src_do_sync), (gst_base_src_change_state):
7004 Rearrange some code so that we can add support for measuring the
7005 startup latency.
7007 2007-08-27 Stefan Kost <ensonic@users.sf.net>
7009 * docs/random/ensonic/dynlink.txt:
7010 More thoughs on this.
7012 * plugins/elements/gstcapsfilter.c:
7013 Add bugzilla ticket number to FIXME comment.
7015 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
7017 * docs/design/part-TODO.txt:
7018 * docs/design/part-block.txt:
7019 Update some docs.
7021 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7023 * gst/Makefile.am:
7024 Revert patch which uses $(gst_headers) instead of $^ because it
7025 breaks make dist.
7027 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
7029 * tests/check/gst/gstbin.c: (GST_START_TEST):
7030 Fix leaks in the new unit test.
7032 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
7034 * gst/gst.c:
7035 Don't use GST_INFO before the debug system is actually initialised
7036 (shouldn't do any harm, but won't print anything either, so we can
7037 just as well remove it).
7039 * gst/gstinfo.h:
7040 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
7041 compilers that don't support variadic macros (such as MSVC), should
7042 check for debug_level <= __gst_debug_min as well, since that's the
7043 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
7044 inline helper functions. Should improve performance a bit, but also
7045 makes sure uses of GST_INFO et.al are ignored if the debugging
7046 system isn't initialised yet (instead of printing an assertion
7047 failure).
7049 2007-08-23 Stefan Kost <ensonic@users.sf.net>
7051 patch by: David Nečas <yeti@physics.muni.cz>
7053 * gst/Makefile.am:
7054 Replace some non portable makefile constructs.
7056 2007-08-21 Stefan Kost <ensonic@users.sf.net>
7058 * common/gtk-doc-plugins.mak:
7059 Grrrrr. Don't remove the types file on make clean.
7061 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7063 * tools/gst-launch.1.in:
7064 Add colorspace to example pipeline. Fixes #458274.
7066 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7068 * docs/random/release:
7069 The release manager should run 'make download-po' before making a
7070 release to make sure translations are up-to-date.
7072 * po/LINGUAS:
7073 * po/be.po:
7074 * po/pl.po:
7075 * po/rw.po:
7076 Add some new translations.
7078 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7080 * tools/gst-launch.c: (event_loop), (main):
7081 Don´t try to do any state management when a live pipeline posts
7082 buffering messages.
7083 Also make the buffering string translatable.
7085 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7087 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7088 (bin_handle_async_start), (gst_bin_handle_message_func):
7089 Improve debugging.
7090 When adding elements, insert messages into the bus of the newly added
7091 element and make sure the element is the source of the message. This
7092 allows the parent bin to intercept the message and do the
7093 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7094 messages to the app (which is not allowed).
7095 Update some docs.
7097 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7098 Fix testsuite so that is does not work around messages that should not
7099 have been posted in the first place.
7101 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7103 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7104 (update_degree), (gst_bin_sort_iterator_next):
7105 Fix annoying bug in the sorted iterator where a sink that is not really
7106 a sink (when it has downstream links) screwed up the iterator.
7108 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7109 Unit test to verify the fix.
7111 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7113 * gst/gstmessage.h:
7114 Add some more docs for the messages.
7116 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7117 (gst_base_sink_query):
7118 Add some more debugging.
7120 * tools/gst-launch.c: (event_loop):
7121 When interrupting, don't try to set pipeline to PAUSED twice.
7123 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7126 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7127 (bin_handle_async_start), (gst_bin_handle_message_func):
7128 Move ASYNC_START message posting to where it belongs, similar to
7129 async_done.
7130 Don't post ASYNC_START when we are in error.
7131 Post ASYNC_START when we added an async element to a bin.
7133 2007-08-14 Julien MOUTTE <julien@moutte.net>
7135 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7136 generation from vargs. Fixes #466595.
7138 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7140 * gst/gstbin.c: (gst_bin_element_set_state):
7141 Always change the state of a NO_PREROLL element even if it has ASYNC
7142 elements inside (in case of a bin).
7144 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7145 Unit test for this case.
7147 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7149 * libs/gst/check/gstbufferstraw.c:
7150 * libs/gst/check/gstcheck.h:
7151 * libs/gst/controller/gstcontroller.c:
7152 * libs/gst/controller/gstcontrolsource.h:
7153 * libs/gst/controller/gstlfocontrolsource.h:
7154 * plugins/elements/gstcapsfilter.h:
7155 * plugins/elements/gstfdsink.h:
7156 * plugins/elements/gstfdsrc.h:
7157 Add more missing docs.
7159 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7161 * gst/gststructure.c:
7162 Add Since tag to docs.
7164 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7166 * docs/gst/gstreamer-sections.txt:
7167 * gst/gststructure.c: (gst_structure_get_uint):
7168 * gst/gststructure.h:
7169 Add function to get uint from a structure.
7170 API: gst_structure_get_uint()
7172 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7174 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7175 (gst_caps_intersect):
7176 Fix proper check for simple caps.
7178 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7180 * docs/gst/Makefile.am:
7181 * docs/libs/Makefile.am:
7182 Remove cruft and do some cleanups.
7184 * docs/gst/gstreamer-docs.sgml:
7185 * docs/libs/gstreamer-libs-docs.sgml:
7186 Prepare for comming gtkdoc features (rebase against online docs).
7188 2007-08-10 Michael Smith <msmith@fluendo.com>
7190 * docs/gst/gstreamer-sections.txt:
7191 Add gst_registry_add_path to docs.
7193 2007-08-10 Michael Smith <msmith@fluendo.com>
7195 * gst/gstregistry.h:
7196 Add gst_registry_add_path, which was missing from this header.
7198 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7200 * libs/gst/controller/gstlfocontrolsource.c:
7201 Printf format fix.
7203 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7205 * libs/gst/base/gstbasesink.c:
7206 Don't send an async_start message during downwards state change if
7207 target state is less than READY
7209 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7211 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7213 * po/LINGUAS:
7214 * po/hu.po:
7215 Added Hungarian translation.
7217 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7219 * po/fi.po:
7220 * po/it.po:
7221 * po/nl.po:
7222 * po/sv.po:
7223 * po/uk.po:
7224 Updated translations.
7226 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7228 * libs/gst/controller/Makefile.am:
7229 Dist gstlfocontrolsourceprivate.h
7231 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7233 * docs/libs/gstreamer-libs.types:
7234 Don't register the enum type gst_lfo_waveform_get_type() in the
7235 .types file - only GObject derived types belong.
7237 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7239 Patch by: <arenevier at fdn dot fr>
7241 * gst/gstbuffer.h:
7242 Remove comma from last element in enum to avoid compile errors when
7243 using -pendantic. Fixes #464366.
7245 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7247 * docs/design/part-TODO.txt:
7248 Add some more TODO items
7250 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7251 Improve debugging.
7253 * gst/gstcaps.c: (gst_caps_intersect):
7254 Optimize trivial intersection case between identical caps pointers.
7256 * gst/gstelement.c: (gst_element_continue_state),
7257 (gst_element_set_state_func):
7258 * gst/gstpad.c:
7259 Fix spelling and grammar mistakes.
7261 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7263 * po/POTFILES.in:
7264 * po/POTFILES.skip:
7265 Update POTFILES. Fixes #461599.
7267 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7269 * gst/gst.c:
7270 Fix confusing typo in debug output.
7272 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7274 reviewed by: Stefan Kost <ensonic@users.sf.net>
7276 * libs/gst/controller/Makefile.am:
7277 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7278 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7279 (gst_lfo_control_source_new),
7280 (gst_lfo_control_source_set_waveform),
7281 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7282 (gst_lfo_control_source_finalize),
7283 (gst_lfo_control_source_dispose),
7284 (gst_lfo_control_source_set_property),
7285 (gst_lfo_control_source_get_property),
7286 (gst_lfo_control_source_class_init):
7287 * libs/gst/controller/gstlfocontrolsource.h:
7288 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7289 API: Add GstLFOControlSource, a control source that gives values
7290 for specific timestamps based on several periodic waveforms.
7291 Fixes #459717.
7293 * tests/check/libs/controller.c: (GST_START_TEST),
7294 (gst_controller_suite):
7295 * docs/libs/gstreamer-libs-docs.sgml:
7296 * docs/libs/gstreamer-libs-sections.txt:
7297 * docs/libs/gstreamer-libs.types:
7298 Add documentation and unit tests for GstLFOControlSource.
7300 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7302 * configure.ac:
7303 Back to CVS
7305 === release 0.10.14 ===
7307 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7309 * configure.ac:
7310 releasing 0.10.14, "Breathing Vacuum"
7312 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7314 * gst/gstelement.c: (gst_element_class_set_details_simple):
7315 * gst/gstelement.h:
7316 Make strings passed to gst_element_class_set_details_simple()
7317 constant, as they should be (#462752).
7319 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7321 * gst/gstbin.c: (gst_bin_change_state_func),
7322 (bin_handle_async_done), (gst_bin_handle_message_func):
7323 Don't forget about the fact that some element went ASYNC even after a
7324 resync. This makes us post the ASYNC_DONE message correctly.
7325 Fixes #462558.
7327 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7329 * gst/gstregistry.c: (gst_registry_add_feature):
7330 When replacing an existing feature in the registry, make sure to
7331 continue holding a reference until we've replaced the name string
7332 within our feature hash table. Make sure to use g_hash_table_replace
7333 instead of g_hash_table_insert to ensure the new name string is used
7334 as a key instead of the old one that we're about to free.
7335 Fixes: #462085
7337 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7339 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7340 (gst_plugin_feature_set_name):
7341 Revert patch from #459466 until after the release and we can work
7342 out exactly what the problem is (if any).
7344 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7346 * docs/gst/gstreamer-sections.txt:
7347 * gst/gsttaglist.c:
7348 * gst/gsttaglist.h:
7349 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7351 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7353 * docs/libs/Makefile.am:
7354 Include our build-prefix libs and includes before the generic ones to
7355 avoid linking against the installed libs when we want the build-tree
7356 ones.
7358 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7360 Patch by: Steve Fink <sphink gmail com>
7362 * docs/pwg/building-testapp.xml:
7363 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7364 if people try to build or install the example from the plugin
7365 template against a GStreamer from package using the configure
7366 defaults.
7368 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7370 Patch by: Steve Fink <sphink gmail com>
7372 * tools/gst-inspect.1.in:
7373 Document --print-all and --print-plugin-auto-install-info command
7374 line options in man page.
7376 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7378 * docs/gst/gstreamer-sections.txt:
7379 Add docs for new api function.
7381 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7383 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7384 * gst/gstelementfactory.h:
7385 API: gst_element_factory_has_interface()
7386 Added method to check if an element factory implements a named
7387 interface.
7389 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7391 * configure.ac:
7392 * docs/gst/gstreamer.types.in:
7393 Another conditional doc check.
7395 * gst/gstmessage.c:
7396 * gst/gstparamspecs.h:
7397 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7398 * gst/gstvalue.c:
7399 * gst/gstxml.h:
7400 API-doc fixes.
7402 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7404 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7405 (gst_registry_binary_load_feature),
7406 (gst_registry_binary_load_plugin),
7407 (gst_registry_binary_read_cache):
7408 Print error just once and with additional info.
7410 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7412 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7413 (helper_find_suggest), (helper_find_get_length),
7414 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7415 (gst_type_find_helper_for_buffer):
7416 Cleanup the typefindhelper code and add private doc comments.
7418 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7420 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7421 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7422 Fix capsfilter for cases where the caps set on capsfilter will provide
7423 additional information.
7424 Fixes #449197
7426 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7428 * gst/gsttypefindfactory.c:
7429 Fix docs that recommened wrong function to use.
7431 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7433 * tools/gst-inspect.c: (print_plugin_features):
7434 Also give media-type for typefinders in element output.
7436 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7438 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7439 (gst_registry_remove_features_for_plugin_unlocked),
7440 (gst_registry_add_feature), (gst_registry_remove_feature),
7441 (gst_registry_lookup_feature_locked):
7442 * gst/gstregistry.h:
7443 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7444 Fixes #459501.
7446 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7448 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7449 (gst_plugin_feature_set_name):
7450 Avoid double memory usage for pluginfeature names. Fixes #459466.
7452 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7454 * gst/gstpad.h:
7455 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7456 driving the pipeline may need to explicitly check for NOT_LINKED as
7457 well, since IS_FATAL doesn't cover that.
7459 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7461 * docs/pwg/advanced-types.xml:
7462 Fix typo and duplicate entry in video formats list.
7464 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7466 * libs/gst/controller/gstinterpolation.c:
7467 Also round to the nearest int when using cubic interpolation.
7469 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7471 * libs/gst/controller/gstinterpolation.c:
7472 When linearly interpolating integer types, round to the nearest int
7473 by adding 0.5. Don't do it for float/double types.
7474 Fixes the failing controller test on my machine, which is somehow
7475 rounding differently than on the buildbots.
7477 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7479 * tools/gst-plot-timeline.py:
7480 Better log parsing (categories can have -). Adjust text vs. lines, so
7481 that they span the same y-range.
7483 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7485 * docs/random/ensonic/audiobaseclasses.txt:
7486 * docs/random/ensonic/dynlink.txt:
7487 * docs/random/ensonic/profiling.txt:
7488 Save my thoughts.
7490 * docs/random/moving-plugins:
7491 Add note to use g_assert type macros.
7493 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7495 * configure.ac:
7496 * libs/gst/check/Makefile.am:
7497 Add libm check as we use in for plugins.
7499 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7501 * gst/gstbin.c: (gst_bin_continue_func):
7502 Check that the state_cookie hasn't changed since the continue_func
7503 was scheduled. Avoids problems where the state changes back to
7504 something it shouldn't be because it was changed in the meantime.
7506 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7508 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7509 (gst_registry_binary_save_string),
7510 (gst_registry_binary_save_pad_template),
7511 (gst_registry_binary_save_feature),
7512 (gst_registry_binary_save_plugin),
7513 (gst_registry_binary_load_feature),
7514 (gst_registry_binary_load_plugin),
7515 (gst_registry_binary_read_cache):
7516 Fix memory leak. Be less verbose in the log.
7518 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7520 * tests/check/elements/.cvsignore:
7521 Add file to cvsignore as commanded.
7523 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7525 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7526 (mq_dummypad_event), (run_output_order_test):
7527 Use a GStaticMutex to protect all cases where libcheck
7528 fail_if/fail_unless macros might be called from multiple threads
7529 simultaneously to avoid errors like:
7530 "check_pack.c:107: :-1081725400:Bad message type arg"
7532 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7534 * tests/check/pipelines/stress.c: (GST_START_TEST):
7535 Make sure we set the pipeline back to the NULL state before
7536 dropping our final reference.
7538 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7540 * tests/check/elements/tee.c: (GST_START_TEST):
7541 Make the tee stress-test a little less stressful so it doesn't just
7542 time out on slow-machines, and remove a small race when it's starting
7543 up by adding a get_state() call.
7545 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7547 * gst/gst.c:
7548 Avoid reading registry twice on startup. Fixes #457322.
7550 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7552 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7553 * pkgconfig/gstreamer-check.pc.in:
7554 Substitute the CFLAGS for libcheck into our .pc file too so that
7555 dependent modules will pick it up properly if libcheck is installed
7556 into some other prefix.
7558 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7560 * configure.ac:
7561 Revert the pkg-config check for libcheck, since it pulls in the
7562 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7563 a proper solution, either from the check project, or something else.
7565 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7567 * configure.ac:
7568 Use pkg-config to locate check.
7570 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7572 * gst/gsttaglist.c:
7573 Fix doc syntax.
7575 * gst/gstutils.c:
7576 * gst/gstutils.h:
7577 Add deprecation guards.
7579 * libs/gst/base/gstcollectpads.h:
7580 Don't document object (this is implicitly private).
7582 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7584 * gst/gststructure.c: (gst_structure_parse_value):
7585 When deserialising foo=bar without a type cast, check if it's a
7586 boolean before falling back to a string type, otherwise things like
7587 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7588 because the filtercaps end up having a signed=(string)true field,
7589 which causes problems later when intersection caps.
7591 * tests/check/gst/gststructure.c: (GST_START_TEST):
7592 Add a unit test for this.
7594 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7596 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7598 * libs/gst/controller/Makefile.am:
7599 * libs/gst/controller/gstcontroller.c:
7600 (gst_controlled_property_add_interpolation_control_source),
7601 (gst_controlled_property_new), (gst_controlled_property_free),
7602 (gst_controller_find_controlled_property),
7603 (gst_controller_new_valist), (gst_controller_new_list),
7604 (gst_controller_new), (gst_controller_remove_properties_valist),
7605 (gst_controller_remove_properties_list),
7606 (gst_controller_remove_properties),
7607 (gst_controller_set_property_disabled),
7608 (gst_controller_set_disabled), (gst_controller_set_control_source),
7609 (gst_controller_get_control_source), (gst_controller_get),
7610 (gst_controller_sync_values), (gst_controller_get_value_array),
7611 (_gst_controller_dispose), (gst_controller_get_type),
7612 (gst_controlled_property_set_interpolation_mode),
7613 (gst_controller_set), (gst_controller_set_from_list),
7614 (gst_controller_unset), (gst_controller_unset_all),
7615 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7616 * libs/gst/controller/gstcontroller.h:
7617 * libs/gst/controller/gstcontrollerprivate.h:
7618 * libs/gst/controller/gstcontrolsource.c:
7619 (gst_control_source_class_init), (gst_control_source_init),
7620 (gst_control_source_get_value),
7621 (gst_control_source_get_value_array), (gst_control_source_bind):
7622 * libs/gst/controller/gstcontrolsource.h:
7623 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7624 (gst_object_get_control_source):
7625 * libs/gst/controller/gstinterpolation.c:
7626 (gst_interpolation_control_source_find_control_point_node),
7627 (gst_interpolation_control_source_get_first_value),
7628 (_interpolate_none_get), (interpolate_none_get),
7629 (interpolate_none_get_boolean_value_array),
7630 (interpolate_none_get_enum_value_array),
7631 (interpolate_none_get_string_value_array),
7632 (_interpolate_trigger_get), (interpolate_trigger_get),
7633 (interpolate_trigger_get_boolean_value_array),
7634 (interpolate_trigger_get_enum_value_array),
7635 (interpolate_trigger_get_string_value_array):
7636 * libs/gst/controller/gstinterpolationcontrolsource.c:
7637 (gst_control_point_free), (gst_interpolation_control_source_reset),
7638 (gst_interpolation_control_source_new),
7639 (gst_interpolation_control_source_set_interpolation_mode),
7640 (gst_interpolation_control_source_bind),
7641 (gst_control_point_compare), (gst_control_point_find),
7642 (gst_interpolation_control_source_set_internal),
7643 (gst_interpolation_control_source_set),
7644 (gst_interpolation_control_source_set_from_list),
7645 (gst_interpolation_control_source_unset),
7646 (gst_interpolation_control_source_unset_all),
7647 (gst_interpolation_control_source_get_all),
7648 (gst_interpolation_control_source_get_count),
7649 (gst_interpolation_control_source_init),
7650 (gst_interpolation_control_source_finalize),
7651 (gst_interpolation_control_source_dispose),
7652 (gst_interpolation_control_source_class_init):
7653 * libs/gst/controller/gstinterpolationcontrolsource.h:
7654 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7655 API: Refactor GstController into the core controller which can take
7656 a GstControlSource for providing actual values for timestamps.
7657 Implement a interpolation control source and use this for backward
7658 compatibility, deprecate a bunch of functions that are now handled
7659 by GstControlSource or GstInterpolationControlSource.
7660 Make it possible to disable the controller completely or only for
7661 specific properties. Fixes #450711.
7662 * docs/libs/gstreamer-libs-docs.sgml:
7663 * docs/libs/gstreamer-libs-sections.txt:
7664 * docs/libs/gstreamer-libs.types:
7665 Add new functions and classes to the docs.
7666 * tests/check/libs/controller.c: (GST_START_TEST),
7667 (gst_controller_suite):
7668 * tests/examples/controller/audio-example.c: (main):
7669 Port unit test and example to the new API and add some new
7670 unit tests.
7672 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7674 Patch by: Mark Nauwelaerts <manauw at skynet be>
7676 * plugins/elements/gstmultiqueue.c:
7677 (gst_multi_queue_get_internal_links), (apply_buffer),
7678 (single_queue_overrun_cb), (gst_single_queue_new):
7679 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7680 the pipeline layout can be tracked correctly. Fixes #453732.
7682 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7684 * docs/gst/Makefile.am:
7685 * docs/libs/Makefile.am:
7686 * docs/plugins/Makefile.am:
7687 Simplify --extra-dir as gtkdoc scans recursively.
7689 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7691 * tools/gst-launch.c: (main):
7692 When we got an error, there is no point in waiting for preroll when
7693 shutting down.
7695 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7697 * plugins/elements/gsttee.c: (gst_tee_base_init),
7698 (gst_tee_request_new_pad), (gst_tee_release_pad),
7699 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7700 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7701 (gst_tee_chain):
7702 Be a lot smarter when deciding what srcpad to use for proxying
7703 the buffer_alloc. Also handle pad added/removed when doing so.
7704 Fixes #357959.
7705 Keep track of what pads we already pushed on in case we have pads
7706 added/removed while pushing. Fixes #374639
7708 * tests/check/Makefile.am:
7709 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7710 (tee_suite):
7711 Added unit test for pad resync.
7713 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7715 * po/nl.po:
7716 * po/sv.po:
7717 Updated translations.
7719 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7721 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7723 * po/LINGUAS:
7724 * po/fi.po:
7725 Added new Finnish translation.
7727 2007-06-28 Wim Taymans <wim@fluendo.com>
7729 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7730 (single_queue_overrun_cb):
7731 When figuring out when a queue is filled, use our internal time estimate
7732 based on segments, just like check_full does.
7734 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7736 * gst/gstminiobject.c: (gst_mini_object_get_type):
7737 Remove 3 do-nothing methods.
7739 2007-06-27 Wim Taymans <wim@fluendo.com>
7741 Patch by: Tim Angus <tim at ngus dot net>
7743 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7744 (gst_capsfilter_set_property):
7745 Take a reference instead of a copy when setting "caps".
7746 Fix documentation to clarify this behaviour. Fixes #449414.
7748 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7750 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7751 * gst/gstplugin.c: (gst_plugin_init):
7752 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7753 * gst/gstquery.c: (gst_query_get_type):
7754 * gst/gstregistry.c: (gst_registry_init):
7755 * gst/gsturi.c: (gst_uri_handler_base_init):
7756 Remove empty instance_init() functions to save relocs and lessen the
7757 noise. Remove some of the function prototypes that are doubled by
7758 G_DEFINE_TYPE.
7760 2007-06-27 Wim Taymans <wim@fluendo.com>
7762 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7764 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7765 Add peer and direction in the XML serialisation of ghostpads.
7766 Fixes #449226.
7768 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7770 * configure.ac:
7771 Preserve useful information, thanks Tim.
7773 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7775 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7776 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7777 (gst_single_queue_push_one), (gst_multi_queue_loop),
7778 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7779 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7780 (compute_high_id), (gst_single_queue_new):
7781 * plugins/elements/gstmultiqueue.h:
7782 Take the multiqueue lock when updating the fill level so we don't get
7783 confused.
7785 After applying a buffer or event on the src pad segment, make sure to
7786 call gst_data_queue_limits_changed() to get the data queue to unblock
7787 and check the filled state again.
7789 Rework the not-linked pad handling so the logic is that not-linked
7790 pads can push as fast as they like, but only so they never get
7791 ahead of any linked pads.
7793 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7794 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7795 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7797 Add a test to check that not-linked pads always stay behind
7798 linked pads.
7800 Fixes: #430682
7802 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7804 * docs/random/release:
7805 Some updates to the release procedure.
7807 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7809 * gst/gstelementfactory.c: (__gst_element_details_clear):
7810 Microoptimization that saves stunning 80 bytes.
7812 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7814 * docs/plugins/gstreamer-plugins.args:
7815 * docs/plugins/inspect/plugin-coreelements.xml:
7816 * docs/plugins/inspect/plugin-coreindexers.xml:
7817 Update docs with caps info.
7819 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7821 * po/it.po:
7822 Updated Italian translation.
7824 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7826 * ChangeLog:
7827 * po/vi.po:
7828 Update Vietnamese translations.
7830 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7832 * libs/gst/base/gstbasesink.c:
7833 Remove unused signal enum.
7835 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7837 * docs/gst/gstreamer-sections.txt:
7838 * gst/gstelement.c:
7839 * gst/gstutils.c: (gst_type_register_static_full):
7840 Beef up and include the docs for gst_type_register_static_full and
7841 gst_element_class_set_details_simple and add the API keyword
7842 in the ChangeLog.
7844 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7846 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7847 (update_time_level), (gst_single_queue_push_one),
7848 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7849 (single_queue_overrun_cb), (single_queue_underrun_cb),
7850 (single_queue_check_full):
7851 Fix setting max-* properties after adding queues.
7852 Use IS_FILLED for checking visible items.
7853 Signal overrun if multiple queues overrun.
7854 Add extra debug output.
7855 Patch by: Wim Taymans <wim@fluendo.com>
7857 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7859 * gst/gstelement.c: (gst_element_class_set_details_simple):
7860 * gst/gstelement.h:
7861 * gst/gstutils.c: (gst_type_register_static_full):
7862 * gst/gstutils.h:
7863 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7864 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7865 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7866 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7867 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7868 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7869 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7870 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7871 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7872 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7873 (apply_buffer), (gst_queue_chain):
7874 * plugins/elements/gsttee.c: (gst_tee_base_init):
7875 * plugins/elements/gsttypefindelement.c:
7876 (gst_type_find_element_base_init),
7877 (gst_type_find_element_class_init):
7878 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7879 API: add gst_type_register_static_full
7880 API: add gst_element_class_set_details_simple
7882 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7884 * docs/pwg/advanced-types.xml:
7885 Fix typo in iana.org URI.
7887 2007-06-19 Andy Wingo <wingo@pobox.com>
7889 * tests/check/pipelines/simple-launch-lines.c
7890 (test_state_change_returns): Enable pull-mode tests now that
7891 basesink has been fixed.
7893 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7894 Changed from gst_base_sink_is_prerolled, reversing the sense of
7895 the return value. Returns FALSE also if the sink is in pull mode,
7896 in which case it needs no preroll.
7897 (gst_base_sink_query, gst_base_sink_change_state): Update for
7898 needs_preroll change.
7899 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7900 chaining up, in which we return SUCCESS directly if we activated
7901 in pull mode instead of ASYNC. Involves countering an async_start
7902 message sent before chaining up; not sure if this is correct, in
7903 an ideal world we only send async-start when activating in push
7904 mode.
7906 * tests/check/pipelines/simple-launch-lines.c
7907 (test_state_change_returns): New test, partially disabled until
7908 basesink is fixed.
7910 2007-06-19 Wim Taymans <wim@fluendo.com>
7912 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7913 (gst_multi_queue_sink_event):
7914 Fix event leak.
7916 2007-06-19 Wim Taymans <wim@fluendo.com>
7918 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7919 (gst_bin_change_state_func), (bin_push_state_continue),
7920 (bin_handle_async_start), (bin_handle_async_done),
7921 (gst_bin_handle_message_func):
7922 Move the common code for posting state-change messages into
7923 one function.
7924 Broadcast the state signal after we posted the messages.
7925 Mark the bin as busy when it's doing a state-change.
7926 Make sure async-start/done messages don't interfere with the bin's
7927 state when it's busy.
7928 After the state change, let the bin check which elements completed the
7929 state change while it was busy so that it can update its state.
7931 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7933 * docs/random/release:
7934 Add a note about updating the doap file to the release checklist
7936 2007-06-18 Wim Taymans <wim@fluendo.com>
7938 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7939 (gst_single_queue_push_one), (gst_multi_queue_chain),
7940 (gst_multi_queue_sink_event):
7941 Make sure we don't reference the buffer/event after we have given away
7942 ownership in the queue.
7944 2007-06-18 Wim Taymans <wim@fluendo.com>
7946 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7947 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7948 Update queue state _after_ adding the item in the queue because else we
7949 could end up being full without the element added yet.
7951 2007-06-18 Wim Taymans <wim@fluendo.com>
7953 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7954 (gst_bin_remove_func), (gst_bin_get_state_func),
7955 (gst_bin_element_set_state), (gst_bin_continue_func),
7956 (bin_push_state_continue), (bin_handle_async_start),
7957 (bin_handle_async_done), (gst_bin_handle_message_func):
7958 * gst/gstbin.h:
7959 Immediatly commit the toplevel bin state when receiving an async-done
7960 message. This enables us to avoid spawning a thread to commit the state
7961 in some common cases and it also avoids some races.
7962 Avoid spawning a state thread when adding/removing async elements to a
7963 toplevel bin. Instead we immediatly update the bin state.
7964 Get rid of iterating all the children when getting the state in the bin
7965 because it is now always up-to-date.
7966 Fix bug where locked elements would always return _SUCCESS even it they
7967 returned NO_PREROLL before being locked.
7968 Fix the order of the state_change, async-start/done messages that was
7969 sometimes incorrect.
7970 Mark the state_dirty field as deprecated, we don't need it anymore as we
7971 are always up-to-date.
7973 * gst/gstelement.c: (gst_element_get_state_func),
7974 (gst_element_continue_state):
7975 Small debug inprovements.
7976 Return the previous element state return when nothing is pending instead
7977 of blindly returning SUCCESS.
7979 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7980 (gst_sinks_suite):
7981 Add a whole bunch of new testcases.
7983 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7985 * po/uk.po:
7986 * po/vi.po:
7987 Update translations.
7989 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7991 * gst/gstpad.c:
7992 Fix typo in the docs.
7994 2007-06-15 Wim Taymans <wim@fluendo.com>
7996 * docs/libs/gstreamer-libs-sections.txt:
7997 Add docs for new methods.
7999 2007-06-15 Wim Taymans <wim@fluendo.com>
8001 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
8002 (gst_multi_queue_item_new):
8003 Don't use GSlice because we don't depend on >= 2.10 yet.
8005 2007-06-15 Wim Taymans <wim@fluendo.com>
8007 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
8008 (update_time_level), (apply_segment), (apply_buffer),
8009 (gst_single_queue_push_one), (gst_multi_queue_item_new),
8010 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
8011 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
8012 (single_queue_underrun_cb), (single_queue_check_full):
8013 Remove debug printf.
8015 2007-06-15 Wim Taymans <wim@fluendo.com>
8017 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
8018 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
8019 (gst_data_queue_set_flushing), (gst_data_queue_push),
8020 (gst_data_queue_pop), (gst_data_queue_drop_head),
8021 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
8022 * libs/gst/base/gstdataqueue.h:
8023 Various cleanups.
8024 Added methods to get the current levels and to inform the queue that the
8025 'full' limits changed.
8027 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
8028 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
8029 (gst_single_queue_flush), (update_time_level), (apply_segment),
8030 (apply_buffer), (gst_single_queue_push_one),
8031 (gst_multi_queue_item_steal_object),
8032 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
8033 (gst_multi_queue_loop), (gst_multi_queue_chain),
8034 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
8035 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
8036 (gst_multi_queue_src_query), (single_queue_overrun_cb),
8037 (single_queue_underrun_cb), (single_queue_check_full),
8038 (gst_single_queue_new):
8039 Keep track of time in the queue by measuring the difference between
8040 running_time on input and output. This gives more accurate results and
8041 can compensate for segments correctly.
8042 Make a queue by default only 5 buffers deep. We will now increase the
8043 buffer size depending on the filledness of the other queues.
8044 Factor out commong flush code.
8045 Make sure we don't add additional refcounts to buffers when we can avoid
8046 it.
8047 Propagate GstFlowReturn differently.
8048 Use GSlice for intermediate GstMultiQueueItems.
8049 Keep track of EOS.
8050 Resize queues on over and underruns based on filled level of other
8051 queues.
8052 When checking if the queue is filled, prefer to measure in time if we
8053 can and fall back to bytes when no time is known.
8055 * plugins/elements/gstqueue.c:
8056 Fix return value.
8058 2007-06-15 Wim Taymans <wim@fluendo.com>
8060 * libs/gst/base/gstbasetransform.c:
8061 (gst_base_transform_sink_event):
8062 Work around the brokenness of the event vmethod in basetransform. Prefer
8063 to return TRUE when the subclass returned FALSE (meaning don't forward
8064 the event).
8066 * libs/gst/base/gstbasetransform.h:
8067 Clarify the docs.
8069 2007-06-15 Wim Taymans <wim@fluendo.com>
8071 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8072 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8073 (gst_base_src_default_query), (gst_base_src_get_range),
8074 (gst_base_src_start):
8075 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8076 Improve debugging.
8078 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8080 * docs/pwg/advanced-types.xml:
8081 Added more formats to caps table.
8083 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8085 * tools/gst-launch.c: (main):
8086 Remove crufy code. GOption does not need this workaround.
8088 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8090 * libs/gst/controller/gstcontroller.c:
8091 (gst_controlled_property_set_interpolation_mode):
8092 Fix wrong getter for enums in controller.
8094 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8096 * libs/gst/check/gstcheck.c: (gst_check_init):
8097 Intercept criticals and warnings in the Gst-Phonon log domain, so
8098 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8099 well.
8101 2007-06-14 Edward Hervey <edward@fluendo.com>
8103 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8104 Since this file doesn't include "gst.h" it will not go through the
8105 macros that disable GST_LOG if debugging was disabled.
8107 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8109 * libs/gst/check/Makefile.am:
8110 * libs/gst/check/gstcheck.h:
8111 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8112 * pkgconfig/gstreamer-check.pc.in:
8113 Ugly 'fix' for the controller unit test on the p5 bot: in
8114 fail_unless_equals_float() check whether the values are 'almost
8115 equal' by allowing a small absolute error, which should be good
8116 enough for our use cases (normal numbers and values close to 0).
8117 Proper fixage left to floating point arithmetic aficionados.
8119 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8121 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8122 (gst_base_sink_render_object), (gst_base_sink_get_position):
8123 Add two breaks thats where missing.
8125 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8127 * docs/libs/gstreamer-libs-sections.txt:
8128 * libs/gst/check/gstcheck.h:
8129 API: add fail_unless_equals_float() and assert_equals_float().
8130 Add documentation for some of the macros.
8132 * tests/check/libs/controller.c: (GST_START_TEST):
8133 Use newly-added asserts.
8135 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8137 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8138 Show the caps change in the log to help spotting the case of not
8139 exactly matching caps.
8141 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8143 * docs/pwg/building-boiler.xml:
8144 Fix typos, spotted by Thijs Vermeir (#447190).
8146 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8148 * docs/plugins/tmpl/.cvsignore:
8149 Ignore file to keep the buildbots happy
8151 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8153 * docs/plugins/Makefile.am:
8154 * docs/plugins/gstreamer-plugins-docs.sgml:
8155 * docs/plugins/gstreamer-plugins-sections.txt:
8156 Pull fdsink into the docs too.
8158 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8160 * libs/gst/controller/gstinterpolation.c:
8161 Actually use the new functions with min/max checks for the trigger and
8162 none interpolation modes for get() and get_value_array() instead of
8163 just the latter.
8165 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8167 * libs/gst/controller/gstcontroller.c:
8168 (gst_controlled_property_free):
8169 Unset the minimum and maximum GValues when freeing the corresponding
8170 GstControllerProperty struct.
8172 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8174 * libs/gst/controller/gstcontroller.c:
8175 (gst_controlled_property_new):
8176 * libs/gst/controller/gstcontrollerprivate.h:
8177 * libs/gst/controller/gstinterpolation.c:
8178 (gst_controlled_property_find_control_point_node),
8179 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8180 (interpolate_none_get_string_value_array),
8181 (interpolate_trigger_get),
8182 (interpolate_trigger_get_enum_value_array),
8183 (interpolate_trigger_get_string_value_array):
8184 Protect against values larger or smaller than the minimum or maximum
8185 allowed value for the property when using values that can be compared.
8187 Optimize trigger interpolator a bit by taking the last requested value
8188 into account instead of always looping through the complete list.
8190 Fix coding style a bit, everywhere else we use "return foo" instead
8191 of "return (foo)".
8193 * tests/check/libs/controller.c: (GST_START_TEST),
8194 (gst_controller_suite):
8195 Add unit test for the protection against too large or too small
8196 values.
8198 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8200 * docs/random/slomo/controller.txt:
8201 Add some thoughts about the future of the controller.
8203 2007-06-08 Wim Taymans <wim@fluendo.com>
8205 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8206 Don't overflow in retimestamping code.
8208 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8210 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8211 Use gst_util_guint64_to_gdouble for conversions.
8212 * win32/common/libgstreamer.def:
8213 Add new exported functions.
8215 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8217 * gst/gstutils.c:
8218 Small docs addition.
8220 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8222 * README:
8223 Remove that test line again.
8225 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8227 * README:
8228 Test commit mail sending.
8230 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8232 * configure.ac:
8233 Fix typo and test commit mail sending.
8235 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8237 * tests/examples/controller/audio-example.c:
8238 Improve comment and test commit mail sending.
8240 2007-06-07 Wim Taymans <wim@fluendo.com>
8242 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8243 (gst_bin_remove_func), (gst_bin_element_set_state),
8244 (bin_handle_async_start), (bin_handle_async_done),
8245 (gst_bin_handle_message_func):
8246 Add helper function to find messages.
8247 Generate the async-done messages together with the state change
8248 messages.
8249 Small cleanups in handling toplevel bins.
8251 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8253 * libs/gst/base/gstdataqueue.c:
8254 * libs/gst/base/gstdataqueue.h:
8255 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8256 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8257 (gst_multi_queue_sink_event):
8258 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8259 Fix multiqueue leaking buffers and events when downstream or the
8260 queue are flushing. Make refcounting assumptions explicit and
8261 document them (shouldn't break existing code that uses it other than
8262 maybe leak miniobjects, but that already happens anyway). Add unit
8263 test for the most common flushing case. Fixes #423700.
8265 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8267 * libs/gst/controller/gstcontroller.c:
8268 Clarify docs: The get_all, get_value_array(s) functions
8269 don't modify the GObject properties.
8271 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8273 * libs/gst/controller/gstcontroller.c:
8274 (gst_controlled_property_set_interpolation_mode),
8275 (gst_controlled_property_prepend_default),
8276 (gst_controlled_property_new), (gst_controller_set_unlocked),
8277 (gst_controller_set), (gst_controller_set_from_list),
8278 (gst_controller_unset), (gst_controller_unset_all):
8279 * libs/gst/controller/gstcontrollerprivate.h:
8280 * libs/gst/controller/gstinterpolation.c:
8281 Factor out the 'set' logic into gst_controller_set_unlocked for the
8282 gst_controller_set and gst_controller_set_from_list functions.
8284 To make life of the interpolators easier always add a control point
8285 at timestamp zero with the default value.
8287 In the linear interpolator make things more obvious by better variable
8288 naming (slope).
8290 Implement cubic interpolation mode (by using a natural cubic spline)
8291 and map the quadratic interpolation mode to this too (as quadratic
8292 doesn't make much sense, see discussion on the list).
8294 * tests/check/libs/controller.c: (GST_START_TEST),
8295 (gst_controller_suite):
8296 Add unit test for the cubic interpolation mode and check everywhere
8297 if the interpolation mode could be set as expected.
8299 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8301 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8302 Don't use GLib-2.10 functions, we still depend on
8303 GLib-how-old-is-it-again-2.8.
8305 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8307 * docs/gst/gstreamer-sections.txt:
8308 * gst/Makefile.am:
8309 * gst/gst.c:
8310 * gst/gst.h:
8311 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8312 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8313 (_gst_param_fraction_values_cmp),
8314 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8315 * gst/gstparamspecs.h:
8316 * gst/gstvalue.c:
8317 * tests/check/Makefile.am:
8318 * tests/check/gst/.cvsignore:
8319 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8320 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8321 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8322 (GST_START_TEST), (gst_param_spec_suite):
8323 API: add GstParamSpecFraction, so elements can have fraction
8324 properties without lots of painful string parsing (#444648).
8326 2007-06-05 Wim Taymans <wim@fluendo.com>
8328 * gst/gstobject.c: (gst_object_class_init):
8329 Fix signal signature.
8331 * gst/gstsegment.c:
8332 Add small clarification in the api docs.
8334 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8335 States are protected with object lock.
8337 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8339 * AUTHORS:
8340 I should probably be listed as an author by now.
8342 * docs/random/release:
8343 Update the release doc
8345 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8347 * gst/gstvalue.c:
8348 Make docs for gst_value_compare() mention return enums that
8349 actually exist.
8351 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8353 * configure.ac:
8354 Back to CVS
8356 === release 0.10.13 ===
8358 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8360 * configure.ac:
8361 releasing 0.10.13, "With or without you"
8363 2007-05-25 Wim Taymans <wim@fluendo.com>
8365 * gst/gstbin.c: (bin_handle_async_done):
8366 Make sure that the child bin stops after completing the async state
8367 change so that the parent can continue the state change to PLAYING.
8368 Fixes #441159.
8370 2007-05-25 Wim Taymans <wim@fluendo.com>
8372 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8373 (unref_data), (gst_collect_pads_remove_pad),
8374 (gst_collect_pads_check_pads):
8375 Use additional refcounting to avoid crashes when dynamically adding and
8376 removing pads. Fixes #420206.
8378 2007-05-24 Wim Taymans <wim@fluendo.com>
8380 * tools/gst-launch.c: (event_loop):
8381 When buffering goes from a two digit to a single digit number, make sure
8382 to remove the old second digit by writing a blank over it.
8384 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8386 * libs/gst/base/gstdataqueue.c:
8387 Eliminate tabs and trailing comma in enum list; fix some typos.
8389 2007-05-24 Wim Taymans <wim@fluendo.com>
8391 * tests/check/gst/gstbin.c: (GST_START_TEST):
8392 Allow refcount of 3 and 4 because some state thread might still be busy
8393 with it.
8395 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8397 * plugins/elements/Makefile.am:
8398 * plugins/elements/gstmultiqueue.h:
8399 * plugins/elements/gstqueue.h:
8400 These are not installed headers, no need for padding.
8402 2007-05-24 Wim Taymans <wim@fluendo.com>
8404 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8405 (gst_bin_continue_func):
8406 Enable latency for next release.
8407 Restore STATE_LOCK around recalc_state that was left out during the
8408 rewrite and could result in racy behaviour when _get_state and
8409 recalc_state are run concurrently. See #440463.
8411 2007-05-23 Wim Taymans <wim@fluendo.com>
8413 * tests/check/gst/gstsystemclock.c: (store_callback),
8414 (GST_START_TEST):
8415 Improve test_async_order to also work when both timers are already
8416 expired when we get scheduled to check it.
8418 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8420 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8421 (gst_bin_set_property), (gst_bin_get_property),
8422 (gst_bin_remove_func), (gst_bin_handle_message_func):
8423 * gst/gstbin.h:
8424 'private' is a c++ keyword, let's not use that in header files,
8425 otherwise c++ compilers will throw a tantrum.
8427 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8429 * plugins/elements/gstelements.c:
8430 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8431 (gst_file_sink_get_current_offset):
8432 * plugins/indexers/gstindexers.c: (plugin_init):
8433 Use #ifdef for HAVE_XYZ for consistency.
8435 * tests/check/Makefile.am:
8436 * tests/check/elements/.cvsignore:
8437 * tests/check/elements/filesink.c: (setup_filesink),
8438 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8439 Add some unit tests for filesink.
8441 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8443 Patch by: Mark Nauwelaerts <manauw at skynet be>
8445 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8446 (gst_file_sink_query), (gst_file_sink_do_seek),
8447 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8448 * plugins/elements/gstfilesink.h:
8449 Fix position reporting; rename data_written member to current_pos to
8450 reflect its real meaning (fixes #412648).
8452 2007-05-22 Edward Hervey <edward@fluendo.com>
8454 * docs/gst/gstreamer-sections.txt:
8455 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8456 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8457 (gst_bin_remove_func), (gst_bin_handle_message_func):
8458 * gst/gstbin.h:
8459 Add a property for bins that handle the state change of their childs.
8460 Fixes #435880
8462 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8464 * libs/gst/controller/gstinterpolation.c:
8465 Use an array of the correct type when using _get_value_array with
8466 linear interpolation.
8468 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8470 * gst/gstelement.c (gst_element_requires_clock,
8471 gst_element_provides_clock, gst_element_request_pad,
8472 gst_element_class_set_details, gst_element_class_set_details_simple,
8473 gst_element_default_send_event, gst_element_abort_state,
8474 gst_element_continue_state, gst_element_set_state,
8475 gst_element_set_state_func, iterator_activate_fold_with_resync):
8476 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8477 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8478 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8479 gst_pad_get_range, gst_pad_pull_range):
8480 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8481 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8482 GstPadActivateModeFunction, GstPadChainFunction,
8483 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8484 GstPadFixateCapsFunction, GstPadTemplate):
8485 * gst/gstpipeline.c (gst_pipeline_change_state,
8486 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8487 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8488 gst_pipeline_get_delay):
8489 Whitespace and docs fixes.
8491 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8493 * libs/gst/controller/gstinterpolation.c:
8494 (interpolate_trigger_get_enum_value_array),
8495 (interpolate_trigger_get_string_value_array):
8496 Add support for retrieving value arrays when using the trigger
8497 interpolation mode.
8499 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8501 * libs/gst/controller/gstcontroller.c:
8502 (gst_controller_get_value_array):
8503 * libs/gst/controller/gstcontroller.h:
8504 Clarify the docs of gst_controller_get_value_array(): The array where
8505 the values should be written to must be allocated as there seems to be
8506 no way to get the size of a random GType. This doesn't change any
8507 behaviour. Also fix some typos all over the place and remove an unused,
8508 commented function that is not necessary as g_object_set() could be
8509 used instead.
8510 * tests/check/libs/controller.c: (GST_START_TEST),
8511 (gst_controller_suite):
8512 Add unit test for gst_controller_get_value_array().
8514 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8516 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8518 Disable part of the gst_buffer_try_new_and_alloc test, because
8519 it can happily succeed on 64-bit systems where there's more address
8520 space available.
8522 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8524 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8525 Add unit test for the improved caps checking from bug #421543.
8527 2007-05-21 Wim Taymans <wim@fluendo.com>
8529 * docs/design/part-synchronisation.txt:
8530 Small addition.
8532 * gst/gstbin.c: (gst_bin_query):
8533 * plugins/elements/gstqueue.c: (apply_segment):
8534 Improve debugging.
8536 * gst/gstmessage.h:
8537 Improve docs.
8539 2007-05-21 Wim Taymans <wim@fluendo.com>
8541 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8542 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8543 (gst_pad_configure_src):
8544 Added simple version of improved caps checking. It was previously
8545 assumed that a setcaps function would check the validity of the caps but
8546 people prefer us to check caps against the template automatically.
8547 Fixes #421543.
8549 2007-05-21 Wim Taymans <wim@fluendo.com>
8551 * libs/gst/base/gstbasetransform.h:
8552 Fix macro for locking/unlocking the transform lock.
8554 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8556 * docs/plugins/tmpl/.cvsignore:
8557 Ignore more.
8559 2007-05-18 Edward Hervey <edward@fluendo.com>
8561 * plugins/elements/gstqueue.c: (gst_queue_loop):
8562 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8563 for the subtle art of warning a potentially blocking thread that it
8564 should check the source pad return value, and relay the information
8565 upstream.
8567 2007-05-18 Edward Hervey <edward@fluendo.com>
8569 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8570 Release the queue lock !
8572 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8574 * docs/libs/gstreamer-libs-sections.txt:
8575 Add the two new controller functions to the appropiate places.
8577 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8579 reviewed by: Stefan Kost <ensonic@users.sf.net>
8581 * libs/gst/controller/gstcontroller.c:
8582 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8583 (_gst_controller_get_property), (_gst_controller_set_property),
8584 (_gst_controller_init), (_gst_controller_class_init):
8585 * libs/gst/controller/gstcontroller.h:
8586 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8587 (gst_object_get_control_rate), (gst_object_set_control_rate):
8588 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8589 Add API that provides sync suggestion timestamps for elements that
8590 call gst_object_sync_values() from which those elements can subdivide
8591 their processing loop to get the best results for the controlled
8592 properties. For now it just suggests last_sync + control_rate as
8593 new timestamp but this will be improved in the future.
8595 While doing that change the control-rate property to a GstClockTime
8596 from guint and change it's meaning from samples to nanoseconds as
8597 the GstController doesn't know anything about sampling rate. Strictly
8598 speaking this breaks ABI but as the control-rate property didn't do
8599 anything in the past and as such couldn't be used this should be no
8600 problem.
8602 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8604 reviewed by: Stefan Kost <ensonic@users.sf.net>
8606 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8607 (gst_controller_unset_all):
8608 * libs/gst/controller/gstcontrollerprivate.h:
8609 * libs/gst/controller/gstinterpolation.c:
8610 (gst_controlled_property_find_control_point_node):
8611 Save last synced value from the list to continue searching from there
8612 in future syncs. This speeds everything up a bit.
8614 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8616 reviewed by: Stefan Kost <ensonic@users.sf.net>
8618 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8619 (gst_control_point_find), (gst_controlled_property_new),
8620 (gst_control_point_free), (gst_controlled_property_free),
8621 (gst_controller_set), (gst_controller_set_from_list),
8622 (gst_controller_unset), (gst_controller_unset_all),
8623 (gst_controller_sync_values):
8624 * libs/gst/controller/gstcontroller.h:
8625 * libs/gst/controller/gstcontrollerprivate.h:
8626 * libs/gst/controller/gstinterpolation.c:
8627 (gst_controlled_property_find_control_point_node),
8628 (interpolate_none_get), (interpolate_trigger_get):
8629 Add a new private GstControlPoint struct which "inherits" from
8630 GstTimedValue to allow different interpolators to store internal
8631 values next to each control point. From the outside everything is
8632 still a GstControlPoint so we don't loose binary compatibility.
8633 Also fixup all the GValue handling to not leak GValues or list nodes.
8634 * tests/check/libs/controller.c: (GST_START_TEST):
8635 Free the list nodes and GValues in the controller_misc test.
8637 2007-05-17 Edward Hervey <edward@fluendo.com>
8639 * gst/gstsegment.c:
8640 Small doc fix.
8642 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8644 * gst/gstplugin.c: (gst_plugin_load_file):
8645 If we fail to load a plugin because of unresolved symbols or missing
8646 libraries and spew a warning to stderr, we may just as well mention
8647 which plugin it was that failed to load.
8649 2007-05-13 David Schleef <ds@schleef.org>
8651 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8652 handles the case when ENABLE_GTK_DOC is false, and installs
8653 the prebuilt documentation. So gtk-doc subdirs are
8654 unconditionally enabled. Fixes: #349099.
8656 2007-05-13 David Schleef <ds@schleef.org>
8658 * gst/gstutils.h: Reword some documentation.
8660 2007-05-12 David Schleef <ds@schleef.org>
8662 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8663 do anything with the passed "module" parameter, so remove it.
8664 Allows removal of additional vestigal code.
8666 2007-05-12 David Schleef <ds@schleef.org>
8668 * gst/gstplugin.c:
8669 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8670 Switch to using g_stat() because it's more portable.
8672 2007-05-12 David Schleef <ds@schleef.org>
8674 * gst/gst.c:
8675 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8676 parsing for embedded systems.
8677 * gst/gstelementfactory.c:
8678 Allow gst_element_register() to be called with plugin==NULL.
8679 Did nobody notice that static elements were broken?
8681 2007-05-12 Wim Taymans <wim@fluendo.com>
8683 * tools/gst-launch.c: (event_loop):
8684 Give more interesting info when buffering starts and stops.
8685 Fix case where buffering starts but we fail to update the buffering flag
8686 because the target state is not PLAYING.
8688 2007-05-12 Wim Taymans <wim@fluendo.com>
8690 * plugins/elements/gstqueue.c: (gst_queue_init),
8691 (gst_queue_finalize), (update_time_level), (apply_segment),
8692 (apply_buffer), (gst_queue_locked_flush),
8693 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8694 (gst_queue_handle_sink_event), (gst_queue_chain),
8695 (gst_queue_push_one), (gst_queue_loop):
8696 * plugins/elements/gstqueue.h:
8697 Refactor an cleanup queue a bit.
8698 Do better time level calculations that also work when the srcpad is not
8699 yet running.
8700 Remove some unneeded debug lines.
8702 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8703 Added testcase for time level measurement.
8704 Try to make some stuff more racefree.
8706 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8708 * gst/gsturi.c: (gst_element_make_from_uri):
8709 Don't leak plugin feature.
8711 * tests/check/Makefile.am:
8712 * tests/check/gst/.cvsignore:
8713 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8714 Add brain-dead unit test.
8716 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8718 Patch by: Jeroen Wouters <woutersj at gmail com>
8720 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8721 Treat protocol strings in a case-insensitive way (#437563).
8723 2007-05-11 Michael Smith <msmith@fluendo.com>
8725 * gst/gstplugin.c: (gst_plugin_load_file):
8726 * gst/gstregistry.c: (gst_registry_scan_path_level):
8727 Don't print a g_warning for any failure to load a shared object.
8728 Instead, push this down into gstplugin.c, and warn _only_ if we
8729 failed to open the module (i.e. failure to link).
8730 Avoids warnings on normal, working, non-plugin .so files.
8732 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8734 * gst/gstplugin.c (gst_plugin_load_file):
8735 * gst/gstregistry.c (GST_CAT_DEFAULT,
8736 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8737 Print a g_warning if there was an error when loading a plugins during
8738 registry scan. The shuld help beginners starting with gst-plugin
8739 template.
8741 2007-05-10 Wim Taymans <wim@fluendo.com>
8743 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8744 (update_time_level), (gst_queue_locked_flush),
8745 (gst_queue_handle_sink_event), (gst_queue_chain),
8746 (gst_queue_push_one), (gst_queue_loop):
8747 * plugins/elements/gstqueue.h:
8748 Be smarter when calculating the current amount of data in the queue by
8749 measuring the difference between start and end timestamps (in running
8750 time) inside the queue. Fixes #432876.
8751 API: GstQueue::pushing to notify elements that we are pushing data again
8752 since the running signal is rather broken for this purpose.
8754 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8756 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8757 gst_queue_base_init, gst_queue_init):
8758 use GST_BOILERPLATE
8760 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8762 * win32/common/libgstreamer.def:
8763 Add new exported functions.
8764 * win32/vs6/grammar.dsp:
8765 Use grammar pre-generated files.
8767 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8769 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8771 * gst/Makefile.am:
8772 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8773 * gst/gstparse.h:
8774 * gst/gstutils.c: (gst_parse_bin_from_description):
8775 * gst/gstutils.h:
8776 Maintain API and ABI when --disable-parse is used. Now that
8777 we have an appropriate error code, we can just return NULL and the
8778 appropriate error when gst_parse_launch() is used despite it having
8779 been disabled (#342564).
8781 * tests/check/Makefile.am:
8782 * tests/check/pipelines/.cvsignore:
8783 * tests/check/pipelines/parse-disabled.c:
8784 Make sure these functions exist and return NULL plus a GError when
8785 --disable-parse is used.
8787 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8789 * tests/benchmarks/complexity.c: (main):
8790 * tests/benchmarks/mass-elements.c: (main):
8791 Set a good example and don't leak messages.
8793 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8795 * docs/gst/Makefile.am:
8796 * docs/libs/Makefile.am:
8797 Correct fixxrefs options.
8799 * docs/plugins/Makefile.am:
8800 * docs/plugins/gstreamer-plugins-docs.sgml:
8801 * docs/plugins/gstreamer-plugins-sections.txt:
8802 * plugins/elements/Makefile.am:
8803 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8804 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8805 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8806 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8807 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8808 _GstCapsFilterClass, trans_class):
8809 * plugins/elements/gstelements.c (name, rank, type, _elements):
8810 * plugins/elements/gstidentity.c
8811 (gst_identity_check_imperfect_timestamp,
8812 gst_identity_check_imperfect_offset):
8813 Document capsfilter and add doc-blurb to identity.
8815 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8817 * libs/gst/controller/gstcontroller.c:
8818 (gst_controlled_property_set_interpolation_mode):
8819 * libs/gst/controller/gstinterpolation.c:
8820 Don't crash if someone tries to set an interpolation mode that
8821 is invalid or that isn't supported yet. Fixes #422295.
8823 * tests/check/libs/controller.c: (GST_START_TEST),
8824 (gst_controller_suite):
8825 Add a test case for the above.
8827 2007-05-03 Edward Hervey <edward@fluendo.com>
8829 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8830 Properly set the last_stop position on GstSegment. This will only happen
8831 if there is a buffer to push out.
8833 2007-05-03 Wim Taymans <wim@fluendo.com>
8835 * libs/gst/base/gstbasetransform.c:
8836 (gst_base_transform_buffer_alloc):
8837 always_in_place does not mean that the sink and source caps are the
8838 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8840 2007-05-03 Wim Taymans <wim@fluendo.com>
8842 * docs/libs/gstreamer-libs-sections.txt:
8843 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8844 (gst_base_src_default_query), (gst_base_src_get_range):
8845 * libs/gst/base/gstbasesrc.h:
8846 API: gst_base_src_query_latency(). Added method so that subclasses can
8847 easily get the latency values of the base source class.
8849 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8851 * tools/gst-inspect.c (print_implementation_info):
8852 Remove 0.8 cruft.
8854 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8856 * tools/Makefile.am:
8857 * tools/gst-launch.1.in:
8858 Don't create a customised man page based on the host architecture,
8859 describe the default registry path generically. That way the man
8860 page is the same for all architectures and packagers have one
8861 multilib issue less to deal with. Fixes #434926.
8863 2007-05-02 Wim Taymans <wim@fluendo.com>
8865 * gst/gstpad.c:
8866 Fix documentation as spotted by rg on IRC.
8868 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8870 * gst/gstutils.c:
8871 Improve docs for gst_element_{link,unlink}.
8873 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8875 * docs/design/part-events.txt:
8876 * docs/design/part-overview.txt:
8877 * gst/gstevent.c:
8878 * gst/gsturi.c:
8879 * gst/gsturi.h:
8880 * libs/gst/base/gstbasesink.c:
8881 Typo fixes; minor docs addition.
8883 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8885 * docs/gst/gstreamer-sections.txt:
8886 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8887 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8888 * gst/gsturi.h:
8889 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8890 or src that supports a given URI protocol exists.
8892 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8894 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8895 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8896 Set the location to NULL if "file://" is set as URI. Otherwise
8897 some random previous URI would still be set if "file://" is
8898 set on an already used filesink/filesrc.
8900 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8902 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8903 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8904 Special case the "file://" URI as as this is used by some
8905 applications to test with gst_element_make_from_uri if there's
8906 an element that supports the URI protocol.
8907 Also move the g_path_is_absolute() check for the location part
8908 of the URI to also check this for "file://localhost/bla" URIs.
8910 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8912 * docs/gst/gstreamer-sections.txt:
8913 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8914 * gst/gstbuffer.h:
8915 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8916 (gst_buffer_suite):
8917 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8919 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8921 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8922 (gst_registry_binary_load_pad_template),
8923 (gst_registry_binary_load_plugin),
8924 (gst_registry_binary_read_cache):
8925 * gst/gstregistrybinary.h:
8926 Implement no-mmap alternative for registry reading. Do code cleanups.
8927 Add more comments about avoiding strdups for all text data. Comments
8928 welcome.
8930 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8932 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8933 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8934 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8935 Comment structs and reformat to fix the build (that stuff should go
8936 into a priv. header).
8938 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8940 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8941 (gst_registry_binary_load_feature):
8942 * gst/gstregistrybinary.h:
8943 Refactor so that we can implement multiple features. Add support for
8944 TypeFindFactory features.
8946 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8948 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8950 * configure.ac:
8951 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8953 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8955 * gst/gstbin.c: (gst_bin_element_set_state),
8956 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8957 (bin_handle_async_done), (gst_bin_handle_message_func):
8958 Fix build with --gst-disable-gst-debug
8960 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8962 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8963 Make sure streaming has finished before calling the ::stop() vfunc,
8964 since that vfunc might clear state which is being used in the
8965 streaming thread. This fixes a race that caused crashes in
8966 audioresample when shutting down a pipeline (#420106).
8968 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8970 * docs/gst/gstreamer-sections.txt:
8971 That was one byte missing.
8973 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8975 * configure.ac:
8976 * docs/gst/gstreamer-sections.txt:
8977 * gst/Makefile.am:
8978 * gst/gstconfig.h.in:
8979 * gst/gstobject.c: (gst_object_class_init),
8980 (gst_signal_object_class_init):
8981 * gst/gstobject.h:
8982 2nd attempt to have a xml-less build as a joined effort of #413123
8983 and #421480.
8985 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8987 * docs/design/draft-tagreading.txt:
8988 Added open issues/thoughts to draft.
8990 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8992 * gst/parse/grammar.tab.pre.c:
8993 * gst/parse/grammar.tab.pre.h:
8994 * gst/parse/lex._gst_parse_yy.pre.c:
8995 Update the prebuild parser sources.
8997 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8999 * gst/parse/Makefile.am:
9000 And now fix the building of the flex sources. Now everything should
9001 work as expected.
9003 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9005 * gst/parse/Makefile.am:
9006 Now hopefully fix the build failures by setting proper rule
9007 dependencies and moving instead of copying.
9009 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9011 * tests/benchmarks/complexity.gnuplot:
9012 * tests/benchmarks/complexity.scm:
9013 * tests/benchmarks/mass-elements.gnuplot:
9014 * tests/benchmarks/mass-elements.scm:
9015 Total licensification.
9017 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9019 * gst/parse/Makefile.am:
9020 Fix the build by correcting the rule that gave wrong files to flex.
9022 2007-04-19 Stefan Kost <ensonic@users.sf.net>
9024 * tests/benchmarks/complexity.c:
9025 * tests/benchmarks/mass-elements.c:
9026 Change licence to LGPL as granted by Benjamin and Andy.
9028 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
9030 * gst/parse/Makefile.am:
9031 Add correct grammar.tab.h dependency if compiling without new enough
9032 flex. Fixes #431150.
9034 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9036 * gst/parse/Makefile.am:
9037 Fix typo and use outdated sources if the flex/bison sources are newer
9038 than the pregenerated ones but flex is too old. Print a warning in
9039 that case. This should fix the build on the build bot.
9041 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
9043 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
9044 * gst/parse/Makefile.am:
9045 * gst/parse/grammar.y:
9046 * gst/parse/parse.l:
9047 Make the parser reentrant and recursively callable. This requires flex
9048 >= 2.5.31, for older versions pregenerated sources are used as we
9049 can't bump the build dependency. Finally fixes #349180.
9051 * gst/gstparse.c: (gst_parse_launch):
9052 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
9053 now anyway.
9055 * docs/gst/Makefile.am:
9056 * docs/gst/Makefile.am:
9057 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
9058 (__gst_parse_strfree), (__gst_parse_link_new),
9059 (__gst_parse_link_free), (__gst_parse_chain_new),
9060 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9061 (gst_parse_element_set), (gst_parse_free_link),
9062 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9063 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9064 (_gst_parse_launch):
9065 * gst/parse/grammar.tab.pre.h:
9066 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9067 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9068 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9069 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9070 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9071 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9072 (_gst_parse_yypop_buffer_state),
9073 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9074 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9075 (yy_fatal_error), (_gst_parse_yyget_extra),
9076 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9077 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9078 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9079 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9080 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9081 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9082 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9083 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9084 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9085 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9086 (_gst_parse_yyfree):
9087 If the installed flex version is too old use pre-generated parser
9088 sources. These pre-generated parser sources are always updated when
9089 the actual flex/bison sources change but require everybody who wants
9090 to change something in the parser to have flex >= 2.5.31 installed.
9092 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9094 * common/m4/gst-gettext.m4:
9095 * gst/gst-i18n-lib.h:
9096 Make --disable-nls to work
9098 2007-04-17 Wim Taymans <wim@fluendo.com>
9100 * gst/gstconfig.h.in:
9101 Revert previous change that broke the build.
9103 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9105 * configure.ac:
9106 * gst/Makefile.am:
9107 * gst/gstconfig.h.in:
9108 Drop libxml2 dependency when building with
9109 --enable-binary-registry --disable-loadsave
9111 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9113 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9114 (gst_registry_binary_read_cache):
9115 * gst/gstregistrybinary.h:
9116 Remove unnecessary <sys/mman.h> include which broke the win32 build
9117 with MingW; move includes from header file to .c file, even if the
9118 header file isn't installed; use g_strerror() where UTF-8 strings
9119 are expected, such as in GST_DEBUG messages.
9121 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9123 * docs/libs/gstreamer-libs-sections.txt:
9124 Remove bogus addition for API I didn't end up keeping.
9126 * libs/gst/base/gstbasesrc.h:
9127 Mention Since: 0.10.13 in the documentation.
9129 Add the API keyword to the previous ChangeLog entry.
9131 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9133 * docs/libs/gstreamer-libs-sections.txt:
9134 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9135 (gst_base_src_default_prepare_seek_segment),
9136 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9137 * libs/gst/base/gstbasesrc.h:
9138 Allow basesrc derived classes to execute seeks in other formats
9139 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9140 to prepare the GstSegment in any format that their perform_seek method
9141 will be able to understand. The default implementation provides the
9142 old behaviour of attempting to convert the seek offsets to the
9143 configured native format.
9145 API: basesrc::prepare_seek_segment vmethod.
9147 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9149 * gst/gstelement.c: (gst_element_get_state_func):
9150 Don't output the same debug statement twice.
9152 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9153 (gst_adapter_peek), (gst_adapter_take_buffer):
9154 Optimise the case where we have buffers at the head of the queue that
9155 can be joined quickly (because they're contiguous sub-buffers) by
9156 merging them together rather than copying data out into new memory.
9158 * gst/parse/grammar.y:
9159 * tests/check/pipelines/parse-launch.c:
9160 Fix a leak in an error path for parse_launch, and add a check
9161 for it to the testsuite.
9163 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9165 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9166 Don't deadlock when releasing a pad - gst_pad_set_active may try
9167 and take the multiqueue lock too.
9169 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9171 * gst/gsterror.c: (_gst_core_errors_init):
9172 * gst/gsterror.h:
9173 API: add GST_CORE_ERROR_DISABLED (#392804).
9175 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9177 * docs/faq/gst-uninstalled:
9178 don't get empty paths on the PATH variables
9179 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9180 Don't format for the uncommon terminal width of 84 characters.
9182 2007-04-06 Wim Taymans <wim@fluendo.com>
9184 * gst/gstpipeline.c: (reset_stream_time),
9185 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9186 Only try to select a different pipeline clock when we went back to
9187 PAUSED and not when we merely got flushed.
9189 2007-04-05 Michael Smith <msmith@fluendo.com>
9191 * tools/gst-launch.1.in:
9192 fractions are better supported in gstreamer than ractions, so
9193 suggest using those.
9195 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9197 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9199 * po/LINGUAS:
9200 * po/da.po:
9201 Added Danish translation.
9203 2007-04-05 Wim Taymans <wim@fluendo.com>
9205 * libs/gst/base/gstbasesink.c:
9206 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9207 Fix leak caused when refusing newsegment after EOS.
9209 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9210 (gst_fake_sink_init), (gst_fake_sink_set_property),
9211 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9212 (gst_fake_sink_render), (gst_fake_sink_change_state):
9213 * plugins/elements/gstfakesink.h:
9214 Add num-buffers property to make the element generate EOS after a
9215 configurable amount of buffers.
9216 API: fakesink::num-buffers property.
9218 * tests/check/elements/fakesink.c: (GST_START_TEST),
9219 (fakesink_suite):
9220 Fix GstBus leak in test.
9221 Test for fakesink num-buffers.
9223 2007-04-05 Wim Taymans <wim@fluendo.com>
9225 * libs/gst/base/gstbasesink.c:
9226 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9227 (gst_base_sink_change_state):
9228 Don't accept anything after an EOS, return UNEXPECTED instead.
9230 * tests/check/elements/fakesink.c: (GST_START_TEST),
9231 (fakesink_suite):
9232 Unit test for new EOS behaviour.
9234 2007-04-05 Wim Taymans <wim@fluendo.com>
9236 * gst/gstelement.c: (gst_element_get_request_pad):
9237 Make padtemplates also work when they don't contain %s or %d.
9239 2007-04-05 Wim Taymans <wim@fluendo.com>
9241 * docs/gst/gstreamer-sections.txt:
9242 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9243 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9244 * gst/gstclock.h:
9245 Improve _adjust_unlocked() so that it overflows less.
9246 Add gst_clock_unadjust_unlocked to convert from external time to
9247 internal time based on calibration.
9248 Add some more debug.
9249 API: GstClock::gst_clock_unadjust_unlocked()
9251 2007-04-03 Wim Taymans <wim@fluendo.com>
9253 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9255 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9256 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9257 when releasing sink pad. Fixes #425400.
9259 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9261 * docs/random/ensonic/dynlink.txt:
9262 More work on proposal for new core api.
9264 * docs/libs/gstreamer-libs-sections.txt:
9265 * libs/gst/base/gstbasetransform.h:
9266 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9268 * libs/gst/controller/gstcontroller.c:
9269 (on_object_controlled_property_changed),
9270 (gst_controller_sync_values),
9271 (gst_controller_set_interpolation_mode):
9272 * libs/gst/controller/gstcontroller.h:
9273 Less verbose logging add docs for unimplemented parts and correctly
9274 return when using unavailable parts.
9276 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9278 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9279 Move all the debug to the CLOCK category, and associate it with
9280 the clock object.
9282 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9284 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9285 Make take_buffer a bit quicker by removing redundant checks
9286 caused by calling gst_adapter_take.
9288 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9290 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9291 Don't leak GCond.
9293 * tests/check/Makefile.am:
9294 * tests/check/elements/.cvsignore:
9295 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9296 (GST_START_TEST), (multiqueue_suite):
9297 Add some dead simple unit tests for the 'multiqueue' element
9298 (some bits don't work yet and are disabled for now).
9300 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9302 * gst/gstelement.c: (gst_element_get_request_pad),
9303 (gst_element_class_get_request_pad_template):
9304 Make gst_element_get_request_pad() create request pads only for
9305 request pad templates and not for, say, sometimes pad templates.
9307 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9309 * docs/design/draft-klass.txt:
9310 Add example that needs more thinking.
9312 * docs/design/draft-missing-plugins.txt:
9313 More thoughts about wrapper plugins.
9315 * docs/random/ensonic/embedded.txt:
9316 * docs/random/ensonic/profiling.txt:
9317 More design work.
9319 2007-03-25 Wim Taymans <wim@fluendo.com>
9321 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9322 (gst_base_src_loop):
9323 Only push the segment events in the PLAYING state for live sources.
9325 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9327 * gst/gstpipeline.c: (gst_pipeline_change_state):
9328 Modify the clock distribution path in PAUSED->PLAYING so that we
9329 never attempt to choose a new clock unless we're actually leaving
9330 the PAUSED state for the first time. This prevents choosing a
9331 different clock when the state_change gets called for a 2nd time due
9332 to some element doing an async state change.
9334 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9336 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9337 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9338 (gst_pad_chain_unchecked), (gst_pad_push):
9339 Revert last commit. This needs some more thoughts.
9341 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9343 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9344 (gst_pad_chain_unchecked), (gst_pad_push):
9345 Check in set_caps if the caps are compatible with the pad and remove
9346 two functions that are redundant now. Fixes #421543.
9348 2007-03-22 Wim Taymans <wim@fluendo.com>
9350 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9351 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9352 Unref some more to make valgrind happy.
9354 2007-03-22 Wim Taymans <wim@fluendo.com>
9356 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9357 (gst_system_clock_id_wait_jitter),
9358 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9359 Fix anoying regression that survived a few releases. When adding an
9360 async entry while blocking on a sync entry, the sync entry will unblock
9361 but still be busy, so it should continue to wait instead of returning
9362 _BUSY to the app.
9363 Add some comments here and there.
9365 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9366 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9367 Add testcase for this.
9369 2007-03-22 Wim Taymans <wim@fluendo.com>
9371 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9372 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9373 WRONG_STATE and can silently pause the task. All other cases should
9374 error out.
9376 2007-03-22 Wim Taymans <wim@fluendo.com>
9378 Patch by: Ville Syrjala <syrjala at sci dot fi>
9380 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9381 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9382 Improve debugging.
9384 2007-03-21 Michael Smith <msmith@fluendo.com>
9386 * docs/pwg/advanced-types.xml:
9387 Fix some errors in the typefinding docs pointed out on irc.
9389 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9391 * libs/gst/base/gstbasesrc.c:
9392 Clarify FIXME comment in the face of having added unlock_stop()
9394 2007-03-21 Wim Taymans <wim@fluendo.com>
9396 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9397 Prepare for release where we warn against possible app breakage in the
9398 case of live pipelines along with an env var to enable/disable live
9399 preroll mode (GST_COMPAT=[no-]live-preroll).
9401 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9403 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9404 So we should use correct constants for checking for None offset.
9406 2007-03-20 Wim Taymans <wim@fluendo.com>
9408 * docs/design/part-block.txt:
9409 Mention the fact that the newly switched element should be set to at
9410 least PAUSED.
9412 2007-03-20 Wim Taymans <wim@fluendo.com>
9414 * gst/gst.c:
9415 Fix compilation with registry disabled as spotted by Saur.
9417 2007-03-20 Wim Taymans <wim@fluendo.com>
9419 Patch by: Olivier Crete <tester at tester dot ca>
9421 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9422 Look at the pending state too when syncing the element state to the
9423 parent. Fixes #420133.
9425 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9427 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9428 (gst_base_sink_change_state):
9429 * libs/gst/base/gstbasesink.h:
9430 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9431 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9432 (gst_base_src_deactivate):
9433 * libs/gst/base/gstbasesrc.h:
9434 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9435 for sub-classes to correctly clear any state they set trying to
9436 unlock, such as clearing out unlock commands from a command fd.
9437 API: basesrc::unlock_stop
9438 API: basesink::unlock_stop
9440 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9441 (gst_fd_sink_render), (gst_fd_sink_unlock),
9442 (gst_fd_sink_unlock_stop):
9443 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9444 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9445 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9447 Implement unlock_stop in fdsrc and fdsink.
9448 Implement seeking in fdsrc when a seekable fd is passed, as in
9449 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9451 2007-03-19 Wim Taymans <wim@fluendo.com>
9453 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9455 * gst/gstelement.c: (gst_element_class_init):
9456 Fix pad-added and pad-removed signal signatures so that the pad type is
9457 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9459 2007-03-19 Wim Taymans <wim@fluendo.com>
9461 * docs/gst/gstreamer-sections.txt:
9462 Add new element field and method.
9464 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9465 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9466 (gst_bin_recalc_state), (gst_bin_get_state_func),
9467 (gst_bin_element_set_state), (gst_bin_change_state_func),
9468 (gst_bin_continue_func), (bin_bus_handler),
9469 (bin_push_state_continue), (bin_handle_async_start),
9470 (bin_handle_async_done), (gst_bin_handle_message_func):
9471 Make async state changes a bit smarter by using new ASYNC_START and
9472 ASYNC_DONE messages. This reduces the number of times we run the state
9473 recalculation thread.
9474 Don't change state of element with a pending ASYNC_START message.
9475 Deprecate STATE_DIRTY messages.
9477 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9478 (gst_element_get_state_func), (gst_element_continue_state),
9479 (gst_element_lost_state), (gst_element_set_state_func),
9480 (gst_element_change_state):
9481 * gst/gstelement.h:
9482 Keep the state that was last set by the app in a new element field.
9483 Don't allow state changes when handling an element event.
9484 Post ASYNC_START and ASYNC_DONE messages.
9485 Change lost_state so that we go to PAUSED and wait for the parent to set
9486 us to PLAYING again (so latency calculation can be performed)
9487 Export gst_element_change_state() method so that subclasses can use it.
9488 API: gst_element_change_state()
9489 API: GST_STATE_TARGET
9491 * gst/gstpipeline.c: (gst_pipeline_class_init),
9492 (reset_stream_time), (gst_pipeline_change_state),
9493 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9494 Using the new ASYNC_START message we can reset the base_time when
9495 needed. This can then be used to implement base_time redistribution in
9496 flushing seeks so that we can remove the explicit seek handling.
9497 Perform latency query and configuration when going to PLAYING.
9499 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9500 (gst_base_sink_query), (gst_base_sink_change_state):
9501 Post new ASYNC_START/ASYNC_DONE messages.
9503 * tests/check/generic/sinks.c: (GST_START_TEST):
9504 Fix test because the bin will not set the async element to PLAYING right
9505 away.
9507 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9508 Make the message check a little stronger.
9509 Handle ASYNC messages.
9511 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9512 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9513 Expect ASYNC_DONE messages.
9515 2007-03-19 Wim Taymans <wim@fluendo.com>
9517 * docs/gst/gstreamer-sections.txt:
9518 * gst/gstmessage.c: (gst_message_new_async_start),
9519 (gst_message_new_async_done), (gst_message_parse_info),
9520 (gst_message_parse_async_start):
9521 * gst/gstmessage.h:
9522 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9523 support.
9525 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9527 * tools/gst-inspect.c:
9528 (print_plugin_automatic_install_info_codecs):
9529 Now that we don't check for the 'Codec' keyword any longer in the
9530 klass, we shouldn't spew a warning if the klass isn't a decoder or
9531 encoder (since it might be a Source/Network, for example).
9533 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9535 * tools/gst-inspect.c:
9536 (print_plugin_automatic_install_info_codecs):
9537 Don't require decoder/demuxer/depayloader elements or
9538 encoder/muxer/paylader elements to have 'Codec' as part of their
9539 factory class string when introspecting a plugin's capabilities.
9540 draft-klass.txt mentions that it might be removed in future, and
9541 flump3dec doesn't have it as part of its class string, so chances
9542 are others might also not have it.
9544 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9546 * po/af.po:
9547 * po/az.po:
9548 * po/bg.po:
9549 * po/ca.po:
9550 * po/cs.po:
9551 * po/de.po:
9552 * po/en_GB.po:
9553 * po/fr.po:
9554 * po/it.po:
9555 * po/nb.po:
9556 * po/nl.po:
9557 * po/ru.po:
9558 * po/sq.po:
9559 * po/sr.po:
9560 * po/sv.po:
9561 * po/tr.po:
9562 * po/uk.po:
9563 * po/vi.po:
9564 * po/zh_CN.po:
9565 * po/zh_TW.po:
9566 Update translations from translation project
9568 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9570 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9571 (gst_child_proxy_set_property):
9572 Invert precondition check to be alike the ones in the mimiced gobject
9573 api.
9575 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9577 * docs/design/draft-tagreading.txt:
9578 * docs/random/ensonic/audiobaseclasses.txt:
9579 Do some Architect work.
9581 * gst/gstobject.c: (gst_object_set_name):
9582 Add a WARNING.
9584 * gst/gstpad.c:
9585 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9587 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9589 * gst/gstsystemclock.c: (gst_system_clock_init),
9590 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9591 Defer starting the async system clock thread until the first async
9592 wait is scheduled. Fixes #414986.
9594 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9596 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9597 (gst_single_queue_free):
9598 Fix small leak (free GstSingleQueue structure too, not only contents).
9600 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9602 * gst/gstbin.c:(gst_bin_add):
9603 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9604 * win32/common/libgstbase.def:
9605 * win32/common/libgstreamer.def:
9606 Add new exported functions.
9608 2007-03-09 Wim Taymans <wim@fluendo.com>
9610 * docs/plugins/gstreamer-plugins-sections.txt:
9611 Fix GstTee docs.
9613 2007-03-09 Wim Taymans <wim@fluendo.com>
9615 * docs/gst/gstreamer-sections.txt:
9616 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9617 * gst/gstbuffer.h:
9618 Add metadata copy functions. Fixes #393099.
9619 API: gst_buffer_copy_metadata()
9621 * gst/gstutils.c: (gst_buffer_stamp):
9622 * libs/gst/base/gstbasetransform.c:
9623 (gst_base_transform_prepare_output_buffer):
9624 Use new metadata copy functions.
9626 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9628 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9629 (gst_identity_init), (gst_identity_check_perfect),
9630 (gst_identity_check_imperfect_timestamp),
9631 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9632 (gst_identity_set_property), (gst_identity_get_property):
9633 * plugins/elements/gstidentity.h:
9634 Separate out check-imperfect-timestamp and check-imperfect-offset.
9635 Put back check-perfect as it was to keep compatibility.
9637 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9639 * gst/gstelement.c: (gst_element_dispose):
9640 There's no need to warn if VOID_PENDING is not NONE here, as
9641 long as the state is NULL it's ok, and that's checked immediately
9642 above.
9644 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9646 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9647 Fix check for perfect stream to ignore buffers with -1
9648 offsets/offset ends when checking data contiguity.
9650 2007-03-08 Wim Taymans <wim@fluendo.com>
9652 * tools/gst-launch.c: (event_loop):
9653 Print INFO messages.
9655 2007-03-08 Wim Taymans <wim@fluendo.com>
9657 * libs/gst/base/gstbasetransform.c:
9658 (gst_base_transform_sink_eventfunc),
9659 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9660 (gst_base_transform_activate):
9661 * libs/gst/base/gstbasetransform.h:
9662 Add support for dropping buffers with custom GstFlowReturn.
9663 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9664 buffers or dropped buffers.
9666 * docs/libs/gstreamer-libs-sections.txt:
9667 docs for new custom return code.
9669 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9670 Use drop support in base class to implement drop-probability.
9672 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9674 * gst/gst.c: (load_plugin_func):
9675 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9676 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9677 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9678 Remove newlines at end of debug log strings.
9680 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9682 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9683 Only post bus message at max, once per buffer received.
9685 2007-03-07 Wim Taymans <wim@fluendo.com>
9687 * docs/design/Makefile.am:
9688 * docs/design/part-synchronisation.txt:
9689 Add doc about synchronisation
9691 * docs/design/draft-latency.txt:
9692 * docs/design/part-TODO.txt:
9693 * docs/design/part-clocks.txt:
9694 * docs/design/part-events.txt:
9695 * docs/design/part-gstbus.txt:
9696 * docs/design/part-gstpipeline.txt:
9697 * docs/design/part-live-source.txt:
9698 * docs/design/part-messages.txt:
9699 * docs/design/part-overview.txt:
9700 * docs/design/part-streams.txt:
9701 * docs/design/part-trickmodes.txt:
9702 Documentation updates.
9704 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9706 * gstreamer.doap:
9707 Update the doap file.
9709 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9711 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9712 Rename non-perfect to imperfect for Mike and for the sanctity of the
9713 language.
9714 Also make sure bus message gets emitted for data-incontiguities.
9716 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9718 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9719 (gst_identity_start):
9720 * plugins/elements/gstidentity.h:
9721 Emit bus message if check-perfect is true and we encounter a
9722 non-perfect stream between 2 consecutive buffers.
9723 Fixes #415394.
9725 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9727 * configure.ac:
9728 Back to CVS
9730 === release 0.10.12 ===
9732 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9734 * configure.ac:
9735 releasing 0.10.12, "Inevitable Demise"
9737 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9739 * configure.ac:
9740 Version 0.10.11.2 (0.10.12 pre-release)
9741 Bump libtool versioning.
9743 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9745 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9746 Log flow-names and not numbers.
9748 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9750 * configure.ac:
9751 Convert to new AG_GST style.
9753 2007-02-28 Wim Taymans <wim@fluendo.com>
9755 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9756 Don't unref query twice.
9758 2007-02-28 Wim Taymans <wim@fluendo.com>
9760 * gst/gstvalue.c: (gst_value_transform_object_string),
9761 (_gst_value_initialize):
9762 Implement GstObject -> string transform so we print object names
9763 when serializing GValues containing GstObjects.
9765 2007-02-28 Wim Taymans <wim@fluendo.com>
9767 * docs/gst/gstreamer-sections.txt:
9768 Add new stuff to docs.
9770 2007-02-28 Wim Taymans <wim@fluendo.com>
9772 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9773 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9774 (gst_base_sink_change_state):
9775 Improve latency query code.
9776 Don't leak latency events.
9778 * tests/check/gst/gstbin.c: (GST_START_TEST):
9779 Improve debugging.
9781 2007-02-28 Wim Taymans <wim@fluendo.com>
9783 * gst/gstelement.c: (gst_element_message_full),
9784 (gst_element_get_state_func):
9785 * gst/gstelement.h:
9786 Improve docs a little. Added Since: for new macro.
9788 * gst/gstobject.c: (gst_object_sink):
9789 * gst/gstpipeline.c: (gst_pipeline_change_state),
9790 (gst_pipeline_set_new_stream_time):
9791 * gst/gstpipeline.h:
9792 Improve debugging and docs.
9794 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9795 Improve debugging.
9797 2007-02-28 Wim Taymans <wim@fluendo.com>
9799 * gst/gstelement.c: (gst_element_message_full),
9800 (gst_element_set_locked_state), (gst_element_get_state_func),
9801 (gst_element_change_state):
9802 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9803 Documentation updates.
9804 Small code cleanups.
9806 * gst/gstmessage.c: (gst_message_new_info),
9807 (gst_message_parse_info):
9808 * gst/gstmessage.h:
9809 API: gst_message_new_info()
9810 API: gst_message_parse_info()
9811 Add INFO message create and parse code.
9813 2007-02-28 Wim Taymans <wim@fluendo.com>
9815 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9816 (bin_query_latency_done):
9817 Also report the live parameter of a latency query.
9819 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9821 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9822 Copy the current generic/states example from -base and adapt so
9823 we can use the exact same code everywhere.
9824 Check a STATES_IGNORE_ELEMENTS env var which can be used
9825 to ignore certain element factories for this test, which is
9826 what is being done in -base
9827 * tests/check/Makefile.am:
9828 Mention this environment variable.
9830 2007-02-27 Wim Taymans <wim@fluendo.com>
9832 * docs/gst/gstreamer-sections.txt:
9833 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9834 (gst_bus_timed_pop), (gst_bus_pop):
9835 * gst/gstbus.h:
9836 API: gst_bus_timed_pop()
9837 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9838 message to arrive on the bus.
9840 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9841 (gst_bus_suite):
9842 Two unit tests for new _timed_pop() function.
9844 2007-02-23 Wim Taymans <wim@fluendo.com>
9846 * gst/gstpipeline.c: (gst_pipeline_change_state),
9847 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9848 Don't ref a NULL clock in _provide_clock_func().
9849 Don't allow an INVALID delay.
9850 Don't try to calculate base_time with an invalid start_time.
9851 Also distribute and notify a NULL clock when it was selected.
9853 * tools/gst-launch.c: (event_loop):
9854 Don't crash when a NULL clock was selected in the pipeline.
9856 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9858 * docs/design/Makefile.am:
9859 * docs/design/draft-missing-plugins.txt:
9860 * docs/random/draft-missing-plugins.txt:
9861 Some small updates: update plugin system identifier prefix
9862 ('gstreamer.net' to 'gstreamer'), mention our new install
9863 API in libgstbaseutils rather than libgimme-codec, add
9864 reference to the online docs.
9866 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9868 * win32/common/config.h:
9869 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9870 use moap cl ci to only check in what is mentioned in the ChangeLog.
9872 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9874 * docs/gst/gstreamer-sections.txt:
9875 * gst/gstelement.h:
9876 Fix up documentation to link to the correct GstGError section.
9877 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9879 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9881 * tools/gst-launch.c: (event_loop):
9882 Make sure that we actually show the important message part of a
9883 warning message.
9884 No need to check if the gerror is not NULL to free; first of all
9885 g_free accepts NULL; and second the default error handler would
9886 segfault if gerror was NULL.
9888 2007-02-21 Wim Taymans <wim@fluendo.com>
9890 * docs/gst/gstreamer-sections.txt:
9891 Removed docs as well.
9893 2007-02-21 Wim Taymans <wim@fluendo.com>
9895 * gst/gstmessage.c: (gst_message_parse_duration):
9896 * gst/gstmessage.h:
9897 Remove new messages for release.
9899 2007-02-20 Wim Taymans <wim@fluendo.com>
9901 * docs/design/part-gstghostpad.txt:
9902 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9903 (gst_ghost_pad_new_full):
9904 Make the ghostpad a parent of the internal pad again for better backward
9905 compatibility. Don't write code that relies on this however.
9907 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9908 (gst_pad_link_check_hierarchy):
9909 Require that parents should be GstElements in the hierarchy check.
9911 2007-02-20 Wim Taymans <wim@fluendo.com>
9913 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9914 (gst_bin_change_state_func), (bin_query_min_max_init),
9915 (bin_query_latency_fold), (bin_query_latency_done),
9916 (gst_bin_query):
9917 Improve debug info.
9918 Implement latency query.
9920 2007-02-20 Wim Taymans <wim@fluendo.com>
9922 * docs/design/part-gstghostpad.txt:
9923 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9924 (gst_ghost_pad_internal_do_activate_push),
9925 (gst_ghost_pad_internal_do_activate_pull),
9926 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9927 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9928 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9929 Do not set the internal pad as a parent anymore so we can avoid
9930 hierarchy linking errors when the ghostpad has no parent yet. This also
9931 fixes failed activation because of unlinked internal pads, which in
9932 turn fixes the impossible case where you have to activate a pad before
9933 you can add it to a running element.
9934 Also fix the docs.
9936 * gst/gstpad.c: (pre_activate), (post_activate),
9937 (gst_pad_set_active), (gst_pad_activate_pull),
9938 (gst_pad_activate_push), (gst_pad_check_pull_range):
9939 Add some more debug info.
9940 Mark activation mode in pre_activate so that we don't try to activate in
9941 endless loops. Fixes #385084.
9943 2007-02-19 Wim Taymans <wim@fluendo.com>
9945 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9946 (gst_base_transform_check_get_range):
9947 Implement a checkgetrange function instead of relying on the default
9948 core behaviour that assumes we can operate in pull mode if we have a
9949 getrange function. First step at fixing #385084.
9951 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9953 * gst/gstchildproxy.h:
9954 * libs/gst/base/gstbasesink.h:
9955 * libs/gst/base/gstbasesrc.h:
9956 * libs/gst/base/gstbasetransform.h:
9957 More docs coverage and some ChangeLog surgery (add missing names)
9959 2007-02-15 Wim Taymans <wim@fluendo.com>
9961 * docs/design/part-TODO.txt:
9962 * docs/design/part-activation.txt:
9963 * docs/design/part-block.txt:
9964 * docs/design/part-buffering.txt:
9965 * docs/design/part-clocks.txt:
9966 * docs/design/part-element-source.txt:
9967 * docs/design/part-events.txt:
9968 * docs/design/part-gstbin.txt:
9969 * docs/design/part-gstbus.txt:
9970 * docs/design/part-gstpipeline.txt:
9971 * docs/design/part-live-source.txt:
9972 * docs/design/part-messages.txt:
9973 * docs/design/part-overview.txt:
9974 * docs/design/part-qos.txt:
9975 * docs/design/part-query.txt:
9976 * docs/design/part-states.txt:
9977 * docs/design/part-trickmodes.txt:
9978 Some doc updates. Start renaming from stream_time to running_time where
9979 it was used wrongly.
9981 2007-02-15 Wim Taymans <wim@fluendo.com>
9983 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9984 Answer LATENCY query.
9986 2007-02-15 Wim Taymans <wim@fluendo.com>
9988 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9989 (GST_START_TEST):
9990 Improve debugging.
9992 2007-02-15 Wim Taymans <wim@fluendo.com>
9994 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9995 (gst_pad_dispatcher):
9996 Improve debugging of default pad dispatcher and query functions.
9998 2007-02-15 Wim Taymans <wim@fluendo.com>
10000 * docs/gst/gstreamer-sections.txt:
10001 Remove old unused method.
10003 2007-02-13 Wim Taymans <wim@fluendo.com>
10005 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10006 Fix check
10008 2007-02-13 Wim Taymans <wim@fluendo.com>
10010 * docs/design/part-seeking.txt:
10011 Some small update.
10013 * gst/gstsegment.c: (gst_segment_set_seek):
10014 Revert old bogus change that should make seeking work again.
10016 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10018 * docs/random/ensonic/dynlink.txt:
10019 * docs/random/ensonic/interfaces.txt:
10020 * docs/random/ensonic/receipies.txt:
10021 Possible dynamic reconnection api, plus some type fixes the other two
10022 docs.
10024 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
10026 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10027 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10028 Also check for an absolute path following file:// in the filesrc
10029 element. Remove redundant check and call g_path_is_absolute() on the
10030 unescaped location.
10032 2007-02-13 Stefan Kost <ensonic@users.sf.net>
10034 * docs/design/draft-klass.txt:
10035 Add existing category analysis.
10037 * gst/gstcaps.c:
10038 Fix doc example, framerate is a fraction.
10040 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10042 * configure.ac:
10043 * docs/gst/Makefile.am:
10044 * docs/gst/gstreamer-sections.txt:
10045 * docs/libs/Makefile.am:
10046 Erm, forgot a bunch of --extra-dir.
10048 2007-02-12 Stefan Kost <ensonic@users.sf.net>
10050 * configure.ac:
10051 * docs/gst/Makefile.am:
10052 * docs/libs/Makefile.am:
10053 * docs/plugins/Makefile.am:
10054 Add crossreferences to glib/gobject docs.
10056 2007-02-12 Wim Taymans <wim@fluendo.com>
10058 * docs/design/draft-latency.txt:
10059 Small update.
10061 * docs/libs/gstreamer-libs-sections.txt:
10062 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10063 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10064 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10065 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10066 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10067 (gst_base_sink_get_position), (gst_base_sink_query),
10068 (gst_base_sink_change_state):
10069 * libs/gst/base/gstbasesink.h:
10070 API: gst_base_sink_query_latency() to let subclasses query the upstream
10071 latency.
10072 API: gst_base_sink_get_latency() to let subclasses query the configured
10073 latency in the sink.
10074 Implement query and set latency.
10075 Update some docs.
10076 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10077 don't continue preroll when we are flushing. Fixes #405284.
10079 * tests/check/pipelines/stress.c: (change_state_timeout),
10080 (quit_timeout), (GST_START_TEST), (stress_suite):
10081 Test for #405284.
10083 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10085 Patch by: René Stadler <mail at renestadler de>
10087 * docs/gst/gstreamer-sections.txt:
10088 * gst/gsttaglist.c: (_gst_tag_initialize):
10089 * gst/gsttaglist.h:
10090 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10092 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10094 * docs/libs/Makefile.am:
10095 Fix path to core docs.
10097 * gst/gstbin.c: (gst_bin_get_by_interface),
10098 (gst_bin_iterate_all_by_interface):
10099 Refix docs by also renaming 'interface' to 'iface' in implementation.
10101 * docs/gst/gstreamer-sections.txt:
10102 * gst/gstcaps.c:
10103 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10104 * gst/gstchildproxy.h:
10105 * gst/gstelementfactory.c:
10106 * gst/gstpadtemplate.h:
10107 * libs/gst/controller/gstcontroller.c:
10108 (gst_controlled_property_new):
10109 Document more.
10111 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10113 * gst/gstbin.h:(gst_bin_get_by_interface),
10114 (gst_bin_iterate_all_by_interface):
10115 Replace interface parameter name by iface as interface is
10116 a reserved keyword in Visual Studio for C++ projects so it removes
10117 a build error for application developpers using VS.
10118 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10119 Fix a bug on Windows in uri format check. Now the prefix checked
10120 is file:// and next we check if the path after file:// is absolute.
10121 * win32/common/libgstbase.def:
10122 * win32/common/libgstdataprotocol.def:
10123 * win32/common/libgstgstreamer.def:
10124 Add new exported functions.
10126 2007-02-09 Andy Wingo <wingo@pobox.com>
10128 * tests/check/pipelines/simple-launch-lines.c
10129 (simple_launch_lines_suite, test_tee): Disable tee test until I
10130 have time to fix it :-(
10132 * tests/check/Makefile.am (noinst_HEADERS):
10133 * tests/check/libs/libsabi.c:
10134 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10135 * tests/check/gst/gstabi.c:
10136 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10138 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10139 tests for push and pull tee behavior.
10141 * plugins/elements/gsttee.h:
10142 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10143 mark as deprecated as well as unimplemented. It was a crack idea.
10144 Add support for tee operating in pull mode, off by default.
10146 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10147 normal-case logs down to LOG, raise errors to WARNING.
10148 (gst_registry_xml_read_cache): Don't log before calling a function
10149 that logs.
10151 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10152 exit (registry finalize).
10153 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10154 DEBUG log when we emit signals that people don't even have the
10155 chance to connect to.
10156 (gst_registry_scan_path_level): Less logging in the normal case.
10158 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10160 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10162 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10163 Correctly generate EOS for non-seekable files. We don't have a total
10164 length for them and would get an unexpected end of file if we only
10165 special-cased for regular files. (Fixes: #404569)
10167 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10169 * tests/check/elements/filesrc.c: (GST_START_TEST),
10170 (filesrc_suite):
10171 Add unit test for the GstURIHandler interface in filesrc. This also
10172 tests the newly added file://localhost/foo/bar support.
10174 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10176 * gst/gstelementfactory.h:
10177 The klass string is not a hierarchy. Add reference to the design doc
10178 for more information and common types.
10180 2007-02-02 Wim Taymans <wim@fluendo.com>
10182 * gst/gstquery.c: (gst_query_new_latency):
10183 Remove old structure field.
10185 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10187 * tools/gst-launch.1.in:
10188 Give example for network streaming (#351998)
10190 2007-02-02 Wim Taymans <wim@fluendo.com>
10192 * docs/gst/gstreamer-sections.txt:
10193 Add docs for new methods.
10195 * gst/gstevent.c: (gst_event_new_latency),
10196 (gst_event_parse_latency):
10197 * gst/gstevent.h:
10198 Add new LATENCY event to configure latency in a pipeline.
10199 API: gst_event_new_latency
10200 API: gst_event_parse_latency
10202 * gst/gstmessage.c: (gst_message_new_buffering),
10203 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10204 (gst_message_new_latency), (gst_message_parse_buffering),
10205 (gst_message_parse_lost_preroll):
10206 * gst/gstmessage.h:
10207 Added messages used in draft-latency.
10208 API: gst_message_new_lost_preroll
10209 API: gst_message_parse_lost_preroll
10210 API: gst_message_new_prerolled
10211 API: gst_message_new_latency
10213 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10214 (gst_query_parse_latency):
10215 * gst/gstquery.h:
10216 Implemented new latency query as in design doc.
10217 API: gst_query_new_latency
10218 API: gst_query_set_latency
10219 API: gst_query_parse_latency
10221 2007-02-02 Wim Taymans <wim@fluendo.com>
10223 * docs/design/draft-latency.txt:
10224 Slight redesign to allow for dynamic latency adjustments.
10226 * docs/design/part-negotiation.txt:
10227 Fix some typos.
10229 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10231 reviewed by: Wim Taymans <wim@fluendo.com>
10233 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10234 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10235 Allow file://localhost/foo/bar URLs and correctly fail for every other
10236 hostname that one sets. This was gnomevfssrc is linked for those if
10237 installed as it can handle it (#403172)
10239 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10241 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10243 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10244 (unref_data), (gst_collect_pads_add_pad_full):
10245 * libs/gst/base/gstcollectpads.h:
10246 Don't put the previously added destroy notify in the GstCollectData
10247 struct as all it's padding is already used and we don't want to break
10248 ABI. Instead put in the pad's GObject data for now. This should be
10249 cleaned up for 0.11 (#402393).
10251 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10253 reviewed by: Wim Taymans <wim@fluendo.com>
10255 * docs/libs/gstreamer-libs-sections.txt:
10256 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10257 (unref_data), (gst_collect_pads_add_pad),
10258 (gst_collect_pads_add_pad_full):
10259 * libs/gst/base/gstcollectpads.h:
10260 API: Add function to specify a destroy notification for custom
10261 GstCollectData when adding new pads in GstCollectPads (#402393).
10263 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10265 * po/sv.po:
10266 Update Swedish translation (#378255).
10268 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10270 * docs/design/draft-klass.txt:
10271 Fix the previous change, this is a list of categories and not a hierarchy.
10273 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10275 * docs/design/draft-klass.txt:
10276 Add info about how to get a list of used classes.
10278 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10280 * plugins/elements/gsttypefindelement.c:
10281 (gst_type_find_element_chain_do_typefinding),
10282 (gst_type_find_element_change_state):
10283 Don't leak found caps in chain function (no idea why that never
10284 showed up as a leak anywhere).
10286 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10288 * gst/gstplugin.h:
10289 Fix and expand GstPluginDesc API docs.
10291 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10293 * gst/gstcaps.c:
10294 * gst/gstelementfactory.c:
10295 * gst/gstpadtemplate.h:
10296 api doc fixes
10298 * libs/gst/controller/gstcontroller.c:
10299 (gst_controlled_property_new):
10300 * tests/examples/controller/audio-example.c:
10301 comment fixes
10303 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10305 * configure.ac:
10306 comment about refining the xml deps
10308 * docs/manuals.mak:
10309 comments about moving away from jade for docs
10311 * gst/gst.c:
10312 recommit the ifdefs to use the binary registry
10314 * gst/gstbin.c: (gst_bin_change_state_func):
10315 this break is obsolete
10317 * gst/gstelementfactory.h:
10318 better GST_ELEMENT_DETAILS docs, add comment about translation
10320 * gst/gstinfo.h:
10321 remove eol slash
10323 * gst/gstobject.c: (gst_signal_object_get_type):
10324 add G_UNLIKELY as usual
10326 * gst/gstpad.c: (gst_pad_event_default):
10327 add fall trhu comment
10329 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10330 (gst_registry_binary_initialize_magic),
10331 (gst_registry_binary_save_string),
10332 (gst_registry_binary_save_pad_template),
10333 (gst_registry_binary_save_feature),
10334 (gst_registry_binary_save_plugin),
10335 (gst_registry_binary_write_cache),
10336 (gst_registry_binary_check_magic),
10337 (gst_registry_binary_load_pad_template),
10338 (gst_registry_binary_load_feature),
10339 (gst_registry_binary_load_plugin),
10340 (gst_registry_binary_read_cache):
10341 comment typo and formatting
10343 * gst/gstutils.c: (gst_element_state_get_name),
10344 (gst_element_state_change_return_get_name):
10345 remove obsolete breaks
10347 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10348 add FIXME 0.11 and remove cpp comment
10350 2007-01-29 Edward Hervey <edward@fluendo.com>
10352 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10353 Fix print statement in an even more portable way.
10355 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10357 * docs/gst/gstreamer-sections.txt:
10358 * gst/gstutils.h:
10359 API: add GST_ROUND_DOWN_* macros (#401781).
10361 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10363 * docs/gst/gstreamer.types.in:
10364 * gst/gstregistry.c: (gst_registry_class_init):
10365 Document registry signals and make gtk-doc pick them up (#401381).
10367 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10369 * docs/pwg/building-testapp.xml:
10370 Add some audioconverts and audioresample to the pipeline, and some
10371 more comments and error handling.
10373 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10375 * docs/manual/manual.xml:
10376 * docs/pwg/pwg.xml:
10377 Fix typo (#400987).
10379 2007-01-26 Wim Taymans <wim@fluendo.com>
10381 * gst/gstcaps.c: (gst_static_caps_get):
10382 Init caps flags too.
10384 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10386 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10388 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10389 If not using mmap'ed files try to seek to the end instead of the
10390 start to determine whether we can seek at all. This fixes the case
10391 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10392 seeks for everything afterwards fail. Fixes #400656
10394 2007-01-25 Wim Taymans <wim@fluendo.com>
10396 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10397 Add some refcount debugging.
10398 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10399 in multiple streaming threads.
10401 2007-01-25 Wim Taymans <wim@fluendo.com>
10403 Patch by: David Schleef <ds at schleef dot org>
10405 * docs/libs/gstreamer-libs-sections.txt:
10406 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10407 * libs/gst/base/gstadapter.h:
10408 API: gst_adapter_copy() that can reduce the amount of memcpy when
10409 getting data from the adapter. Fixes #388201.
10411 2007-01-25 Edward Hervey <edward@fluendo.com>
10413 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10414 In print statements, "%x" is for guint. Fixes build on macosx.
10416 2007-01-24 Edward Hervey <edward@fluendo.com>
10418 * plugins/elements/gstmultiqueue.c:
10419 (gst_multi_queue_loop):
10420 Small fix.
10421 (single_queue_overrun_cb), (single_queue_underrun_cb),
10422 (single_queue_check_full), (gst_single_queue_new):
10423 Implement single queue growth system.
10424 This uses the extra-size properties, and will grow single queues by
10425 that much if one goes full whereas there are others empty. This is
10426 called extra-mode in the code.
10427 When a single queue's levels go back below the initial max-size
10428 limits, it is no longer in extra-mode. This is to ensure we don't
10429 consume too much memory.
10430 Fixes #399875
10432 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10434 * gst/gst.c: (gst_init_get_option_group):
10435 Make warning about late g_thread_init() calls a bit more explicit,
10436 so that it's more obvious to application developers what they need
10437 to do if a user files a bug against their application.
10439 2007-01-22 Edward Hervey <edward@fluendo.com>
10441 * plugins/elements/gstmultiqueue.c:
10442 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10443 Remove previous hack of unsetting the flushing flag for the source pad
10444 instead of activating it. Instead, fix the source pad activate function
10445 so that it no longer depends on having a parent set or not.
10447 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10449 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10451 * docs/manual/basics-bus.xml:
10452 Fix example code, gst_element_unref() doesn't exist any longer.
10454 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10456 Patch by: Mark Nauwelaerts <manauw at skynet be>
10458 * gst/gstpad.c:
10459 Fix two docs typoes (#399094).
10461 2007-01-19 Edward Hervey <edward@fluendo.com>
10463 * docs/faq/gst-uninstalled:
10464 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10465 depending on libgstbaseutils can work in uninstalled environment.
10467 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10469 * gst/gsttaglist.h:
10470 * gst/gsttagsetter.c:
10471 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10472 statement for new tag.
10474 2007-01-17 Edward Hervey <edward@fluendo.com>
10476 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10477 When dynamically creating single queues, activate sinkpad before adding
10478 it.
10479 We should be doing the same thing for the source pad, but we can't
10480 since it would call a method which needs the parent to be set in order
10481 to work propertly. Instead of activating the source pad, we just unset
10482 the flushing flag, which is the minimal requirement for adding a pad
10483 to an element in a state greater than READY.
10485 2007-01-17 Edward Hervey <edward@fluendo.com>
10487 * docs/faq/gst-uninstalled:
10488 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10489 Mac OS X.
10491 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10493 * tests/check/gst/gstabi.c:
10494 * tests/check/gst/struct_hppa.h:
10495 * tests/check/libs/libsabi.c:
10496 * tests/check/libs/struct_hppa.h:
10497 Add ABI structs for HPPA (see #393796).
10499 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10501 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10502 Actually write ABI structs to the file specified in the GST_ABI
10503 environment variable, as the message we print claims we would.
10505 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10507 * tests/check/gst/gsttask.c:
10508 Fix header comment.
10510 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10512 * gst/gsttaglist.c: (_gst_tag_initialize):
10513 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10514 previous two entries.
10516 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10518 * docs/gst/gstreamer-sections.txt:
10519 * gst/gsttaglist.c: (_gst_tag_initialize):
10520 * gst/gsttaglist.h:
10521 Add tag support for beat-per-minute.
10523 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10525 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10526 (gst_registry_binary_initialize_magic),
10527 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10528 (gst_registry_binary_save_pad_template),
10529 (gst_registry_binary_save_feature),
10530 (gst_registry_binary_save_plugin),
10531 (gst_registry_binary_write_cache),
10532 (gst_registry_binary_check_magic),
10533 (gst_registry_binary_load_pad_template),
10534 (gst_registry_binary_load_feature),
10535 (gst_registry_binary_load_plugin),
10536 (gst_registry_binary_read_cache):
10537 * gst/gstregistrybinary.h:
10538 Use glib types, cleanup comments, impement interfaces and uri-types.
10540 2007-01-13 Andy Wingo <wingo@pobox.com>
10542 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10543 getrange() to return buffers with other caps, while we fix
10544 demuxers and typefind, or otherwise change part-negotiation.txt.
10546 2007-01-12 Andy Wingo <wingo@pobox.com>
10548 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10549 Factor start/stop into this private function instead of partially
10550 in activate functions and partially in the change_state function.
10551 Fixes setup before the element has changed from READY->PAUSED, as
10552 is the case in pull-mode pipelines.
10553 (gst_base_transform_sink_activate_push)
10554 (gst_base_transform_src_activate_pull): Refactor to use
10555 gst_base_transform_activate().
10556 (gst_base_transform_change_state): Removed, not needed any more.
10558 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10559 Truncate before fixating.
10561 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10562 Don't set_caps() if the result of fixating is ANY, as it's not
10563 supported, and not necessary in the case of a link with no
10564 template caps on either side. Fixes tests/check/libs/basesrc in
10565 some pull-mode tests.
10567 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10568 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10569 (gst_base_transform_src_activate_pull):
10570 Track the activation mode.
10571 (gst_base_transform_setcaps): In pull mode, when activating the
10572 src pad, after activating the sink pad, activate the sink pad's
10573 peer, as discussed in part-negotiation.txt.
10575 * libs/gst/base/gstbasesrc.h:
10576 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10577 vmethod, as in basesink.
10579 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10581 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10582 mode, first proxy the setcaps to the peer pad.
10583 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10584 new fixate vmethod.
10585 (gst_base_sink_default_activate_pull): Rename from
10586 gst_base_sink_activate_pull.
10587 (gst_base_sink_negotiate_pull): New function, performs negotiation
10588 in pull mode before calling ::activate_pull().
10589 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10590 vmethod instead of the default implementation. I have no idea how
10591 this worked before. Negotiate before calling activate_pull.
10593 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10594 sink pads in pull mode. In addition to being correct, fixes
10595 filesrc ! decodebin ! identity ! fakesink.
10596 (gst_pad_get_range, gst_pad_pull_range): Don't call
10597 gst_pad_set_caps() if the caps changes; instead error out with
10598 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10600 2007-01-12 Andy Wingo <wingo@pobox.com>
10602 * docs/design/part-negotiation.txt: Update with more policy.
10604 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10606 * libs/gst/check/gstbufferstraw.h:
10607 * libs/gst/check/gstcheck.h:
10608 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10609 belongs.
10611 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10613 * tests/check/Makefile.am:
10614 * tests/check/gst/.cvsignore:
10615 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10616 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10617 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10618 (GST_START_TEST), (gst_tag_setter_suite):
10619 Add minimal unit test for beforementioned GstTagSetter bug.
10621 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10623 Patch by: René Stadler <mail at renestadler dot de>
10625 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10626 gst_tag_list_merge() returns a new list, so it's not the best idea
10627 to ingore its return value. Effectively meant that tags could only
10628 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10629 Also add function guard to require a non-NULL taglist as input (has
10630 always been so due to gst_tag_list_copy(), just making it explicit).
10632 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10634 * docs/random/draft-missing-plugins.txt:
10635 Some additions: mention new API that is supposed to be used at the
10636 various stages; short blob about new gst-inspect introspection
10637 option; mention potential future problem with plugins that have
10638 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10640 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10642 * tools/gst-inspect.c:
10643 (print_plugin_automatic_install_info_codecs),
10644 (print_plugin_automatic_install_info_protocols),
10645 (print_plugin_automatic_install_info), (main):
10646 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10647 introspect plugin files and get machine-parsable output that corresponds
10648 to the last bit of the missing-plugin installer string (small gotcha:
10649 doesn't take into account ranks).
10651 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10653 * configure.ac:
10654 * docs/gst/gstreamer-sections.txt:
10655 * gst/Makefile.am:
10656 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10657 (gst_registry_lookup_locked):
10658 * gst/gstregistry.h:
10659 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10660 (gst_registry_binary_initialize_magic),
10661 (gst_registry_binary_save_string),
10662 (gst_registry_binary_save_pad_template),
10663 (gst_registry_binary_save_feature),
10664 (gst_registry_binary_save_plugin),
10665 (gst_registry_binary_write_cache),
10666 (gst_registry_binary_check_magic),
10667 (gst_registry_binary_load_pad_template),
10668 (gst_registry_binary_load_feature),
10669 (gst_registry_binary_load_plugin),
10670 (gst_registry_binary_read_cache):
10671 * gst/gstregistrybinary.h:
10672 * gst/gstregistryxml.c: (load_feature),
10673 (gst_registry_xml_read_cache):
10674 commit binary registry (disabled by default, see #359653)
10676 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10678 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10679 Fix 'make check' too.
10681 2007-01-10 Andy Wingo <wingo@pobox.com>
10683 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10684 notes.
10686 * docs/design/part-negotiation.txt: Update with, um, one way that
10687 pull-mode negotiation might work?
10689 * gst/gstpad.h:
10690 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10691 that the pad must be a src pad; makes sense to call it the other
10692 way in pull mode, and the logic is symmetric anyway.
10694 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10696 * plugins/elements/gstfilesink.c:
10697 Include <stdio.h> for fseeko().
10699 2007-01-10 Wim Taymans <wim@fluendo.com>
10701 * gst/gstevent.c:
10702 * gst/gstevent.h:
10703 Reserve LATENCY event.
10705 2007-01-09 Wim Taymans <wim@fluendo.com>
10707 * docs/design/draft-latency.txt:
10708 Updates.
10710 2007-01-09 Wim Taymans <wim@fluendo.com>
10712 * docs/design/draft-latency.txt:
10713 Updates.
10715 * gst/gstelement.h:
10716 * gst/gststructure.c:
10717 * gst/gsttrace.c:
10718 Small typo fixes.
10720 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10722 * tests/check/.cvsignore:
10723 Ignore test-registry.xml as well.
10725 2007-01-09 Wim Taymans <wim@fluendo.com>
10727 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10728 unref data at the end when we are done with the pad.
10730 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10732 * docs/gst/gstreamer-sections.txt:
10733 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10734 (init_post), (gst_deinit), (gst_update_registry):
10735 * gst/gst.h:
10736 API: add gst_update_registry() (#391296).
10738 * tests/check/Makefile.am:
10739 * tests/check/gst/gstregistry.c:
10740 * tests/check/gst/.cvsignore:
10741 Simple unit test for the above.
10743 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10745 * gst/gstregistry.c: (gst_registry_scan_path_level):
10746 Plugin extension on HP-UX is .sl, add that to the list of approved
10747 plugin extensions (see #393796).
10749 * tests/check/gst/gstpad.c: (GST_START_TEST):
10750 ulong => gulong. Fixes compilation with HP-UX compiler.
10752 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10753 Fix compilation if valgrind headers are not available.
10755 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10757 * win32/common/libgstreamer.def:
10758 Add new exported function.
10759 * win32/vs6/libgstbase.dsp:
10760 Add gstdataqueue.c to the build.
10761 * win32/vs6/libgstcoreelements.dsp:
10762 Add gstmultiqueue.c to the build.
10764 2007-01-06 Andy Wingo <wingo@pobox.com>
10766 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10767 activate_pull(), providing for a way to specialize the process of
10768 spawning a thread to pull on the sink pad. There is a default
10769 implementation.
10771 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10772 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10773 (gst_base_sink_init): Renamed pad activation functions (inserting
10774 "_pad" in their names). Refactor to use the new activate_pull
10775 vmethod, as appropriate.
10776 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10777 default activate_pull function to start a task pulling from the
10778 sink pad, as before.
10780 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10781 on the pads if necessary, as in push()/chain(). Update docs.
10782 Shouldn't affect existing pull() usage as it is currently only
10783 being used on buffers without caps.
10785 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10787 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10788 (init_pre):
10789 Call g_thread_init() first thing in gst_init() / gst_check_init().
10790 When initialisation is done via gst_init_get_option_group() and
10791 GOption parsing, issue a warning if the GLib thread system has not
10792 been initialised yet by the time gst_init_get_option_group() is
10793 called, as it's quite likely other GLib functions such as
10794 g_option_context_new() have been called already then, and
10795 g_thread_init() must be called before any other GLib function. The
10796 application in question must be fixed in that case, since memory
10797 corruption might happen otherwise.
10798 We issue the warning because even if the GLib folks decide to work
10799 around the problem on their end in future, this is still an issue
10800 with all GLib versions >= 2.10.0, so we should warn until we depend
10801 on a GLib version we know to be safe.
10802 Update documentation as well.
10803 Closes bug #391278.
10805 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10807 * tools/gst-inspect.c: (main):
10808 * tools/gst-launch.c: (main):
10809 * tools/gst-typefind.c: (main):
10810 * tools/gst-xmlinspect.c: (main):
10811 Call g_thread_init() really really early, before any other GLib
10812 function (see #342564 and recent discussion on gtk-devel-list).
10814 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10816 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10818 * gst/gst_private.h:
10819 * gst/gstconfig.h.in:
10820 * gst/gstinfo.h:
10821 On win32, all the __declspec stuff for symbol exporting is
10822 apparently only needed with MSVC, but doesn't work with MingW.
10823 Fixes compilation with MingW and #391909.
10825 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10827 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10828 Change some GST_ERROR_OBJECT that aren't really errors to
10829 GST_WARNING_OBJECT in order to reduce terminal spam.
10831 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10833 * tests/check/Makefile.am:
10834 disable test again, as there seem to be still race problems
10836 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10838 * tests/check/Makefile.am:
10839 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10840 (GST_START_TEST), (queue_suite):
10841 enable queue test again, add tests for the leaky behaviour
10843 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10845 * configure.ac:
10846 * tests/examples/Makefile.am:
10847 Compile adapter test/example only if the required headers are
10848 available (fixes #391915).
10850 2007-01-01 David Schleef <ds@schleef.org>
10852 * gst/gstplugin.c:
10853 Restore the previous signal handler for SIGSEGV instead of
10854 setting to default, since we may have stolen it away from
10855 someone. (i.e., Mono)
10857 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10859 * docs/random/draft-missing-plugins.txt:
10860 Some small additions and clarifications.
10862 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10864 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10865 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10866 since that can lead to random memory corruptions and crashes
10867 (may or may not be related to #383244, #386711, and #386711).
10869 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10871 * tests/check/.cvsignore:
10872 * tests/check/Makefile.am:
10873 sync .cvsignome and CLEANFILES
10875 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10877 * tests/check/Makefile.am:
10878 fix distcheck
10880 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10882 * docs/design/part-states.txt:
10883 two tiny additional comments
10885 * gst/gststructure.c:
10886 doc fixing
10888 * tests/check/Makefile.am:
10889 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10890 (GST_START_TEST):
10891 disable test for now, unless it gets fixed
10893 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10895 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10896 (GST_START_TEST):
10897 fix race in underrun test
10899 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10901 * tests/check/elements/.cvsignore:
10902 ignore more
10904 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10905 (GST_START_TEST):
10906 try to narrow test failure
10908 2006-12-21 David Schleef <ds@schleef.org>
10910 * plugins/elements/gstfakesrc.c:
10911 Use g_random_int_range(), since it produces better random
10912 numbers in a range than almost-correct floating point code.
10914 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10916 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10917 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10918 (gst_check_teardown_sink_pad):
10919 do not automatically (de)activate pads
10921 * tests/check/Makefile.am:
10922 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10923 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10924 add new, yet simple tests for queue
10926 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10927 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10928 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10929 (GST_START_TEST):
10930 * tests/check/elements/identity.c: (cleanup_identity):
10931 consistent pad (de)activation
10933 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10935 Patch by: Sebastian Dröge <slomo ubuntu com>
10937 * libs/gst/base/gstcollectpads.c:
10938 Fix two doc typos (#387866).
10940 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10942 * docs/manual/advanced-dparams.xml:
10943 Fix typo (g_object_control_properties() doesn't exist).
10945 2006-12-19 Edward Hervey <edward@fluendo.com>
10947 * gst/gstsegment.c: (gst_segment_set_seek):
10948 Fine tune the cases where the segment start/stop values are really
10949 updated.
10950 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10951 Add tests for the return values of gst_segment_set_seek().
10953 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10955 * gst/gst.c:
10956 Docs typo fix.
10958 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10959 (gst_queue_init):
10960 Fix incorrect documentation and flesh it out a bit more.
10961 Set default values for the max properties on the GParamSpec as well,
10962 so it shows up correctly in gst-inspect.
10964 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10966 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10967 Correct docs of queue, add more detail and crosslink it more.
10969 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10971 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10972 Print additional debug info when the stream isn't perfectly
10973 timestamped; don't try to use invalid durations.
10975 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10977 * docs/design/Makefile.am:
10978 Dist new design docs.
10980 2006-12-16 Wim Taymans <wim@fluendo.com>
10982 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10984 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10985 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10986 (gst_collect_pads_stop), (gst_collect_pads_event),
10987 (gst_collect_pads_chain):
10988 * libs/gst/base/gstcollectpads.h:
10989 Add refcounting to the collectpads data so we can track when it's safe
10990 to free the data. Fixes #383382.
10992 2006-12-15 Wim Taymans <wim@fluendo.com>
10994 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10995 (gst_collect_pads_remove_pad):
10996 Automatically activate/deactivate pads when they are added to a
10997 started/stoped collectpads.
10999 2006-12-15 Wim Taymans <wim@fluendo.com>
11001 * gst/gstelement.c: (gst_element_add_pad):
11002 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
11003 * gst/gstpad.c: (gst_pad_init):
11004 Set pads to FLUSHING when they are created. Check, warn and fix when a
11005 demuxer adds an inactive pad to itself when running. Fixes #339326.
11007 2006-12-15 Wim Taymans <wim@fluendo.com>
11009 * gst/gstelement.c: (gst_element_class_init),
11010 (gst_element_default_send_event), (gst_element_send_event),
11011 (gst_element_default_query), (gst_element_query):
11012 Expose default element send_event and query handling as vmethods that
11013 subclasses can chain up to.
11015 2006-12-15 Wim Taymans <wim@fluendo.com>
11017 * gst/gstelement.c: (gst_element_set_state_func):
11018 Small documentation fixes.
11020 2006-12-15 Wim Taymans <wim@fluendo.com>
11022 * docs/design/draft-latency.txt:
11023 Checked in draft for handling latency in pipelines.
11025 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
11027 * Makefile.am:
11028 * gstreamer.doap:
11029 * gstreamer.spec.in:
11030 adding .doap file
11032 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
11034 * gst/gst.c: (init_pre), (init_post):
11035 init_pre() and init_post() might be called via our GOptionGroup or
11036 from gst_init(), and we should skip both of them if we've already
11037 been initialised, otherwise we will init some things twice or add
11038 two default log functions.
11040 2006-12-13 Edward Hervey <edward@fluendo.com>
11042 * docs/manual/basics-bus.xml:
11043 No, gst_main_loop does not exist. Its g_main_loop.
11044 Discovered by somebody who abused the copy-paste technique of coding :)
11046 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
11048 * gst/gstghostpad.c:
11049 Log ghostpad debug stuff to the GST_PADS category as well rather
11050 than just to the default category.
11052 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
11054 * configure.ac:
11055 * gst/gst.c: (init_pre):
11056 Add some basic system details such as OS and architecture
11057 to the debug output if possible, courtesy of uname().
11059 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11061 * docs/gst/running.xml:
11062 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11063 environment variables.
11065 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11067 * tests/check/gst/gstbin.c: (GST_START_TEST):
11068 It is acceptable to have a refcount of 2 or 3 at this point in the
11069 test, because the pipeline might be just posting its state_change
11070 message. The next line then waits for that message to appear using
11071 bus_poll, so that should be fine too.
11073 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11075 * gst/gst.c: (ensure_current_registry_forking):
11076 Ignore EINTR when reading from the child registry pipe.
11077 Explicitly ignore the return value from close, since it makes no
11078 difference.
11080 * gst/gstminiobject.c: (gst_mini_object_ref),
11081 (gst_mini_object_unref):
11082 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11084 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11085 When removing cached plugins, remove their features too, so they're
11086 not visible after they've disappeared.
11088 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11089 In the unlikely case that we are linking pads with no parents, don't
11090 crash trying to get the non-existent parent bin.
11092 * gst/parse/grammar.y:
11093 Output debug in the PIPELINE category
11095 2005-03-08 Wim Taymans <wim@fluendo.com>
11097 Patch by: René Stadler <mail at renestadler dot de>
11099 * gst/gstclock.c: (gst_clock_new_periodic_id):
11100 Reject invalid clock times for interval of periodic ids.
11101 Fixes ##383506.
11103 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11105 * gst/gstelementfactory.c: (gst_element_factory_create):
11106 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11107 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11108 * tools/gst-inspect.c: (print_element_info):
11109 Fix refcounting of gst_plugin_feature_load to match the docs.
11110 Fixes: #380129
11112 2006-12-07 Wim Taymans <wim@fluendo.com>
11114 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11115 (gst_base_sink_get_position):
11116 Improve debugging of events.
11118 2006-12-07 Wim Taymans <wim@fluendo.com>
11120 Patch by: René Stadler <mail at renestadler dot de>
11122 * gst/gstclock.c: (gst_clock_id_wait):
11123 Make period ids add the interval to the origial requested time instead
11124 of the possibly updated time which can be wrong when there are multiple
11125 waiters for the same id. Fixes #382592.
11127 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11128 (gst_system_clock_id_wait_jitter_unlocked),
11129 (gst_system_clock_id_wait_jitter):
11130 Fix restart in the async notify thread when an async entry is added to
11131 the front of the list. Fixes #381492.
11133 * tests/check/gst/gstsystemclock.c: (store_callback),
11134 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11135 Added test for multiple async waits.
11136 Added test for async wait order.
11138 2006-12-07 Wim Taymans <wim@fluendo.com>
11140 * gst/gstbin.c: (gst_bin_query):
11141 Add some more docs about the POSITION query.
11143 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11145 * configure.ac:
11146 Bump version nano - back to CVS.
11148 === release 0.10.11 ===
11150 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11152 * configure.ac:
11153 releasing 0.10.11, "Love never runs on time"
11155 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11157 * win32/common/libgstbase.def:
11158 * win32/common/libgstreamer.def:
11159 * win32/vs8/libgstbase.vcproj:
11160 * win32/vs8/libgstcoreelements.vcproj:
11161 * win32/vs8/libgstreamer.vcproj:
11162 Fix compilation on win32 under VS8
11163 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11164 Partially fixes #381175
11166 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11168 * gst/gstvalue.c: (gst_value_compare_fraction):
11169 If someone is foolish enough to compare 2 fractions with denominator =
11170 0, return UNORDERED rather than aborting.
11172 2006-11-28 Edward Hervey <edward@fluendo.com>
11174 * libs/gst/base/Makefile.am:
11175 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11176 (gst_data_queue_base_init), (gst_data_queue_class_init),
11177 (gst_data_queue_init), (gst_data_queue_new),
11178 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11179 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11180 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11181 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11182 (gst_data_queue_set_flushing), (gst_data_queue_push),
11183 (gst_data_queue_pop), (gst_data_queue_drop_head),
11184 (gst_data_queue_set_property), (gst_data_queue_get_property):
11185 * libs/gst/base/gstdataqueue.h:
11186 New GstDataQueue object for threadsafe queueing. Most useful for
11187 elements that need some queueing functionnality.
11188 * docs/libs/gstreamer-libs-docs.sgml:
11189 * docs/libs/gstreamer-libs-sections.txt:
11190 Insert documentation for GstDataQueue
11191 * plugins/elements/Makefile.am:
11192 * plugins/elements/gstelements.c:
11193 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11194 (gst_multi_queue_class_init), (gst_multi_queue_init),
11195 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11196 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11197 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11198 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11199 (gst_multi_queue_loop), (gst_multi_queue_chain),
11200 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11201 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11202 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11203 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11204 (wake_up_next_non_linked), (compute_next_non_linked),
11205 (single_queue_overrun_cb), (single_queue_underrun_cb),
11206 (single_queue_check_full), (gst_single_queue_new):
11207 * plugins/elements/gstmultiqueue.h:
11208 New multiqueue element, using GstDataQueue. Used for queuing multiple
11209 streams.
11210 Closes #344639 and #347785
11212 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11214 * docs/pwg/advanced-types.xml:
11215 add more missing type details
11217 * tools/gst-run.c: (main):
11218 remove unused variable
11220 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11222 * docs/libs/Makefile.am:
11223 * docs/libs/gstreamer-libs.types:
11224 add types of base classes to enable gobject specific stuff in the docs
11226 * docs/random/ensonic/embedded.txt:
11227 more ideas about isolating platform specific things
11229 2006-11-20 Wim Taymans <wim@fluendo.com>
11231 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11233 * libs/gst/check/gstcheck.h:
11234 Fix compilation and running against 0.9.4. Fixes #377332.
11236 2006-11-20 Wim Taymans <wim@fluendo.com>
11238 * gst/gstsegment.c: (gst_segment_set_seek),
11239 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11240 (gst_segment_to_running_time):
11241 Fix boundary checking in to_running_time() and to_stream_time().
11242 Fixes #377183.
11244 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11245 stream and running time can now be calculated for the complete
11246 clipped segment.
11248 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11250 * gst/gstpad.c: (gst_pad_push_event):
11251 Can't access event structure after giving away ownership of
11252 the event.
11254 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11256 * docs/random/ensonic/embedded.txt:
11257 * docs/random/ensonic/profiling.txt:
11258 * docs/random/ensonic/receipies.txt:
11259 more thinking
11261 2006-11-13 Wim Taymans <wim@fluendo.com>
11263 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11265 * gst/gstpad.c:
11266 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11268 2006-11-13 Wim Taymans <wim@fluendo.com>
11270 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11272 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11273 Store new length in segment duration so we don't keep on calling the
11274 potentially expensize get_size() call. Fixes #370865.
11276 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11278 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11280 * win32/common/libgstreamer.def:
11281 Add two missing symbols (#366492).
11283 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11285 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11286 (gst_adapter_take_buffer):
11287 Fix format string to use all its arguments.
11288 Remove useless >= check on a guint
11290 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11292 * tests/examples/adapter/.cvsignore:
11293 Ignore build file as commanded by the build-bot
11295 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11297 * tests/examples/adapter/Makefile.am:
11298 * tests/examples/adapter/adapter_test.c: (run_test_take),
11299 (run_test_take_buffer), (run_tests), (main):
11301 Add new files from the previous commit
11303 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11305 * Makefile.am:
11306 * configure.ac:
11307 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11308 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11309 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11310 * libs/gst/base/gstadapter.h:
11311 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11312 (GST_START_TEST), (gst_adapter_suite):
11313 * tests/examples/Makefile.am:
11314 Do some optimisation work in GstAdapter to avoid copies in more cases.
11315 It could still do slightly better by merging buffers when
11316 gst_buffer_is_span_fast is true, but is already faster.
11318 Also, avoid traversing a single-linked list to append each incoming
11319 buffer inside the adapter.
11321 Add simple test app that times the adapter behaviour in different
11322 situations, and extend the unit test to check that bytes enter and
11323 exit the adapter in their original order.
11325 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11327 * docs/random/draft-missing-plugins.txt:
11328 Update: use element message instead of adding a new message
11329 type to the core; don't provide GStreamer API to initiate the
11330 plugin download, just provide API to compose the strings needed
11331 and let an external libgimmestuff handle the rest.
11333 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11335 * tools/gst-inspect.c: (print_element_properties_info):
11336 Print a string instead of 'unknown type' for GValueArray properties
11338 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11340 * docs/random/draft-missing-plugins.txt:
11341 More small fixes.
11343 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11345 * tests/examples/typefind/typefind.c: (type_found), (main):
11346 Make typefind element example work again (#371894); add a
11347 license header.
11349 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11351 * docs/random/draft-missing-plugins.txt:
11352 Commit initial draft about how to deal with missing plugins,
11353 needs work (API too).
11355 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11357 * docs/pwg/advanced-types.xml:
11358 documents the new caps elements (see #363118)
11360 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11362 * gst/gstplugin.c: (gst_plugin_load_file):
11363 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11364 (gst_file_src_map_region), (gst_file_src_start):
11365 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11366 (gst_file_index_commit):
11367 Use g_strerror() instead of strerror() - we want UTF-8.
11369 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11371 Patch by: Peter Kjellerstedt <pkj at axis com>
11373 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11374 Another printf fix (#371493).
11376 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11378 * tests/check/gst/gsttag.c:
11379 relicence (okay with author=company)
11381 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11383 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11384 (gst_pad_push_event):
11385 Enhance debug and improve docs
11387 * gst/gsturi.c:
11388 Fix docs
11390 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11392 * docs/random/ensonic/distributed.txt:
11393 * docs/random/ensonic/profiling.txt:
11394 more ideas
11396 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11398 * docs/gst/gstreamer-sections.txt:
11399 add new API and fix the build
11401 * gst/gstbin.c: (gst_bin_recalc_state):
11402 * gst/gstelement.c: (gst_element_message_full),
11403 (gst_element_get_state_func), (gst_element_set_state_func):
11404 use new API and improve logging
11406 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11407 * gst/gstutils.h:
11408 API: add function to get StateChangereturn names to improve logs
11410 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11412 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11413 I'm considering shooting the next person to put strerror stuff
11414 in the translateable part of the message.
11416 2006-11-03 Wim Taymans <wim@fluendo.com>
11418 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11419 Get the type and printf conversion specifiers right.
11421 2006-11-03 Wim Taymans <wim@fluendo.com>
11423 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11425 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11426 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11427 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11428 Some small cleanups. Improve debugging.
11429 * gst/gstpad.h:
11430 Signal all waiting threads with a broadcast instead of just one.
11431 Fixes #369942.
11433 2006-11-03 Wim Taymans <wim@fluendo.com>
11435 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11436 (gst_fd_src_create):
11437 Add some debugging.
11438 Only update fd when it's different from the old.
11440 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11442 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11443 Printf fixes for PPC/OSX, take two (#369366).
11445 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11447 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11449 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11450 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11451 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11452 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11453 don't cast to long long for portability reasons, but use
11454 GLib's types instead.
11456 2006-10-30 Michael Smith <msmith@fluendo.com>
11458 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11459 Get the arguments to lseek() the right way around.
11460 Fixes 367677.
11462 2006-10-30 Wim Taymans <wim@fluendo.com>
11464 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11466 * gst/gstinfo.h:
11467 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11469 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11471 Patch by: Kjartan Maraas <kmaraas at gnome org>
11473 * docs/design/part-MT-refcounting.txt:
11474 * docs/random/wtay/capsnego2-docs:
11475 * gst/gstclock.c:
11476 * gst/gstxml.c:
11477 Typo fixes (#366212).
11479 2006-10-28 Wim Taymans <wim@fluendo.com>
11481 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11483 * gst/gst.c:
11484 * win32/common/libgstbase.def:
11485 * win32/common/libgstreamer.def:
11486 * win32/vs8/libgstbase.vcproj:
11487 * win32/vs8/libgstcontroller.vcproj:
11488 Add needed entries in .def files.
11489 Use HAVE_UNISTD_H.
11490 Rearrange def files in vs8 solutions. Fixes #366286.
11492 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11494 * win32/common/gstconfig.h:
11495 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11496 hand-made win32 gstconfig.h. Fixes #366321.
11498 2006-10-27 Wim Taymans <wim@fluendo.com>
11500 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11501 (gst_ghost_pad_new_full):
11502 Make acceptcaps return TRUE when we don't have a target, just like
11503 setcaps does.
11505 2006-10-27 Wim Taymans <wim@fluendo.com>
11507 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11508 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11510 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11512 * gst/gststructure.c: (gst_structure_id_set_value):
11513 If someone tries to set a non-UTF8 string field on a structure,
11514 don't just print a warning, but also ignore the request and do
11515 not change/add that field to the structure.
11517 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11518 Test for the above.
11520 2006-10-25 David Schleef <ds@schleef.org>
11522 * gst/gstinfo.c:
11523 g_hash_table_insert() needs a cast to a non-const pointer duh.
11525 2006-10-25 David Schleef <ds@schleef.org>
11527 * gst/gstinfo.c:
11528 * gst/gstinfo.h:
11529 Change name parameter of _gst_debug_register_funcptr to const
11530 to reflect the constness of its use in the function as well
11531 as to quiet a gcc warning.
11533 2006-10-25 Edward Hervey <edward@fluendo.com>
11535 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11536 Don't push the buffer if it's empty.
11537 Closes #363095
11539 2006-10-24 Wim Taymans <wim@fluendo.com>
11541 * gst/gstevent.h:
11542 Add small comment.
11544 * libs/gst/base/gstbasetransform.c:
11545 (gst_base_transform_sink_eventfunc):
11546 Debug segment values *after* updating them as this is more
11547 interesting.
11549 2006-10-23 Wim Taymans <wim@fluendo.com>
11551 * docs/design/part-events.txt:
11552 Update some docs.
11554 * docs/design/part-block.txt:
11555 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11556 (gst_pad_push_event):
11557 Revert BLOCKING patch, it tries to be smart without really having a
11558 clear idea what or how. So, now we discard all FLUSHING events again on
11559 a blocking pad. Should fix gnonlin again.
11561 2006-10-23 Wim Taymans <wim@fluendo.com>
11563 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11565 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11566 (gst_base_src_start), (gst_base_src_activate_push):
11567 Make sure size is always initialized. Fixes #364388.
11569 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11571 * docs/random/ensonic/distributed.txt:
11572 add some ideas about doing distributed processing
11574 * docs/random/ensonic/profiling.txt:
11575 get_rusage look promising
11577 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11579 * docs/manual/basics-helloworld.xml:
11580 Add a cast in example to fix compile warning
11582 2006-10-18 Wim Taymans <wim@fluendo.com>
11584 * gst/gstsegment.c: (gst_segment_set_last_stop),
11585 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11586 Relax arg checking again, -1 is allowed.
11588 2006-10-18 Wim Taymans <wim@fluendo.com>
11590 * gst/gstsegment.c: (gst_segment_set_last_stop),
11591 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11592 _set_last_stop() must be with a value != -1
11593 A _TYPE_SET to -1 means seek to 0.
11594 Calc last_stop correctly for negative rates.
11595 Make sure we work with positive durations when updating a segment.
11597 2006-10-18 Wim Taymans <wim@fluendo.com>
11599 * docs/design/part-live-source.txt:
11600 * gst/gstclock.h:
11601 Small docs fixes.
11603 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11605 * gst/gstbuffer.h:
11606 Add an explicit cast to GstBuffer** to keep old code that added an
11607 explicit cast to GstMiniObject** for gst_mini_object_replace()
11608 compiling without warning.
11610 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11612 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11613 check for validity of dates
11615 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11617 * docs/gst/gstreamer-sections.txt:
11618 Forgot this one, makes gtk-doc shut up.
11620 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11622 Patch by: Peter Kjellerstedt <pkj at axis com>
11624 * gst/gstobject.h:
11625 Don't define xmlNodePtr to gpointer if the core was built with
11626 --disable-loadsave and --disable-registry, this will break
11627 applications that want to use libxml2 but are buildling against a
11628 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11629 instead so we don't have to mess with the libxml2 namespace
11630 (#361675).
11632 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11634 * gst/gstbuffer.h:
11635 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11636 type-punned pointer warnings.
11638 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11640 * gst/gstelement.h:
11641 Add casts to the correct return type to state <=> state transition
11642 macros.
11644 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11646 * docs/design/part-live-source.txt:
11647 describe howto handle latency
11649 * docs/random/ensonic/profiling.txt:
11650 more ideas
11652 * tools/gst-plot-timeline.py:
11653 fix log parsing for solaris, remove unused function
11655 2006-10-16 Wim Taymans <wim@fluendo.com>
11657 * docs/design/part-trickmodes.txt:
11658 * gst/gstevent.c:
11659 Update some docs regarding reverse playback.
11661 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11663 Patch by: Marcus Granado <mrc dot gran at gmail com>
11665 * win32/vs8/grammar.vcproj:
11666 Error out with a warning if glib-genmarshal.exe is not in path,
11667 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11669 2006-10-13 Wim Taymans <wim@fluendo.com>
11671 * gst/gstsegment.c: (gst_segment_set_seek):
11672 When seeking to stop -1, set last_stop (current position) to the
11673 duration of the segment.
11675 2006-10-13 Wim Taymans <wim@fluendo.com>
11677 * gst/gstelement.h:
11678 Clarify _NO_PREROLL a bit more.
11680 * gst/gstevent.c:
11681 Fix docs.
11683 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11684 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11685 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11686 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11687 due to wrong locking order. Fixes #361769.
11688 Remove some redundant/misplaced checks in pad_block.
11690 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11691 For negative rates, count backwards from the duration.
11693 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11695 * gst/gsterror.c: (_gst_library_errors_init):
11696 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11697 up with something better).
11699 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11701 * win32/vs6/libgstreamer.dsp:
11702 * win32/vs7/libgstreamer.vcproj:
11703 * win32/vs8/libgstreamer.vcproj:
11704 Don't reference glib-compat.c which is currently not used and not
11705 disted; add gstquark.c which was recently added. Fixes #361730.
11707 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11709 * win32/common/libgstbase.def:
11710 * win32/common/libgstcontroller.def:
11711 * win32/common/libgstreamer.def:
11712 Add gst_caps_merge() and a bunch of other recently-added functions.
11713 Fixes #361732.
11715 2006-10-11 Wim Taymans <wim@fluendo.com>
11717 * docs/plugins/gstreamer-plugins.args:
11718 * docs/plugins/inspect/plugin-coreelements.xml:
11719 * docs/plugins/inspect/plugin-coreindexers.xml:
11720 Update element args.
11722 * gst/gstsystemclock.c:
11723 Small comment update.
11725 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11726 (gst_tee_request_new_pad), (gst_tee_release_pad),
11727 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11728 (gst_tee_sink_activate_pull):
11729 * plugins/elements/gsttee.h:
11730 Some tee loving:
11731 Add default property defines.
11732 Implement release pad function.
11733 Give properties better blubs etc.
11734 Activate pads before adding them to a running tee.
11735 Do simple buffer_alloc on the first requested pad.
11736 Post error when activation fails.
11738 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11740 * gst/gst.c: (ensure_current_registry_forking):
11741 Check return value of write() to make compiler happy.
11743 2006-10-11 Wim Taymans <wim@fluendo.com>
11745 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11747 * plugins/elements/gstqueue.c: (gst_queue_chain):
11748 Recheck queue filledness after signalling the overrun when we're about
11749 to leak downstream because we released the lock when emitting the signal
11750 and the queue could be empty again. Fixes #352345.
11752 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11754 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11755 Fix refcounting here too, just like we did for _new_valist() a few
11756 days ago (#357180) (thanks to René Stadler). Also remove all those
11757 'Since: 0.9' from the gtk-doc blobs.
11759 * tests/check/libs/controller.c: (controller_refcount_new_list),
11760 (gst_controller_suite):
11761 Unit test for the above.
11763 2006-10-10 Wim Taymans <wim@fluendo.com>
11765 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11767 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11768 (gst_pad_save_thyself):
11769 Update some docs.
11770 Write pad direction in XML output. Fixes #345496.
11772 2006-10-10 Wim Taymans <wim@fluendo.com>
11774 Patch by: René Stadler <mail at renestadler dot de>
11776 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11777 (gst_controller_new_list), (_gst_controller_dispose),
11778 (_gst_controller_finalize), (_gst_controller_class_init):
11779 Take ref to controlled object so that it cannot disappear.
11780 Fixes #357432.
11782 2006-10-10 Wim Taymans <wim@fluendo.com>
11784 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11785 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11786 (gst_check_teardown_sink_pad):
11787 Activate/deactivate pads in setup/teardown respectively.
11789 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11791 Patch by: Josep Torra Valles <josep@fluendo.com>
11793 * gst/Makefile.am:
11794 Cast values when making gstenumtypes.h. This pacifies Forte
11795 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11796 in the enumeration.
11798 2006-10-09 Wim Taymans <wim@fluendo.com>
11800 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11801 Rename some more @cur to @start to fix docs.
11803 * gst/gstsegment.c: (gst_segment_set_seek):
11804 Fix typo.
11805 time and start must always stay in sync as defined in design doc.
11807 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11808 Rename param to fix docs.
11810 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11811 Check that start and time are in sync.
11813 * tests/check/pipelines/parse-launch.c:
11814 (gst_parse_test_element_change_state):
11815 Activate pad before adding to the element.
11817 2006-10-09 Wim Taymans <wim@fluendo.com>
11819 * docs/design/part-qos.txt:
11820 Fix typo.
11822 * gst/gstevent.c:
11823 * gst/gstevent.h:
11824 Update seek event docs regarding negative rates.
11825 Rename @cur to @start.
11827 * gst/gstsegment.c: (gst_segment_set_seek):
11828 * gst/gstsegment.h:
11829 Update set_seek docs regarding negative rates.
11830 Correctly update last_stop to @stop when dealing with negative
11831 rates.
11832 Rename @cur to @start.
11834 * tests/check/gst/gstpad.c: (GST_START_TEST):
11835 Activate pads before trying to use them.
11837 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11838 (gst_segment_suite):
11839 Add simple check for segments and negative rates.
11841 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11843 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11844 * gst/gsttaglist.h:
11845 * docs/gst/gstreamer-sections.txt:
11846 API: add gst_tag_list_is_empty() (#360467).
11848 * tests/check/gst/gsttag.c: (GST_START_TEST):
11849 And a test case.
11851 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11853 * gst/gstmessage.h:
11854 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11855 a value that doesn't fit on enumeration.
11857 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11859 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11860 Remove local debugging system and use Gstreamer's instead.
11862 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11864 Patch by: Josep Torra Valles <josep@fluendo.com>
11866 * common/m4/gst-error.m4:
11867 Disable warning of statement not reached on Forte.
11868 * gst/gstmessage.h:
11869 Fix warning on Forte (value doesn't fit on enumeration).
11870 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11871 Fix warning on Forte (value doesn't fit on enumeration).
11872 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11873 DEBUG macro says it takes minimum of 2 args and so Forte
11874 complains about the use with just 1 arg.
11875 * plugins/elements/gstfdsink.c:
11876 * plugins/elements/gstfdsrc.c:
11877 * plugins/elements/gstfilesink.c:
11878 * plugins/elements/gstfilesrc.c:
11879 Use correct return type for the uri handler implementations.
11881 All these fix warnings in Forte. Fixes bug #360860.
11883 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11885 * gst/gstelement.h:
11886 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11887 format string, so don't use G_GNUC_PRINTF for those versions.
11889 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11891 * gst/gsttaglist.c: (gst_is_tag_list):
11892 * gst/gsttaglist.h:
11893 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11895 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11896 Small test for the above.
11898 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11900 * gst/gsttaglist.h:
11901 Less tabs, more spaces.
11903 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11905 * gst/gstinfo.h:
11906 Those two function declarations do actually belong there, revert
11907 commit from yesterday that turned them intro macros.
11909 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11911 Patch by: Josep Torra Valles <josep@fluendo.com>
11913 * gst/gst.c: (gst_init_get_option_group):
11914 Fix empty declaration and type mismatch.
11915 * gst/gstbin.c: (gst_bin_change_state_func):
11916 Fix type mismatch.
11917 * gst/gstelement.c: (gst_element_continue_state),
11918 (gst_element_set_state_func), (gst_element_change_state),
11919 (gst_element_change_state_func):
11920 Fix type mismatches.
11921 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11922 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11923 Cast as appropriate.
11924 * gst/gstobject.c: (gst_class_signal_connect):
11925 Cast as appropriate. The function pointer parameter really
11926 has the wrong type but would break API if we change it.
11927 * gst/gstquery.c:
11928 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11929 order of including string.h.
11930 * gst/gstutils.c: (gst_element_state_get_name):
11931 Remove unreachable line.
11932 * gst/gstxml.c: (gst_xml_parse_doc):
11933 Fix type mismatch.
11934 All these caught by Forte.
11936 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11938 Patch by: Josep Torra Valles <josep@fluendo.com>
11940 * common/m4/gst-error.m4:
11941 Fixed bug #360151.
11942 We need to disable warnings on Forte for empty declarations
11943 due to gst-indent adding ;s to lines that just use macros
11944 where the macro actually doesn't need a ; at end to end
11945 statement.
11947 2006-10-06 Wim Taymans <wim@fluendo.com>
11949 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11950 (gst_file_sink_close_file), (gst_file_sink_event),
11951 (gst_file_sink_render):
11952 Add some FIXME for the NEWSEGMENT handling.
11954 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11956 * gst/parse/grammar.y:
11957 Remove static function gst_parse_element_lock as all it does
11958 is return. Looks like cruft from 0.8.
11960 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11962 Patch by: Josep Torra Valles <josep@fluendo.com>
11964 * common/m4/gst-error.m4:
11965 * configure.ac:
11966 * libs/gst/net/Makefile.am:
11967 Fix a compilation issue with Forte on Solaris. inet_aton is in
11968 libresolv.
11970 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11972 * gst/gstpad.c: (pre_activate):
11973 * gst/gstregistry.c: (gst_registry_scan_path_level):
11974 * gst/gstregistryxml.c: (load_plugin):
11975 * libs/gst/controller/gstcontroller.c:
11976 (gst_controlled_property_set_interpolation_mode):
11977 * libs/gst/dataprotocol/dataprotocol.c:
11978 (gst_dp_packet_from_event_1_0):
11979 * libs/gst/net/gstnetclientclock.c:
11980 (gst_net_client_clock_observe_times):
11981 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11982 Printf fixes.
11984 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11986 * configure.ac:
11987 * docs/gst/gstreamer-sections.txt:
11988 * gst/gstconfig.h.in:
11989 * gst/gstelement.h:
11990 * gst/gstinfo.h:
11991 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11992 whether we can use G_GNUC_PRINTF in other header files and at
11993 least check the printf format/arguments of debug messages and
11994 GST_ELEMENT_ERROR messages when the printf extension is not
11995 being used.
11996 Replace more tabs with spaces in gstinfo.h and remove two spurious
11997 function declarations in GST_DISABLE_DEBUG part with macros.
11999 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
12001 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
12002 More docs for the sync-message signal (mention that it is not
12003 emitted by default); log message structures of messages posted on
12004 the bus as well.
12006 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
12008 * gst/gst.c: (ensure_current_registry_forking):
12009 Use a pipe pair to receive status results from the forked child, and
12010 ignore the result from waitpid. Fixes #355499
12012 2006-10-02 Wim Taymans <wim@fluendo.com>
12014 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12015 (gst_ghost_pad_suite):
12016 Fix leak in check.
12018 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12020 * gst/gstpad.c:
12021 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
12023 2006-10-02 Edward Hervey <edward@fluendo.com>
12025 * docs/design/part-block.txt:
12026 Further explain the use of flushing on blocked pads.
12027 * docs/gst/gstreamer-sections.txt:
12028 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
12029 (gst_pad_push_event):
12030 * gst/gstpad.h:
12031 Added new GstPadFlag : GST_PAD_BLOCKING.
12032 Adds the notion of pads really blocking, which enables to properly
12033 handle FLUSH_START/FLUSH_STOP events on blocked pads.
12034 Fixes #358999
12035 API: gst_pad_is_blocking()
12036 API: GST_PAD_IS_BLOCKING() macro
12037 API: GST_PAD_BLOCKING GstPadFlag
12039 2006-10-02 Wim Taymans <wim@fluendo.com>
12041 Patch by: mrcgran <mrc.gran at gmail dot com>
12043 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
12044 Filter the proxied caps against the padtemplate if we have one.
12046 * gst/gstquery.c: (gst_query_new_segment):
12047 Add include for gstinfo.h so that compilation with
12048 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
12050 2006-10-02 Wim Taymans <wim@fluendo.com>
12052 Patch by: Alessandro Decina <alessandro at nnva org>
12054 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
12055 (gst_file_sink_set_location), (gst_file_sink_open_file),
12056 (gst_file_sink_close_file), (gst_file_sink_event),
12057 (gst_file_sink_render):
12058 Set file to NULL when closing filesink so that we can set a new filename
12059 in READY. Fixes #358613.
12061 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12063 Patch by: Alessandro Decina <alessandro at nnva org>
12065 * gst/gstevent.c: (_gst_event_copy):
12066 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12067 with event structures by setting the parent refcount address of the
12068 copied structure to the address of the refcount member of the newly
12069 copied event rather than the address of the refcount member of the
12070 original event. Fixes #358737.
12072 * tests/check/gst/gstevent.c: (GST_START_TEST):
12073 Unit test for the above.
12075 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12077 * docs/design/Makefile.am:
12078 Dist some more files.
12080 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12082 * tests/check/libs/controller.c: (GST_START_TEST),
12083 (gst_controller_suite):
12084 Add test for the previous fix; add some more tests
12085 for correct refcounting behaviour; fix a few leaks
12086 in test cases; call gst_controller_init() at start
12087 of all tests.
12089 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12091 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12092 (gst_controller_set_from_list):
12093 Don't g_return_val_if_fail() on timed values with invalid timestamps
12094 inside a critical section without unlocking the mutex. Spotted by
12095 René Stadler. (#357617)
12096 Also, fix up refcounting properly: when returning an existing
12097 controller, we should increase the reference only once and not
12098 once per property and when trying to control a property again
12099 we should also increase the refcount.
12101 2006-09-29 Wim Taymans <wim@fluendo.com>
12103 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12104 * libs/gst/net/gstnettimeprovider.c:
12105 (gst_net_time_provider_thread):
12106 Stop reading commands when EOF as well.
12108 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12109 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12110 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12111 Unify description of the dump property.
12113 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12115 * tests/examples/manual/.cvsignore:
12116 OK, so it's actually cvsignore that needs changing. Stop laughing.
12118 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12120 * tests/examples/manual/Makefile.am:
12121 Gah, declare vars *before* using them
12123 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12125 * gst/gst.c: (init_pre), (scan_and_update_registry),
12126 (ensure_current_registry_nonforking),
12127 (ensure_current_registry_forking), (ensure_current_registry),
12128 (init_post), (gst_debug_help), (gst_deinit):
12129 * gst/gst_private.h:
12130 * gst/gstregistry.c: (gst_registry_finalize),
12131 (gst_registry_remove_features_for_plugin_unlocked),
12132 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12133 (gst_registry_scan_path),
12134 (_priv_gst_registry_remove_cache_plugins),
12135 (_priv_gst_registry_cleanup):
12136 * gst/gstregistry.h:
12137 Re-commit the registry changes, along with an extra fix:
12138 When a cached plugin is encountered at a different file path,
12139 update the stored path in the registry cache so that the parent
12140 process knows where it actually is now when it re-reads the registry
12141 cache. Fixes the thing that broke distcheck with the previous commit.
12143 * tests/check/Makefile.am:
12144 Clean up files named 'core' too when running make clean.
12146 * tests/examples/manual/Makefile.am:
12147 Set up a registry path for running these tests, and clean it properly
12148 for distcheck.
12150 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12152 * configure.ac:
12153 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12154 want gmodule-no-export-2.0.pc instead so that we don't drag in
12155 --export-dynamic on every project that links to GStreamer.
12157 Also, make our export regex only match the start of symbols, rather
12158 than any symbol that contains '_gst' somewhere.
12160 * libs/gst/check/Makefile.am:
12161 The libgstcheck we build does however need export-dynamic, as it
12162 produces some symbols that don't match our _gst... style regex.
12163 Fixes: #318031
12165 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12167 * gst/gst.c: (init_pre), (scan_and_update_registry),
12168 (ensure_current_registry_nonforking),
12169 (ensure_current_registry_forking), (ensure_current_registry),
12170 (init_post), (gst_debug_help), (gst_deinit):
12171 * gst/gst_private.h:
12172 * gst/gstregistry.c: (gst_registry_finalize),
12173 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12174 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12175 (_gst_registry_cleanup):
12176 * gst/gstregistry.h:
12177 Revert previous change until I figure out why it breaks distcheck.
12179 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12181 * gst/gst.c: (init_pre), (scan_and_update_registry),
12182 (ensure_current_registry_nonforking),
12183 (ensure_current_registry_forking), (ensure_current_registry),
12184 (init_post), (gst_debug_help), (gst_deinit):
12186 Make init_pre and init_post take the full complement of GOptionFunc
12187 args so they can return useful GErrors. Make the registry updating
12188 functions do so.
12190 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12191 ensure that the registry we're about to write out doesn't contain
12192 stale information about old-deleted plugin files.
12194 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12195 that deletion of plugin files is considered a registry change.
12197 * gst/gst_private.h:
12198 * gst/gstregistry.c: (gst_registry_finalize),
12199 (gst_registry_remove_features_for_plugin_unlocked),
12200 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12201 (gst_registry_scan_path),
12202 (_priv_gst_registry_remove_cache_plugins),
12203 (_priv_gst_registry_cleanup):
12204 * gst/gstregistry.h:
12205 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12206 by adding _priv prefix, so that they won't appear in the global
12207 symbol table. They still do atm though because of #318031. Move the
12208 prototypes to gst_private.h
12210 When removing a plugin, remove all features for that plugin too.
12211 Fixes #340878.
12213 2006-09-27 Wim Taymans <wim@fluendo.com>
12215 * docs/random/moving-plugins:
12216 Make it clear that the "compiled-in descriptions" really mean
12217 the element details.
12219 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12220 (gst_base_sink_wait_preroll):
12221 Update docs.
12223 * docs/libs/gstreamer-libs-sections.txt:
12224 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12225 (gst_base_src_get_range), (gst_base_src_activate_push):
12226 * libs/gst/base/gstbasesrc.h:
12227 Added function to block while waiting for PLAYING, this function
12228 is used by live sources that block on the clock.
12229 API: gst_base_src_wait_playing()
12231 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12233 Patch by: Peter Kjellerstedt <pkj at axis com>
12235 * Makefile.am:
12236 gst-element-check.m4 is generated and should therefore be
12237 copied from the build dir rather than the source dir (#357593).
12238 'make distcheck' hasn't noticed this because we were disting
12239 the file as well, so stop doing that.
12241 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12243 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12244 Add some tests for gst_caps_intersect().
12246 * tools/gst-launch.c: (event_loop):
12247 Print all buffering percentages we get, even the 100% one.
12249 2006-09-26 Wim Taymans <wim@fluendo.com>
12251 * tools/gst-inspect.c: (print_element_properties_info),
12252 (print_signal_info):
12253 Fix printing of flags to match the look of enums.
12255 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12257 * gst/gstelementfactory.c:
12258 Fix typo in docs blurb.
12260 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12262 * gst/gsturi.c: (search_by_entry):
12263 Don't assert/crash here if a uri handler doesn't return any
12264 supported protocols. The list of protocols could be generated
12265 dynamically at runtime or at plugin registration, and an error
12266 in the underlying library shouldn't be fatal (#353301).
12268 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12270 * gst/gstinfo.c:
12271 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12272 (spotted by Peter Kjellerstedt).
12274 2006-09-23 Wim Taymans <wim@fluendo.com>
12276 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12278 * libs/gst/base/gstbasesrc.c:
12279 (gst_base_src_default_check_get_range), (gst_base_src_start),
12280 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12281 (gst_base_src_change_state):
12282 Match _start/_stop calls in the activate functions. Remove redundant
12283 _stop call from the state change function. Fixes #356910.
12284 Turn failure DEBUG into ERROR.
12286 2006-09-22 Wim Taymans <wim@fluendo.com>
12288 * docs/design/part-buffering.txt:
12289 * gst/gstmessage.c: (gst_message_new_buffering),
12290 (gst_message_parse_buffering):
12291 Update docs about buffering.
12293 * docs/design/part-trickmodes.txt:
12294 Fix typo.
12296 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12298 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12299 (gst_controller_new_list):
12300 Ref instances when returning them again (fixes #357180)
12302 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12304 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12305 Don't forget to release proxy lock when there's an error.
12307 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12309 * gst/gstcaps.h:
12310 Add extra initialisers for Caps things, to fix some plugin warnings
12311 when using -Wextra
12313 2006-09-18 Wim Taymans <wim@fluendo.com>
12315 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12316 Also set template on the internal pad so that a getcaps from the
12317 target pad returns the template caps.
12319 2006-09-18 Wim Taymans <wim@fluendo.com>
12321 * gst/gstelement.c: (gst_element_post_message),
12322 (gst_element_dispose):
12323 Use _DEBUG_OBJECT some more.
12325 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12326 Avoid typechecks.
12328 * tools/gst-launch.c: (main):
12329 If the toplevel element is not a GstPipeline, it must be put in a
12330 pipeline so that a bus and clock is selected.
12332 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12334 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12335 JITTER, RATE, and LATENCY query should be handled by the
12336 default case and not by the CONVERT query code.
12338 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12340 * gst/gstformat.c: (gst_format_register):
12341 Fix locking order (must take lock before using n_values).
12343 * gst/gstvalue.c: (gst_value_serialize_enum),
12344 (gst_value_deserialize_enum_iter_cmp),
12345 (gst_value_deserialize_enum):
12346 Fix serialisation/deserialisation of custom registered GstFormats.
12348 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12349 Unit test for custom format serialisation/deserialisation.
12351 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12353 * docs/pwg/building-boiler.xml:
12354 * plugins/elements/gstcapsfilter.c:
12355 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12356 section.
12358 2006-09-16 Edward Hervey <edward@fluendo.com>
12360 * libs/gst/base/gstbasetransform.c:
12361 (gst_base_transform_buffer_alloc):
12362 Check if requested caps are the same as the sinks caps IF
12363 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12364 is FALSE.
12365 This fixes the renegotiation issues stated in #352827.
12367 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12369 * configure.ac:
12370 * docs/manual/advanced-autoplugging.xml:
12371 * tests/examples/Makefile.am:
12372 * tests/examples/manual/.cvsignore:
12373 * tests/examples/manual/Makefile.am:
12374 * tests/examples/manual/extract.pl:
12375 Extract the manual examples again like we used to do.
12376 Fix one of them.
12378 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12380 * win32/common/config.h:
12381 update for version
12383 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12385 * gst/gsterror.c:
12386 Documents how to receive errors.
12388 2006-09-15 Wim Taymans <wim@fluendo.com>
12390 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12391 (event_loop), (main):
12392 Added some comments here and there.
12393 Post an application message when an interrupt is caught instead of doing
12394 an uncontrolled state change.
12395 Clean up the event loop.
12396 Handle buffering messages, pause/resume the pipeline.
12397 Make shutdown because of an interrupt more reliable.
12399 2006-09-15 Wim Taymans <wim@fluendo.com>
12401 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12402 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12403 (gst_base_sink_preroll_object):
12404 Make sure that our internal state is correct when we commit our state
12405 asynchronously. This solves a race where a state change to PLAYING
12406 could cause the sink to remain blocked in preroll in some situations.
12408 2006-09-15 Wim Taymans <wim@fluendo.com>
12410 * tools/gst-inspect.c: (print_element_properties_info),
12411 (print_signal_info):
12412 List flags as hex so it's easier to deal with.
12414 2006-09-15 Wim Taymans <wim@fluendo.com>
12416 * docs/libs/gstreamer-libs-sections.txt:
12417 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12418 (gst_base_sink_do_sync):
12419 * libs/gst/base/gstbasesink.h:
12420 Expose logic to wait for preroll so that subclasses such as audiosink
12421 can also use this method.
12422 API: gst_base_sink_wait_preroll()
12424 2006-09-15 Wim Taymans <wim@fluendo.com>
12426 * gst/gstobject.c: (gst_object_set_parent):
12427 * gst/gstpipeline.c: (do_pipeline_seek):
12428 Small cleanups in docs and code.
12430 * gst/gstsegment.c: (gst_segment_clip):
12431 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12432 if stop == start and start is in the segment, no clipping should be
12433 done. Also add a test for this.
12435 2006-09-15 Wim Taymans <wim@fluendo.com>
12437 * docs/design/part-buffering.txt:
12438 * docs/gst/gstreamer-sections.txt:
12439 * gst/gstmessage.c: (gst_message_new_buffering),
12440 (gst_message_parse_buffering):
12441 * gst/gstmessage.h:
12442 Added methods to create and parse BUFFERING messages.
12443 Added preliminary docs about buffering.
12444 API: gst_message_new_buffering
12445 API: gst_message_parse_buffering
12447 2006-09-06 Wim Taymans <wim@fluendo.com>
12449 * gst/gstbin.c:
12450 Update documentation.
12452 * gst/gstelement.c: (gst_element_class_init),
12453 (gst_element_release_request_pad), (gst_element_set_clock),
12454 (gst_element_get_index), (gst_element_add_pad),
12455 (gst_element_remove_pad), (gst_element_get_random_pad),
12456 (gst_element_send_event), (gst_element_get_query_types),
12457 (gst_element_query), (gst_element_post_message),
12458 (gst_element_message_full), (gst_element_continue_state),
12459 (gst_element_lost_state), (gst_element_save_thyself),
12460 (gst_element_restore_thyself):
12461 Documentation updates.
12462 Rename last bit of the new-pad -> pad-added signal rename.
12463 Fix the case where an element query would only work if the source
12464 pad was linked.
12465 Avoid some useless type checking in message handling.
12467 * gst/gstevent.c:
12468 * gst/gstevent.h:
12469 * gst/gstutils.c:
12470 Documentation updates.
12472 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12474 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12475 add an INFO line for when we actually update the fd
12477 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12479 * configure.ac:
12480 back to TRUNK
12482 === release 0.10.10 ===
12484 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12486 * configure.ac:
12487 releasing 0.10.10, "Pais"
12489 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12491 * docs/manual/advanced-position.xml:
12492 Fix typo in sample code.
12494 2006-09-05 Wim Taymans <wim@fluendo.com>
12496 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12497 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12498 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12499 * libs/gst/net/gstnetclientclock.h:
12500 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12501 * libs/gst/net/gstnettimepacket.h:
12502 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12503 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12504 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12505 * libs/gst/net/gstnettimeprovider.h:
12506 Make stuff compile on windows. Fixes #345295.
12508 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12510 * gst/gst.c: (ensure_current_registry_forking):
12511 Print better details when child was terminated by signal.
12513 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12515 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12516 Print a warning rather than g_assert() if a plugin feature
12517 is a URI handler but returns no protocols (#353976).
12519 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12521 * docs/random/moving-plugins:
12522 Fix two typos.
12524 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12526 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12527 Fix locking order, handle NULL function values properly.
12529 * gst/gstinfo.h:
12530 Fix docs.
12532 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12533 Initialise variable before using it and fix debug statement to
12534 print the address of the function rather than the address of the
12535 variable on the stack holding the address of the function.
12537 2006-09-01 Wim Taymans <wim@fluendo.com>
12539 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12540 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12541 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12542 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12543 (gst_ghost_pad_parent_unset),
12544 (gst_ghost_pad_internal_do_activate_push),
12545 (gst_ghost_pad_internal_do_activate_pull),
12546 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12547 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12548 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12549 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12550 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12551 (gst_ghost_pad_new_no_target_from_template),
12552 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12553 More cleanups.
12554 Avoid needless typechecking in macros.
12555 Since the internal pad is always present and never changes, there is
12556 no need to locking or ref when retrieving it.
12557 Improve debugging a bit.
12558 Handle link errors when setting the target. Fixes #341029.
12560 2006-09-01 Wim Taymans <wim@fluendo.com>
12562 * docs/libs/gstreamer-libs-sections.txt:
12563 * docs/plugins/gstreamer-plugins-sections.txt:
12564 Fix docs some more.
12566 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12567 (gst_collect_pads_event):
12568 * libs/gst/base/gstcollectpads.h:
12569 Documentation updates.
12570 Free queued buffer when removing a pad.
12572 2006-08-31 Michael Smith <msmith@fluendo.com>
12574 * gst/gstutils.c: (gst_element_link_pads),
12575 (gst_element_link_pads_filtered):
12576 Ensure that we set a capsfilter to NULL if we failed to link it
12577 when doing filtered linking, to avoid criticals.
12579 No need to check for unreffing srcpad, which is explicly NULLed
12580 above (a trivial code cleanup).
12582 2006-08-31 Wim Taymans <wim@fluendo.com>
12584 * docs/design/part-gstghostpad.txt:
12585 Update ascii art in documentation.
12587 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12588 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12589 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12590 (gst_ghost_pad_internal_do_activate_push),
12591 (gst_ghost_pad_internal_do_activate_pull),
12592 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12593 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12594 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12595 (gst_ghost_pad_set_target):
12596 Small cleanups and leak fixes.
12597 Remove some checks now that the internal pad is never NULL.
12598 Fix the case where linking pads without a target would create nasty
12599 criticals. Fixes #341029.
12600 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12601 value of _set_target().
12603 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12604 (gst_ghost_pad_suite):
12605 Some more tests for creating and linking untargeted ghostpads.
12607 2006-08-31 Edward Hervey <edward@fluendo.com>
12609 * docs/gst/gstreamer-sections.txt:
12610 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12611 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12612 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12613 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12614 (gst_ghost_pad_new_from_template),
12615 (gst_ghost_pad_new_no_target_from_template):
12616 * gst/gstghostpad.h:
12617 Refactored *_new() functions.
12618 Templates are now used as a g_object_new() parameter.
12619 Use template in _do_getcaps() if we don't have a target.
12620 Small documentation cleanups.
12621 Added two new constructors:
12622 gst_ghost_pad_new_from_template()
12623 gst_ghost_pad_new_no_target_from_template()
12624 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12625 (gst_ghost_pad_suite):
12626 Added tests for new ghostpad instanciation functions.
12628 API additions: gst_ghost_pad_new_from_template,
12629 gst_ghost_pad_new_no_target_from_template
12631 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12633 * docs/random/ensonic/profiling.txt:
12634 Ideas about qos profiling.
12636 2006-08-29 Wim Taymans <wim@fluendo.com>
12638 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12639 Code cleanups.
12640 Fix memleak.
12642 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12644 * gst/gstxml.c:
12645 Improve and detypofy docs.
12647 * tests/check/Makefile.am:
12648 * tests/check/gst/.cvsignore:
12649 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12650 Add a basic test suite for GstXML.
12652 2006-08-29 Wim Taymans <wim@fluendo.com>
12654 * gst/gstelement.c: (activate_pads), (clear_caps),
12655 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12656 Clear the pad caps when the element shut down all of the pads and
12657 is not streaming data that could modify the caps.
12658 Fixes #352958.
12660 2006-08-28 Michael Smith <msmith@fluendo.com>
12662 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12663 Revert previous change; I misunderstood single-segment mode.
12665 2006-08-28 Michael Smith <msmith@fluendo.com>
12667 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12668 Unset DISCONT on buffers when using single-segment mode.
12670 2006-08-28 Wim Taymans <wim@fluendo.com>
12672 * gst/gstcaps.c: (gst_caps_merge_structure):
12673 * gst/gstcaps.h:
12674 Fix docs and indentation again.
12676 * tests/check/gst/gstquery.c: (GST_START_TEST):
12677 Fix leak in tests and add some more tests.
12679 2006-08-28 Edward Hervey <edward@fluendo.com>
12681 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12682 Inform GstSegment of the last stop position in order for the current
12683 segment to have a proper duration if it doesn't have a specific stop
12684 position from which a duration could be calculated.
12685 This bug was noticeable when a non-flushing, non-update new segment was
12686 followed by another segment (all buffers from the new segment were being
12687 dropped).
12689 2006-08-28 Wim Taymans <wim@fluendo.com>
12691 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12692 Small comment update.
12694 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12695 (gst_identity_transform_ip):
12696 Drop-probability is broken, mention this in the code with a
12697 FIXME and also in the property description.
12698 Make silent also be silent about the drop messages.
12700 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12702 * docs/manual/appendix-win32.xml:
12703 Remove mention of popt, we don't depend on that any
12704 longer (#353136). Add some comments pointing out that
12705 this section is slightly outdated.
12707 2006-08-28 Wim Taymans <wim@fluendo.com>
12709 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12711 * gst/gstquery.c: (gst_query_new_segment):
12712 * tests/check/gst/gstquery.c: (GST_START_TEST):
12713 Initialize variables when creating a new segment query.
12714 Fixes #353121.
12716 2006-08-28 Wim Taymans <wim@fluendo.com>
12718 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12720 * gst/gstelement.c: (gst_element_get_bus):
12721 * tests/check/gst/gstelement.c: (GST_START_TEST):
12722 Check for NULL before _reffing the bus. Fixes #353122.
12724 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12726 * docs/manual/basics-bus.xml:
12727 Docs update: fix wrong callback return value explanation; add
12728 some lines about the implicit relationship between main loop
12729 and main context; remove duplicate main loop variable declaration.
12731 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12733 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12734 Don't leak caps in unit test; add a few more simple
12735 checks.
12737 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12739 * docs/gst/gstreamer-sections.txt:
12740 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12741 (gst_caps_structure_is_subset), (gst_caps_merge),
12742 (gst_caps_merge_structure):
12743 * gst/gstcaps.h:
12744 * libs/gst/base/gstbasetransform.c:
12745 (gst_base_transform_transform_caps):
12746 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12747 implement caps merging (fixes #352580)
12749 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12751 * tools/Makefile.am:
12752 * tools/gst-plot-timeline.py:
12753 add debug-log plotting developer tool (#340674)
12755 2006-08-23 Wim Taymans <wim@fluendo.com>
12757 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12758 (gst_pad_stop_task):
12759 Improve debugging for task functions.
12761 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12762 (gst_task_start), (gst_task_pause), (gst_task_join):
12763 Make sure that the task function started and finished after a
12764 join().
12765 Don't try to push the task function on the threadpool multiple
12766 times.
12767 Improve the g_warning message with some useful suggestions
12768 about how to fix the problem.
12770 2006-08-23 Wim Taymans <wim@fluendo.com>
12772 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12773 Handle RESYNC correctly in _proxy_getcaps.
12775 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12777 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12778 (gst_xml_parse_memory), (gst_xml_get_element):
12779 Chain up to parent class in dispose function and also
12780 unref the elements in the toplevel_elements GList.
12781 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12782 Always return a reference in gst_xml_get_element() rather
12783 than only sometimes.
12785 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12786 Don't leak GstXml object.
12788 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12790 * docs/gst/gstreamer-sections.txt:
12791 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12792 (gst_caps_merge):
12793 * gst/gstcaps.h:
12794 * libs/gst/base/gstbasetransform.c:
12795 (gst_base_transform_transform_caps):
12796 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12797 in a better way
12799 2006-08-21 Edward Hervey <edward@fluendo.com>
12801 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12802 Implement GObject::dispose virtual method in GstXML so we can free the
12803 top_elements GList.
12805 2006-08-21 Wim Taymans <wim@fluendo.com>
12807 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12808 (gst_buffer_create_sub):
12809 Copy duration/offset_end/caps when creating a subbuffer of the
12810 complete parent.
12811 Make the subbuffer read-only when we make the metadata writable for
12812 now. Fixes #351768.
12814 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12815 Added check for metadata copy when creating subbuffers.
12817 2006-08-21 Edward Hervey <edward@fluendo.com>
12819 * libs/gst/base/gstbasetransform.c:
12820 (gst_base_transform_buffer_alloc):
12821 Only call downstream buffer_alloc if transform element is passthrough
12822 or always_in_place. Closes #350449.
12824 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12826 * ChangeLog:
12827 ChangeLog surgery to add comments to previous changes
12829 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12831 * gst/gst.c:
12832 Add comments
12834 * gst/gstpad.c: (gst_pad_set_active):
12835 Be more verbose in the log
12837 * libs/gst/base/gstbasetransform.c:
12838 (gst_base_transform_transform_caps):
12839 Simplify caps to get rid of duplicates, fixes #345444
12841 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12843 * gst/gstvalue.c:
12844 * gst/gstvalue.h:
12845 Use these optimizations only internally.
12847 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12849 * gst/gstvalue.c: (gst_value_compare_list),
12850 (gst_value_compare_fraction_range),
12851 (gst_value_intersect_fraction_fraction_range),
12852 (gst_value_intersect_fraction_range_fraction_range),
12853 (gst_value_subtract_fraction_fraction_range),
12854 (gst_value_subtract_fraction_range_fraction_range),
12855 (gst_value_get_compare_func), (gst_value_compare),
12856 (gst_value_compare_with_func):
12857 * gst/gstvalue.h:
12858 Saves the expensive lookup of the compare function in many cases
12859 (#345444)
12861 2006-08-18 Edward Hervey <edward@fluendo.com>
12863 * tests/check/gst/gstinfo.c: (gst_info_suite):
12864 Disable test that require gstdebug if it wasn't built in core.
12866 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12868 * docs/random/ensonic/logging.txt:
12869 update ideas
12871 * gst/gstinfo.c: (gst_debug_log_default):
12872 reorder fields, save some columns, add optional color codes for log
12873 levels
12875 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12877 * docs/random/ensonic/logging.txt:
12878 add ideas about making the logs a bit more useful
12880 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12882 * docs/pwg/advanced-events.xml:
12883 * docs/pwg/titlepage.xml:
12884 Update for 0.10 API (#340627). Add myself
12885 to authors list.
12887 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12889 * docs/libs/gstreamer-libs-docs.sgml:
12890 * docs/libs/gstreamer-libs-sections.txt:
12891 * libs/gst/check/gstbufferstraw.c:
12892 Make gstcheck stuff show up in docs (still needs to
12893 be documented properly though).
12895 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12897 * docs/gst/gstreamer-sections.txt:
12898 * gst/Makefile.am:
12899 * gst/gst.c: (init_post):
12900 * gst/gst_private.h:
12901 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12902 * gst/gstquark.h:
12903 * gst/gstquery.c: (gst_query_new_position),
12904 (gst_query_set_position), (gst_query_parse_position),
12905 (gst_query_new_duration), (gst_query_set_duration),
12906 (gst_query_parse_duration), (gst_query_new_convert),
12907 (gst_query_set_convert), (gst_query_parse_convert),
12908 (gst_query_new_segment), (gst_query_set_segment),
12909 (gst_query_parse_segment), (gst_query_new_seeking),
12910 (gst_query_set_seeking), (gst_query_parse_seeking):
12911 Add internal helpers for pre-registering quarks from static strings
12912 and using the quark values directly instead of looking them up when
12913 creating and parsing queries. Can be used for event construction too.
12914 Closes #350432.
12916 2006-08-16 Wim Taymans <wim@fluendo.com>
12918 * gst/gstbin.c:
12919 Fix bogus docs.
12921 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12923 * gst/gstutils.c: (gst_util_set_value_from_string):
12924 Fix memleak (#351502).
12926 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12927 Add unit test for most of gst_util_set_value_from_string()
12928 (not that one would want to encourage use of this function).
12930 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12932 * libs/gst/check/gstcheck.h:
12933 Use const gchar * variables in fail_unless_equals_string
12934 macro to avoid compiler warnings (and don't use tabs for
12935 indenting).
12937 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12939 * tools/gst-launch.c: (print_tag):
12940 More space on the left for the tag names, to cater
12941 for the 'extended comment' tag (not touching the
12942 string for the first line since it's translated).
12944 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12946 * libs/gst/check/gstcheck.h:
12947 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12948 print something when they fail.
12950 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12952 * docs/gst/gstreamer-sections.txt:
12953 * gst/gsttaglist.c: (_gst_tag_initialize):
12954 * gst/gsttaglist.h:
12955 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12956 Also change merge function for GST_TAG_COMMENT to
12957 use_first.
12959 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12961 * gst/gstinfo.c: (gst_debug_print_object):
12962 Make GST_PTR_FORMAT print messages as well.
12964 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12965 (GST_START_TEST), (gst_info_suite):
12966 More tests.
12968 2006-08-14 Edward Hervey <edward@fluendo.com>
12970 * gst/gstelementfactory.c: (gst_element_register):
12971 If the GstElementClass doesn't have a GstElementDetails with all fields
12972 filled up correctly (longname, description AND author), then error out
12973 nicely instead of crashing.
12975 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12977 * gst/gststructure.c:
12978 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12980 * gst/gstvalue.h:
12981 Expand on the difference between arrays and lists as we use them.
12983 2006-08-14 Wim Taymans <wim@fluendo.com>
12985 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12986 If the parent state change function failed, don't assume we can safely
12987 stop the source, this will be done when the pads are deactivated.
12989 2006-08-14 Wim Taymans <wim@fluendo.com>
12991 * gst/gstbuffer.c:
12992 * gst/gsttask.c: (gst_task_join):
12993 Small doc updates.
12995 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12996 (gst_pad_stop_task):
12997 When pad (de)activation failed for some reason, restore the old
12998 activation mode and set the pad to flushing instead of assuming the
12999 pad is deactivated.
13000 If the _task_join() failed, reinstall the task on the pad so that it can
13001 be stopped later and return an error.
13003 2006-08-11 Andy Wingo <wingo@pobox.com>
13005 * configure.ac:
13006 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13007 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
13008 is only for users of API that don't want to see deprecated
13009 functions in the headers; people that want to compile out
13010 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
13011 CFLAGS. Fixes the build of multifdsink, or will soon..
13013 2006-08-11 Wim Taymans <wim@fluendo.com>
13015 * docs/gst/gstreamer-sections.txt:
13016 Add GstClockClass vmethod docs.
13018 * gst/gstcaps.h:
13019 Mark #endif with comment for associated #if
13021 * gst/gstclock.c: (gst_clock_id_wait):
13022 * gst/gstclock.h:
13023 Add vmethod wait_jitter to avoid an unneeded _get_time() for
13024 most clock implementations.
13025 Document vmethods.
13026 Flesh out docs about resolution methods.
13027 API: GstClockClass::wait_jitter
13029 * gst/gstsystemclock.c: (gst_system_clock_class_init),
13030 (gst_system_clock_async_thread),
13031 (gst_system_clock_id_wait_jitter_unlocked),
13032 (gst_system_clock_id_wait_jitter):
13033 Use base class wait_jitter variant for improved performance
13034 due to less clock polling.
13036 2006-08-11 Edward Hervey <edward@fluendo.com>
13038 * gst/gst.c: (gst_init_check), (init_post):
13039 Set gst as being initialized before scanning/updating the registry,
13040 since there might be my python plugin loader that calls gst_init() and
13041 we don't want to loop back in.
13042 Closes #350879
13044 2006-08-11 Wim Taymans <wim@fluendo.com>
13046 * docs/design/part-qos.txt:
13047 Bring docs in line with the code. Mostly the sign of the jitter was
13048 wrong in the docs. Fixes #349943.
13050 * gst/gstclock.c:
13051 Fix the docs for the jitter.
13053 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
13054 (gst_event_parse_tag), (gst_event_new_buffer_size),
13055 (gst_event_parse_buffer_size), (gst_event_parse_qos),
13056 (gst_event_new_seek), (gst_event_parse_seek),
13057 (gst_event_new_navigation):
13058 Make sure the GstStructure has no parent when creating custom
13059 events.
13060 Add some more argument checking so that we avoid 0.0 rates.
13061 Flesh out the docs for the QoS event some more.
13063 2006-08-11 Wim Taymans <wim@fluendo.com>
13065 * docs/gst/gstreamer-sections.txt:
13066 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13067 (ensure_current_registry_forking), (ensure_current_registry),
13068 (parse_one_option), (parse_goption_arg), (gst_deinit),
13069 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13070 * gst/gst.h:
13071 Doc updates.
13072 Added API and command line option to disable registry forking in
13073 addition to the environment variable.
13074 Constify some static arrays.
13075 Added some more debug.
13076 Don't deinit twice.
13077 API: gst_registry_fork_is_enabled()
13078 API: gst_registry_fork_set_enabled()
13079 API: --gst-disable-registry-fork command line option
13080 Fixes #348918.
13082 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13084 * gst/gst.c: (gst_init):
13085 Fix typo in error message.
13087 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13089 * libs/gst/controller/gstcontroller.h:
13090 fix ABI size-correction
13092 * tests/check/libs/gdp.c: (gst_dp_suite):
13093 make tests that use deprecated API conditional
13095 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13097 * docs/libs/gstreamer-libs-sections.txt:
13098 * libs/gst/controller/gstcontroller.c:
13099 (_gst_controller_get_property), (_gst_controller_set_property),
13100 (_gst_controller_init), (_gst_controller_class_init):
13101 * libs/gst/controller/gstcontroller.h:
13102 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13103 (gst_object_set_control_rate):
13104 API: add gst_object_{s,g}et_control_rate(), add private data section,
13105 fix docs
13107 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13108 * libs/gst/dataprotocol/dataprotocol.h:
13109 add deprecation guards to make gtk-doc happy and allow disabling cruft
13111 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13113 * tests/check/Makefile.am:
13114 * tests/check/gst/.cvsignore:
13115 Let's enable the new unit test as well.
13117 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13119 * configure.ac:
13120 * docs/gst/gstreamer-sections.txt:
13121 * gst/gstconfig.h.in:
13122 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13123 (_gst_info_printf_extension_ptr),
13124 (_gst_info_printf_extension_segment):
13125 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13126 register that lets us easily dump GstSegments into debug
13127 logs (#350419).
13129 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13130 (info_segment_format_printf_extension), (gst_info_suite):
13131 Add simple unit test that logs a bunch of different segments (not
13132 valgrinded at the moment because of leaks in
13133 gst_debug_add_log_function).
13135 2006-08-09 Edward Hervey <edward@fluendo.com>
13137 * libs/gst/base/gstbasetransform.c:
13138 (gst_base_transform_buffer_alloc):
13139 Even if we can't figure out the proper format to request downstream,
13140 call buffer_alloc() downstream with the input parameters without setting
13141 the caps on the srcpad. This will force negotiation in the chain
13142 function.
13143 Closes #350449
13145 2006-08-08 Edward Hervey <edward@fluendo.com>
13147 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13148 Unlinking from a pad without a target is now a perfectly valid case
13149 which should NOT raise an assertion.
13150 This case would happen if a linked ghostpad its target set to NULL after
13151 it was previously linked.
13153 2006-08-08 Edward Hervey <edward@fluendo.com>
13155 * tests/check/libs/gdp.c:
13156 Also comment out the test (see below).
13158 2006-08-08 Edward Hervey <edward@fluendo.com>
13160 * tests/check/libs/gdp.c: (gst_dp_suite):
13161 Use the architecture information from config.h and not gcc macros
13162 in order to properly disable a test that fails on PPC64.
13164 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13166 * gst/gstelement.c: (gst_element_remove_pad):
13167 Don't crash printing the warning if the pad has no parent.
13169 2006-08-02 Wim Taymans <wim@fluendo.com>
13171 * libs/gst/dataprotocol/dataprotocol.c:
13172 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13173 (gst_dp_crc), (gst_dp_header_payload_length),
13174 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13175 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13176 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13177 (gst_dp_event_from_packet), (gst_dp_validate_header),
13178 (gst_dp_validate_payload):
13179 Make debug category static
13180 Constify the crc table.
13181 Do some more arg checking in public functions.
13182 Fix some docs and do some small cleanups.
13184 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13185 Add some more checks to see if GDP deals with bogus input.
13187 2006-07-31 Wim Taymans <wim@fluendo.com>
13189 * gst/gstvalue.c: (gst_value_compare_list):
13190 Fix GstValueList comparison code. Fixes #347293.
13192 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13193 Check to test GstValueList comparison.
13195 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13197 * gst/gstelementfactory.c: (gst_element_factory_create):
13198 Remove unnecessary ref/unref pair
13200 * gst/parse/grammar.y:
13201 Make sure to free the parse buffer on all code paths.
13202 Move a g_free up to the error handler where it's easier to see.
13204 * tests/check/gst/gstevent.c: (test_event):
13205 Extending timeout for downstream travelling events to 10 seconds to
13206 hopefully avoid intermittent failure on the buildbots.
13208 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13209 Don't manually set the state of the src element - it will happen as a
13210 natural consequence of the pipeline changing state, and that way it
13211 will do it in the right order too.
13213 2006-07-31 Wim Taymans <wim@fluendo.com>
13215 * libs/gst/base/gstbasetransform.c:
13216 (gst_base_transform_buffer_alloc):
13217 Use OBJECT_LOCK and refcounting to get the pad caps in the
13218 buffer_alloc function because the caps could change while we are
13219 busy with them. Fixes #349105
13221 2006-07-31 Wim Taymans <wim@fluendo.com>
13223 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13224 Protect _PAD_CAPS with OBJECT_LOCK.
13226 2006-07-31 Wim Taymans <wim@fluendo.com>
13228 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13229 (gst_pad_get_property), (gst_pad_activate_pull),
13230 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13231 (gst_pad_set_activate_function),
13232 (gst_pad_set_activatepull_function),
13233 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13234 (gst_pad_set_getrange_function),
13235 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13236 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13237 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13238 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13239 (gst_pad_set_acceptcaps_function),
13240 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13241 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13242 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13243 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13244 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13245 (gst_pad_configure_sink), (gst_pad_configure_src),
13246 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13247 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13248 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13249 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13250 (gst_pad_send_event):
13251 Use _DEBUG_OBJECT when it makes sense.
13252 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13253 Small cleanups and code reflows.
13254 Avoid caps refcounting in _accept_caps.
13255 Refactor alloc_buffer so that the code performed on the peer is in a
13256 separate function. Also if the pad does not implement a buffer alloc
13257 function, we should still check if the pad is flushing before falling
13258 back to the default allocator.
13260 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13262 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13263 Make all uses of identity and fakesink have silent=true to avoid
13264 serialising every passing data structure, which is breaking tests
13265 on FC4 for some unknown reason.
13267 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13269 * gst/parse/Makefile.am:
13270 * gst/parse/grammar.y:
13271 * gst/parse/parse.l:
13272 Reverted previous patch as it required to bump the flex dependency to
13273 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13275 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13277 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13279 * gst/parse/Makefile.am:
13280 * gst/parse/grammar.y:
13281 * gst/parse/parse.l:
13282 push & pop the state of the lexer for reentrant use case
13283 Fixes #349180
13285 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13287 * libs/gst/base/gstbasesrc.h:
13288 Note in the docs that the ::newsegment vfunc is not actually used by
13289 GstBaseSrc.
13291 2006-07-28 Wim Taymans <wim@fluendo.com>
13293 * libs/gst/base/gstcollectpads.c:
13294 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13295 (gst_collect_pads_clear), (gst_collect_pads_flush),
13296 (gst_collect_pads_event), (gst_collect_pads_chain):
13297 When flushing a pad, also clear the queued buffer so that we don't
13298 accidentally use it when we shouldn't.
13299 Fix leaks by inreffing incomming buffer.
13300 Flush out queued buffers in case of errors.
13301 Fixes #347452.
13303 2006-07-28 Wim Taymans <wim@fluendo.com>
13305 * docs/random/phonon-gst:
13306 Random notes about a Phonon backend.
13308 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13310 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13311 Extra debug output
13312 * tests/check/libs/gdp.c: (gst_dp_suite):
13313 Take a whack at fixing the ppc compile using a different define to
13314 disable the broken test.
13316 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13317 Remove excess g_print()
13319 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13321 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13322 Oops, meant to uncomment this line too to dampen the noise a bit.
13324 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13326 * gst/parse/grammar.y:
13327 * gst/parse/parse.l:
13328 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13329 (GST_START_TEST), (parse_suite):
13330 Fix some of the leaks exposed by extending the parse-launch testsuite,
13331 and move the 3 I can't figure out into a separate test that won't run
13332 the pipelines unless the appropriate line is uncommented.
13334 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13336 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13337 Requesting 0 bytes before the end of the file should result in
13338 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13339 unit test.
13341 2006-07-27 Wim Taymans <wim@fluendo.com>
13343 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13344 Fix useless assert, a uint is always positive.
13346 * gst/gststructure.c: (gst_structure_nth_field_name),
13347 (gst_structure_foreach), (gst_structure_map_in_place):
13348 Check input arguments for public functions to avoid obvious crashes.
13350 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13351 * plugins/elements/gstfakesink.h:
13352 Do less useless typechecking.
13354 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13356 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13357 Do not use mmap() by default since there are a number of error
13358 conditions that we would like to handle in a non-fatal way that
13359 will result in a SIGBUS if we use mmap(). Examples: external
13360 devices (USB harddrive, portable music player) being unplugged
13361 while in use; file on mounted CD/DVD that can't be read because
13362 the medium is partly damaged. Fixes #348455 and #348475.
13364 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13366 * gst/gstquery.h:
13367 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13368 rates are a gdouble
13370 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13372 * gst/gstregistry.c:
13373 Move big documentation comment into class section header, so that it
13374 appears in the API docs.
13376 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13378 * docs/gst/gstreamer-sections.txt:
13379 Oops. Commit the docs additions too for new API.
13380 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13382 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13384 * gst/gststructure.c: (gst_structure_id_set),
13385 (gst_structure_id_set_valist):
13386 * gst/gststructure.h:
13387 Add API for setting values into structures without performing
13388 a quark lookup, if the appropriate quark is already known.
13390 API: gst_structure_id_set
13391 API: gst_structure_id_set_valist
13393 * gst/parse/grammar.y:
13394 * gst/parse/parse.l:
13395 Remove some dead code shown by the coverage information.
13396 Don't throw a critical g_warning when encountering a syntax error,
13397 just warn and let the normal error path handle it.
13399 * plugins/elements/gstelements.c:
13400 Bump the rank of filesink up to PRIMARY so that it is preferred over
13401 gnomevfssink for file:// sink uri's
13403 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13404 (GST_START_TEST), (run_delayed_test),
13405 (gst_parse_test_element_base_init),
13406 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13407 (gst_parse_test_element_change_state),
13408 (gst_register_parse_element), (parse_suite):
13409 Beef up the tests for parse syntax to check that more error cases
13410 fail as they are supposed to. Increases the test coverage a bit.
13412 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13414 * docs/manual/basics-elements.xml:
13415 Fix gst_element_link() example.
13417 * gst/gstutils.c:
13418 Mention in API docs that one should usually gst_bin_add()
13419 elements to a bin or pipeline before doing the linking.
13421 2006-07-26 Wim Taymans <wim@fluendo.com>
13423 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13424 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13425 Avoid function call for known types by keeping the buffer and
13426 subbuffer GType global.
13428 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13429 Random silly optimisations in read() path.
13431 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13433 * tools/gst-launch.c: (main):
13434 If the top-level of the parse is a normal bin, it doesn't do the
13435 right logic to run as a top-level element, so place it inside a
13436 pipeline.
13438 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13440 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13441 Remove superfluous g_object_notify() calls, GObject does
13442 that for us automatically.
13444 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13446 * gst/gstinfo.h:
13447 on Win32, use dllspec to export the debug category symbols
13449 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13451 * gst/gsttaglist.c: (_gst_tag_initialize):
13452 Allow more than one GST_TAG_IMAGE per taglist.
13454 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13456 * gst/gstminiobject.c:
13457 update docs
13458 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13459 (gst_fd_src_create):
13460 log recurring events at LOG level
13461 add more debug for when the fd gets set
13463 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13465 * gst/gstparse.c: (gst_parse_launch):
13466 Also remove reentrance checks if flex is MT safe (#348179)
13467 Fix my empty ChangeLog entry below
13469 2006-07-21 Andy Wingo <wingo@pobox.com>
13471 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13473 * libs/gst/check/Makefile.am
13474 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13475 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13476 * libs/gst/check/gstbufferstraw.h:
13477 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13478 functions, thus proving I am still a GStreamer haxor. OK I wrote
13479 them a long time ago, but anyways.
13481 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13483 * configure.ac:
13484 * gst/gstparse.c: (gst_parse_launch):
13485 Check for flex version and omit mutex if we have a MT save flex
13486 (fixes #348179)
13488 2006-07-21 Wim Taymans <wim@fluendo.com>
13490 * gst/gstparse.c: (gst_parse_launch):
13491 Protect recursive calls to _parse with a recursive mutex
13492 and busy flag.
13494 2006-07-21 Wim Taymans <wim@fluendo.com>
13496 * tests/check/gst/gstpad.c: (GST_START_TEST):
13497 Fix leak in test.
13499 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13501 * gst/gstparse.c: (gst_parse_launch):
13502 Do not hang on recursive usage of gst_parse_launch()
13504 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13506 * gst/gsttaglist.c:
13507 Add some more docs, comments and FIXME 0.11s here and there
13508 and also fix some typos.
13510 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13512 * gst/gstsegment.h:
13513 Convert tabs to spaces for better readability.
13515 2006-07-20 Edward Hervey <edward@fluendo.com>
13517 * tests/check/libs/gdp.c: (gst_dp_suite):
13518 the test_buffer test fails at line 140 on ppc64 at the following
13519 check:
13520 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13521 GST_BUFFER_FLAG_IN_CAPS),
13522 "GST_BUFFER_IN_CAPS flag should have been copied !");
13523 See bug #348114 for more details.
13525 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13527 * docs/pwg/advanced-scheduling.xml:
13528 * gst/gstpad.c:
13529 Fix typos (#348000).
13531 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13533 * docs/pwg/intro-basics.xml:
13534 Fix wrong links (#347927).
13536 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13538 * gst/gstregistry.h:
13539 * gst/gstregistryxml.c: (load_feature),
13540 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13541 * win32/common/config.h:
13542 make --disable-index work (#342564)
13544 2006-07-18 Wim Taymans <wim@fluendo.com>
13546 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13548 * gst/Makefile.am:
13549 * gst/gsttrace.h:
13550 The attached patch adds two missing defines to gsttrace.h when tracing
13551 is disabled. It also corrects one existing define.
13552 Fixes #347756.
13554 2006-07-17 Wim Taymans <wim@fluendo.com>
13556 * docs/gst/gstreamer-sections.txt:
13557 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13558 * gst/gst.h:
13559 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13560 Add two functions to check and change the SIGSEGV behaviour
13561 when loading plugins.
13562 Don't mess with the SIGSEGV handler when we were told not to.
13563 Fixes #347794.
13564 API: gst_segtrap_is_enabled
13565 API: gst_segtrap_set_enabled
13567 2006-07-14 Wim Taymans <wim@fluendo.com>
13569 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13570 * tests/check/elements/filesrc.c: (GST_START_TEST):
13571 Revert fix for regression in #347408 after release.
13573 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13575 Patch by: Antoine Tremblay <hexa00 at gmail com>
13577 * gst/gstutils.c: (gst_element_unlink):
13578 Free iterator when done (#347311).
13580 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13581 And add a test case for this.
13583 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13585 * configure.ac:
13586 Bump nano back to CVS
13588 === release 0.10.9 ===
13590 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13592 * configure.ac:
13593 releasing 0.10.9, "On the road again"
13595 2006-07-13 Wim Taymans <wim@fluendo.com>
13597 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13598 * tests/check/elements/filesrc.c: (GST_START_TEST):
13599 Revert pull-0 fix for release. Disable check. Fixes #347408.
13601 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13603 * libs/gst/dataprotocol/dataprotocol.c:
13604 (gst_dp_event_from_packet_1_0):
13605 Fixes #347337: failure to deserialize event packets with
13606 empty payload (only event type)
13608 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13610 * gst/Makefile.am:
13611 do not install a .c file in the header directory
13613 2006-07-13 Edward Hervey <edward@fluendo.com>
13615 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13616 GhostPad no longer implicitely use the padtemplates of the targets.
13617 Fixes #347384
13619 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13621 * gst/gstvalue.c: (gst_value_compare_list),
13622 (gst_value_compare_array), (_gst_value_initialize):
13623 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13624 Make GstValueArray comparison be order dependent as designed.
13625 Add checks for value lists and value array comparisons.
13626 Fixes #347221
13628 2006-07-11 Edward Hervey <edward@fluendo.com>
13630 * gst/gstbin.c: (activate_pads),
13631 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13632 (gst_bin_change_state_func):
13633 (de)activate src pads before calling state_change on the childs.
13634 This is to avoid the case where a src ghostpad is blocked (holding the
13635 stream lock), which would block the deactivation of the ghostpad's
13636 target pad.
13637 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13638 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13639 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13640 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13641 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13642 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13643 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13644 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13645 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13646 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13647 (gst_ghost_pad_class_init),
13648 (gst_ghost_pad_internal_do_activate_push),
13649 (gst_ghost_pad_internal_do_activate_pull),
13650 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13651 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13652 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13653 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13654 GhostPads now create their internal GstProxyPad at creation (and not
13655 when they're linked, as it was being done previously).
13656 The internal and target pads are linked straight away.
13657 The data will also travel through the other pad in order to make
13658 pad blocking and probes non-hackish (the probe/block now really happens
13659 on the GhostPad and not on the target).
13660 * gst/gstpad.c: (gst_pad_set_blocked_async),
13661 (gst_pad_link_prepare), (gst_pad_push_event):
13662 Remove previous ghostpad cruft.
13663 * gst/gstutils.c: (gst_pad_add_data_probe),
13664 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13665 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13666 (gst_pad_remove_buffer_probe):
13667 Remove previous ghost pad cruft.
13668 Added more detailed debug statements.
13669 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13670 Fix the testsuite for refcounting changes.
13671 The comments about who has references were correct, but the refcount
13672 being checked wasn't the same (!?!).
13674 Fixes #341029
13676 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13678 * docs/gst/gstreamer-sections.txt:
13679 * gst/gstconfig.h.in:
13680 More docs for configuration options, add docs to gtk-doc.
13682 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13684 * gst/Makefile.am:
13685 * gst/gstconfig.h.in:
13686 * win32/common/config.h:
13687 Fix build when disabling tracing (fixes #344016). Also start to document
13688 the defines that disable the sub-systems.
13690 2006-07-10 Edward Hervey <edward@fluendo.com>
13692 * gst/gst.c: (ensure_current_registry_forking):
13693 let's make valgrind happy...
13695 2006-07-09 Wim Taymans <wim@fluendo.com>
13697 * gst/gstelement.c: (activate_pads),
13698 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13699 Better pad activation code: Reset the collect value too on resync.
13700 Add some comments.
13702 2006-07-09 Wim Taymans <wim@fluendo.com>
13704 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13705 (gst_pad_activate_push):
13706 Use some more macros where it makes sense.
13707 Allow pad mode switching instead of asserting. When a pad
13708 is activated in one mode and we activate it in another,
13709 deactivate it first before activating it in a different mode.
13710 Fixes #329198.
13712 2006-07-08 Andy Wingo <wingo@pobox.com>
13714 * tools/gst-launch.c (main): Handle err == NULL.
13716 * gst/gst.c (init_post, ensure_current_registry)
13717 (ensure_current_registry_forking)
13718 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13719 factoring out the registry scanning into separate functions. Don't
13720 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13721 Better environment var name/interface suggestions accepted.
13723 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13725 * gst/gstobject.c: (gst_object_set_name_default),
13726 (gst_object_set_name):
13727 Random micro-optimisation: don't use a hash table
13728 with strings as keys and the usual strdup/strcmp
13729 involved, but rather just use the GQuark of the
13730 type name as key, since it needs to be looked up
13731 anyway to get the type name string.
13733 * tests/check/gst/gstobject.c: (GST_START_TEST):
13734 Fix various leaks.
13736 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13738 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13739 (gst_bin_iterate_all_by_interface):
13740 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13741 GTypes are gulongs and thus the top 4 bytes might be cut
13742 off on some platforms when doing GPOINTER_TO_INT, leading
13743 to invalid GTypes and bad things happening (see RH bug #179654).
13744 Also add a check to make sure the type passed in is really
13745 an interface type.
13747 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13749 * .cvsignore:
13750 Ignore more.
13752 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13754 * Makefile.am:
13755 * configure.ac:
13756 * gst-element-check.m4:
13757 * gst-element-check.m4.in:
13758 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13759 instead of the unversioned gst-inspect (#324176, #168659).
13761 2006-07-06 Wim Taymans <wim@fluendo.com>
13763 * gst/gstmessage.h:
13764 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13765 warnings.
13767 2006-07-06 Wim Taymans <wim@fluendo.com>
13769 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13770 (gst_base_src_wait), (gst_base_src_update_length),
13771 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13772 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13773 (gst_base_src_loop), (gst_base_src_start),
13774 (gst_base_src_activate_pull):
13775 Update docs.
13776 blocksize == 0 now means the default blocksize when working in push
13777 based mode.
13778 Remove some pointless asserts in _wait function.
13779 Fix offset/length calculations and EOS handling. We can now pull 0
13780 bytes as well, which is allowed.
13781 use _check_get_range() to decide if we can operate in _pull based
13782 mode.
13783 Fix refcounting leak when check_get_range function was not
13784 implemented.
13785 API GstBaseSrc::blocksize range can be 0 too now (default)
13787 * tests/check/elements/filesrc.c: (GST_START_TEST),
13788 (filesrc_suite):
13789 Added check to test _get_range() behaviour.
13791 2006-07-06 Wim Taymans <wim@fluendo.com>
13793 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13794 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13795 (gst_pad_pull_range):
13796 * gst/gstpad.h:
13797 Lots of comments and docs added to the pad functions.
13798 Flesh out the expected behaviour of the get_range() functions.
13800 2006-07-06 Wim Taymans <wim@fluendo.com>
13802 * gst/gstbus.h:
13803 * gst/gstclock.h:
13804 * gst/gstevent.h:
13805 * gst/gstiterator.h:
13806 * gst/gstpad.h:
13807 * gst/gstplugin.h:
13808 * gst/gsttask.h:
13809 Remove comma at end of enumerator list.
13811 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13813 * win32/common/libgstbase.def:
13814 * win32/common/libgstdataprotocol.def:
13815 * win32/common/libsgtreamer.def:
13816 Add new exported functions.
13818 2006-07-05 Wim Taymans <wim@fluendo.com>
13820 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13821 Add some more docs here and there.
13823 2006-07-05 Wim Taymans <wim@fluendo.com>
13825 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13826 (gst_base_sink_loop), (gst_base_sink_get_position):
13827 When operating in pull mode update the offset so that we
13828 read sequentially.
13830 2006-07-05 Wim Taymans <wim@fluendo.com>
13832 * gst/gstregistryxml.c: (read_string):
13833 Avoid strdup. (will happen in libxml, but hey!)
13835 * gst/gsturi.c:
13836 Add some more docs.
13838 2006-07-05 Wim Taymans <wim@fluendo.com>
13840 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13841 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13842 (gst_buffer_suite):
13843 No point in checking if the size of the subbuffer > 0, the
13844 code handles it correclty as demonstrated by unit test.
13845 Also add a unit test for the zero sized _new_and_alloc and
13846 _copy. Fixes #346663.
13848 2006-07-05 Wim Taymans <wim@fluendo.com>
13850 * libs/gst/base/gstbasetransform.c:
13851 (gst_base_transform_prepare_output_buffer),
13852 (gst_base_transform_buffer_alloc),
13853 (gst_base_transform_handle_buffer):
13854 Make sure the buffer we pass to transform_ip has a refcount of
13855 1 and thus is writable. Fixes #343196
13857 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13859 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13860 (gst_file_src_init), (gst_file_src_set_property),
13861 (gst_file_src_get_property), (gst_file_src_map_region):
13862 * plugins/elements/gstfilesrc.h:
13863 Add "sequential" property, off by default, to use madvise and hint
13864 to the kernel that sequential access is desired.
13865 Touch all retrieved pages by default to ensure they are pulled
13866 into memory. (Closes #345720)
13868 2006-07-03 Wim Taymans <wim@fluendo.com>
13870 * docs/design/part-block.txt:
13871 * docs/design/part-dynamic.txt:
13872 Small docs updates.
13874 2006-07-03 Wim Taymans <wim@fluendo.com>
13876 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13877 (gst_caps_unref), (gst_static_caps_get),
13878 (gst_caps_append_structure):
13879 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13880 Use GSlice when the glib we build against is >= 2.10
13882 2006-07-03 Wim Taymans <wim@fluendo.com>
13884 * gst/gstelement.c: (gst_element_pads_activate):
13885 Small cleanup in pad activation code.
13887 2006-07-03 Wim Taymans <wim@fluendo.com>
13889 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13891 * gst/gst-i18n-app.h:
13892 * gst/gst-i18n-lib.h:
13893 * tools/gst-inspect.c: (print_signal_info):
13894 The attached patch will make the inclusion of gettext.h unconditional in
13895 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13896 libintl.h in tools/gst-inspect.c.
13897 This allows use of --disable-nls again and fixes #344642.
13899 2006-07-03 Edward Hervey <edward@fluendo.com>
13901 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13902 Implement pad blocking on events according to part-block.txt.
13903 More comments on behaviour.
13904 * tests/check/gst/gstevent.c: (test_event):
13905 Send event to peer pad of blocked pad (else it will block).
13907 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13909 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13910 (gst_check_run_suite):
13911 if we get the wrong message, give us the types as string
13912 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13913 Fix a translatable
13914 * tests/check/elements/filesrc.c: (GST_START_TEST):
13915 add a test for trying to open a non-existing file
13917 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13919 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13920 add a test for adding self
13922 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13924 * libs/gst/check/gstcheck.h:
13925 add some assert_ as alias for fail_unless_*
13926 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13927 increase test coverage
13929 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13931 * Makefile.am:
13932 include lcov.mak for lcov coverage generation
13933 * tools/Makefile.am:
13934 add to CLEANFILES
13936 2006-07-02 Edward Hervey <edward@fluendo.com>
13938 * tests/check/elements/.cvsignore:
13939 moaping
13941 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13943 * configure.ac:
13944 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13945 * tests/check/Makefile.am:
13946 clean up gcov files
13948 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13950 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13951 remove gst_caps_simplify; it was not declared and not used
13952 and deprecated in 0.8
13954 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13956 * docs/faq/gst-uninstalled:
13957 don't put empty paths on PYTHONPATH
13958 * docs/gst/gstreamer-sections.txt:
13959 remove some symbols that are not there
13961 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13963 * gst/gstcaps.c: (gst_caps_compare_structures):
13964 whitespace fixes
13965 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13966 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13967 add more tests
13969 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13971 * libs/gst/dataprotocol/Makefile.am:
13972 build dataprotocol test by linking to the lib, instead of
13973 compiling the source, so we get coverage
13974 * tests/check/Makefile.am:
13975 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13976 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13977 add a test for filesrc
13979 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13981 * tests/check/gst/gststructure.c: (GST_START_TEST),
13982 (gst_structure_suite):
13983 Push coverage from 59.04% to 70.00%
13985 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13987 * tests/check/Makefile.am:
13988 gst-inspect every element; this makes sure that we also get
13989 coverage on element's get/set functions
13991 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13993 * configure.ac:
13994 set CFLAGS and friends to -O0 if gcov is being used
13995 add GCOV LIBS
13996 * gst/Makefile.am:
13997 * libs/gst/base/Makefile.am:
13998 * libs/gst/check/Makefile.am:
13999 * libs/gst/controller/Makefile.am:
14000 * libs/gst/dataprotocol/Makefile.am:
14001 * libs/gst/net/Makefile.am:
14002 * plugins/elements/Makefile.am:
14003 * plugins/indexers/Makefile.am:
14004 add makefile rules to generate gcov data and clean up
14005 * tests/check/Makefile.am:
14006 add a coverage target that generates an html overview
14007 of coverage data
14009 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14011 * tests/check/elements/fakesink.c:
14012 * tests/check/elements/fakesrc.c:
14013 * tests/check/elements/fdsrc.c:
14014 * tests/check/elements/identity.c:
14015 * tests/check/generic/sinks.c: (gst_sinks_suite):
14016 * tests/check/generic/states.c:
14017 * tests/check/gst/gst.c:
14018 * tests/check/gst/gstabi.c:
14019 * tests/check/gst/gstbin.c:
14020 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
14021 * tests/check/gst/gstbus.c: (gst_bus_suite):
14022 * tests/check/gst/gstcaps.c: (GST_START_TEST):
14023 * tests/check/gst/gstelement.c:
14024 * tests/check/gst/gstevent.c: (gst_event_suite):
14025 * tests/check/gst/gstghostpad.c:
14026 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
14027 * tests/check/gst/gstmessage.c: (gst_message_suite):
14028 * tests/check/gst/gstminiobject.c:
14029 * tests/check/gst/gstobject.c:
14030 * tests/check/gst/gstpad.c:
14031 * tests/check/gst/gstpipeline.c:
14032 * tests/check/gst/gstplugin.c:
14033 * tests/check/gst/gstquery.c: (gst_query_suite):
14034 * tests/check/gst/gstsegment.c: (gst_segment_suite):
14035 * tests/check/gst/gststructure.c:
14036 * tests/check/gst/gstsystemclock.c:
14037 * tests/check/gst/gsttag.c:
14038 * tests/check/gst/gsttask.c: (gst_task_suite):
14039 * tests/check/gst/gstutils.c:
14040 * tests/check/gst/gstvalue.c:
14041 * tests/check/libs/adapter.c:
14042 * tests/check/libs/basesrc.c:
14043 * tests/check/libs/collectpads.c:
14044 * tests/check/libs/controller.c:
14045 * tests/check/libs/gdp.c: (gst_dp_suite):
14046 * tests/check/libs/gstnetclientclock.c:
14047 * tests/check/libs/gstnettimeprovider.c:
14048 * tests/check/libs/libsabi.c: (libsabi_suite):
14049 * tests/check/libs/typefindhelper.c:
14050 * tests/check/pipelines/cleanup.c:
14051 * tests/check/pipelines/parse-launch.c:
14052 * tests/check/pipelines/simple-launch-lines.c:
14053 * tests/check/pipelines/stress.c: (stress_suite):
14054 use the new macro
14056 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
14058 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
14059 * libs/gst/check/gstcheck.h:
14060 create a macro and function so that the simple unit test
14061 case can be just one macro to create main()
14063 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14065 * gst/gstbin.c: (gst_bin_restore_thyself):
14066 * gst/gstxml.c: (gst_xml_make_element):
14067 Fix deserialisation from XML. Set parent manually
14068 instead of using gst_bin_add(), since gst_bin_add()
14069 will unlink all pads of the element being added.
14070 Fixes #341667.
14072 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14074 Patch by: Peter Kjellerstedt <pkj at axis com>
14076 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14077 Fix missing g_strdup() and double free when using the
14078 --gst-plugin-load command line option (#346097).
14080 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14082 * gst/gstinfo.c:
14083 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14085 * libs/gst/net/gstnetclientclock.c:
14086 * libs/gst/net/gstnettimeprovider.c:
14087 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14089 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14091 * docs/manual/advanced-dataaccess.xml:
14092 Fix buffer probe example compilation in
14093 ADM (#345708).
14095 2006-06-22 Edward Hervey <edward@fluendo.com>
14097 * gst/gstelement.c: (gst_element_pads_activate):
14098 We need to deactivate src pads first and then sink pads.
14099 The reason is the src pads might be blocking while holding the streaming
14100 lock, so we need to deactivate them first so that deactivating the sink
14101 pads doesn't block (since it will require the streaming lock).
14103 2006-06-22 Wim Taymans <wim@fluendo.com>
14105 * libs/gst/base/gstbasetransform.c:
14106 (gst_base_transform_buffer_alloc):
14107 Forgot to remove two unneeded unrefs.
14108 Simplify a check _is_equal allready checks the obvious case.
14110 2006-06-22 Wim Taymans <wim@fluendo.com>
14112 * docs/design/part-block.txt:
14113 Some docs about what pad_block should do.
14115 2006-06-22 Wim Taymans <wim@fluendo.com>
14117 * gst/gstcaps.c: (gst_caps_replace):
14118 Fix crasher when passed NULL. Doc clarification.
14119 Optimize for the trivial case.
14121 * gst/gstpipeline.c: (gst_pipeline_change_state):
14122 Small cleanups.
14124 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14125 Small documentation cleanup.
14127 * libs/gst/base/gstbasetransform.c:
14128 (gst_base_transform_buffer_alloc):
14129 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14130 is what we need and it avoids a whole lot of redundant
14131 refcount operations.
14133 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14135 Patch by: Philip Jägenstedt <philip at lysator liu se>
14137 * docs/manual/advanced-dataaccess.xml:
14138 Fix 'Embedding static elements' section to use
14139 GST_PLUGIN_DEFINE_STATIC (#345607).
14141 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14143 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14144 Attempt to 'fix' spuriously failing test case: it seems like the
14145 timeout of half a second is simply too small when the system is under
14146 load otherwise, and the timeout doesn't really seem to serve any
14147 particular purpose here. Give the pipeline a few seconds to preroll
14148 first, and then give it another half a second to go from PAUSED to
14149 PLAYING and marshal the message into the main thread.
14151 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14153 * tools/gst-feedback-m.m:
14154 Don't only use unversioned tools, try versioned tools as well
14155 (#345086).
14157 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14159 * gst/gstbus.c: (gst_bus_class_init):
14160 Fix some typos, make docs more explicit.
14162 2006-06-20 Wim Taymans <wim@fluendo.com>
14164 * tests/check/gst/gstghostpad.c: (block_callback),
14165 (GST_START_TEST), (gst_ghost_pad_suite):
14166 Added some more ghostpad tests, mainly blocking
14167 and probes.
14169 2006-06-16 Wim Taymans <wim@fluendo.com>
14171 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14172 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14173 (gst_file_sink_event), (gst_file_sink_render):
14174 * plugins/elements/gstfilesink.h:
14175 Check if we can seek in the file instead of assuming
14176 we always can. Post an error when we are asked to seek in a
14177 non-seekable file (like a fifo). Fixes #343312.
14178 Some cleanups.
14180 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14182 * tools/gst-launch.1.in:
14183 Un-garble (fourcc) bit in filtered caps section.
14185 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14187 * docs/manual/advanced-autoplugging.xml:
14188 * docs/manual/basics-helloworld.xml:
14189 * docs/manual/highlevel-components.xml:
14190 Don't leak bus reference in sample code.
14192 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14194 * autogen.sh:
14195 Add default for new --enable-plugin-docs switch.
14197 * configure.ac:
14198 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14199 Fixes #344039.
14201 * docs/Makefile.am:
14202 Use new ENABLE_PLUGIN_DOCS conditional.
14204 2006-06-14 Wim Taymans <wim@fluendo.com>
14206 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14207 Make it clear with a FIXME and a real define what the #if 0
14208 previously disabled.
14210 2006-06-14 Wim Taymans <wim@fluendo.com>
14212 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14213 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14214 * libs/gst/base/gstbasetransform.c:
14215 (gst_base_transform_sink_eventfunc):
14216 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14217 Don't randomly and silently reset a segment when the format
14218 changes as this is a bug somewhere upstream. Fixes #330379.
14220 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14222 Patch by: Wouter Paesen <wouter at kangaroot net>
14224 * libs/gst/controller/gstcontroller.c:
14225 (gst_controlled_property_new):
14226 Fix controlling of float properties (#344849).
14228 * tests/check/libs/controller.c:
14229 (gst_test_mono_source_get_property),
14230 (gst_test_mono_source_set_property),
14231 (gst_test_mono_source_class_init), (GST_START_TEST):
14232 While we're at it, add some float stuff to unit test.
14234 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14236 * docs/README:
14237 * docs/images/gdp-header.svg:
14238 add a gdp image
14239 * docs/libs/Makefile.am:
14240 * docs/libs/gdp-header.png:
14241 * libs/gst/dataprotocol/dataprotocol.c:
14242 add it to the API docs
14243 * docs/manual/intro-motivation.xml:
14244 fix typo
14246 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14248 * gst/gst.c: (scan_and_update_registry), (init_post):
14249 If the fork()'ed child process can't write the updated registry cache
14250 file to disk for some reason, make it exit with a failure exit code,
14251 so that the parent can then re-scan the plugins itself and update the
14252 registry structures in memory and work with that (rather than failing
14253 when creating elements because seemingly no plugins are available).
14254 Refactor registry scanning code into separate function for this and
14255 also separate fork() and non-fork() code paths. Fixes #344748.
14257 2006-06-13 Wim Taymans <wim@fluendo.com>
14259 * docs/manual/advanced-dataaccess.xml:
14260 Fix wrong PluginDesc. Fixes #344755.
14262 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14264 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14265 Fix silly bug that prevented us from creating
14266 ~/.gstreamer-0.10 and writing the registry in one
14267 go (the first call to g_mkstemp() would overwrite the
14268 placeholder in the template string, so the second call
14269 to g_mkstemp() after creating the missing directory
14270 would then error out with 'invalid argument').
14272 2006-06-13 Edward Hervey <edward@fluendo.com>
14274 * gst/gst.c: (init_post):
14275 Free string.
14277 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14279 * gst/glib-compat-private.h:
14280 * gst/glib-compat.c:
14281 * gst/glib-compat.h:
14282 * gst/gstvalue.c: (gst_value_serialize_flags):
14283 remove GLib 2.6 compatibility code
14285 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14287 * gst/parse/Makefile.am:
14288 Fix build with 'make -j N' even more (#340016).
14290 2006-06-12 Wim Taymans <wim@fluendo.com>
14292 * docs/gst/gstreamer-sections.txt:
14293 Fix docs.
14295 2006-06-12 Wim Taymans <wim@fluendo.com>
14297 * gst/gstsegment.c: (gst_segment_set_duration),
14298 (gst_segment_set_last_stop), (gst_segment_set_seek),
14299 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14300 (gst_segment_to_running_time), (gst_segment_clip):
14301 Use G_UNLIKELY to help the compiler a bit.
14303 2006-06-12 Wim Taymans <wim@fluendo.com>
14305 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14307 * gst/gstevent.c: (gst_event_get_type):
14308 * gst/gstmessage.c:
14309 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14310 (gst_pad_push):
14311 constify quark registration strings. Fixes #344115
14312 Avoid unneeded type checking is _pad_push() by internally
14313 calling gst_pad_chain_unchecked().
14315 2006-06-12 Wim Taymans <wim@fluendo.com>
14317 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14318 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14319 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14320 (gst_buffer_is_span_fast), (gst_buffer_span):
14321 Init _type for consistency.
14322 Use _FLAGS macro to avoid type check.
14323 Avoid unneeded type checks in subbufer code.
14325 2006-06-12 Wim Taymans <wim@fluendo.com>
14327 * gst/gst.c: (gst_debug_help):
14328 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14329 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14330 (gst_plugin_feature_list_free):
14331 * gst/gstregistry.c: (gst_registry_add_plugin),
14332 (gst_registry_add_feature), (gst_registry_plugin_filter),
14333 (gst_registry_feature_filter), (gst_registry_find_plugin),
14334 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14335 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14336 * gst/gstregistryxml.c: (load_feature),
14337 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14338 * gst/gstminiobject.c: (gst_mini_object_unref),
14339 (gst_mini_object_replace), (gst_value_mini_object_free),
14340 (gst_value_mini_object_copy):
14341 Use _CAST macros to avoid unneeded type checking.
14342 Added some more G_UNLIKELY.
14344 2006-06-12 Wim Taymans <wim@fluendo.com>
14346 * gst/gstbuffer.h:
14347 Avoid unneeded type checking.
14348 API: GST_BUFFER_IS_DISCONT
14350 * gst/gstminiobject.h:
14351 Avoid type check in flag accessor.
14353 * gst/gstelementfactory.h:
14354 * gst/gstplugin.h:
14355 * gst/gstpluginfeature.h:
14356 Add _CAST macros.
14357 API: GST_ELEMENT_FACTORY_CAST
14358 API: GST_PLUGIN_CAST
14359 API: GST_PLUGIN_FEATURE_CAST
14361 2006-06-12 Wim Taymans <wim@fluendo.com>
14363 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14364 (gst_object_unref):
14365 Add G_UNLIKELY in type registration.
14366 Avoid type check in _ref/_unref since that is also
14367 done in glib.
14369 2006-06-12 Wim Taymans <wim@fluendo.com>
14371 * gst/gsterror.c: (gst_g_error_get_type):
14372 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14373 (gst_static_pad_template_get_type):
14374 * gst/gsttaglist.c: (gst_tag_list_get_type):
14375 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14376 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14377 * gst/gsturi.c: (gst_uri_handler_get_type):
14378 * gst/gstvalue.c: (gst_date_get_type):
14379 * gst/gstxml.c: (gst_xml_get_type):
14380 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14381 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14382 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14383 Add G_UNLIKELY in type registration.
14385 2006-06-12 Wim Taymans <wim@fluendo.com>
14387 * tools/gst-inspect.c: (print_signal_info):
14388 Properly print enum values.
14390 2006-06-12 Wim Taymans <wim@fluendo.com>
14392 * gst/gstinfo.c: (gst_debug_set_active),
14393 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14394 * gst/gstinfo.h:
14395 Add some G_[UN]LIKELY.
14396 Maintain __gst_debug_min to avoid formatting the arguments of
14397 debug messages that will be dropped anyway to avoid a lot of
14398 overhead from the debugging system.
14400 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14402 * po/POTFILES.in:
14403 * po/POTFILES.skip:
14404 add missing files containing translatable strings, tell intltool about
14405 one exception
14407 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14409 * tests/check/libs/.cvsignore:
14410 add test-binary to ignore list
14412 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14414 * docs/libs/gstreamer-libs-docs.sgml:
14415 reorder (put dp into a chapter) and indent
14417 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14419 * configure.ac:
14420 back to HEAD
14422 === release 0.10.8 ===
14424 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14426 * configure.ac:
14427 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14429 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14431 * gst/gst.c: (init_post):
14432 move pid declaration to declaration block
14434 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14436 * gst/gst.c: (init_post):
14437 use _exit() instead of exit() in our forked child; this ensures
14438 that none of the registered exit handlers from whatever is using
14439 GStreamer get executed. This fixes gnome-mixer-applet failing
14440 to load, because ORBit would shut down.
14441 Spotted by: Edward Hervey <edward@fluendo.com>
14442 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14443 Fixes #344474
14445 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14447 * configure.ac:
14448 back to TRUNK
14450 === release 0.10.7 ===
14452 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14454 * configure.ac:
14455 releasing 0.10.7, "Soepeke, ik zie ou"
14457 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14459 * configure.ac:
14460 * po/af.po:
14461 * po/az.po:
14462 * po/bg.po:
14463 * po/ca.po:
14464 * po/cs.po:
14465 * po/de.po:
14466 * po/en_GB.po:
14467 * po/fr.po:
14468 * po/it.po:
14469 * po/nb.po:
14470 * po/nl.po:
14471 * po/ru.po:
14472 * po/sq.po:
14473 * po/sr.po:
14474 * po/sv.po:
14475 * po/tr.po:
14476 * po/uk.po:
14477 * po/vi.po:
14478 * po/zh_CN.po:
14479 * po/zh_TW.po:
14480 * win32/common/config.h:
14481 0.10.6.2 prerelease
14483 2006-06-07 Wim Taymans <wim@fluendo.com>
14485 * gst/gstindex.c: (gst_index_gtype_resolver):
14486 * tools/gst-xmlinspect.c: (print_plugin_info):
14487 Fix leak spotted by coverity checker. Fixes #343827
14488 Fix another other leak found by paolo borelli.
14490 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14492 * libs/gst/dataprotocol/dataprotocol.c:
14493 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14494 (gst_dp_version_get_type), (gst_dp_init),
14495 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14496 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14497 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14498 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14499 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14500 (gst_dp_packetizer_free):
14501 * libs/gst/dataprotocol/dataprotocol.h:
14502 API: add a GstDPPacketizer object, and create/free functions
14503 API: add GstDPVersion enum
14504 Add 1.0 event function that uses the string serialization
14505 Serialize more useful buffer flags
14506 Fixes #343988
14508 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14510 * tests/check/Makefile.am:
14511 * tests/check/gst/gstabi.c:
14512 * tests/check/gst/struct_ppc64.h:
14513 * tests/check/libs/libsabi.c:
14514 * tests/check/libs/struct_ppc64.h:
14515 add ppc64 structure sizes
14517 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14519 * tests/check/Makefile.am:
14520 * tests/check/gst/gstabi.c:
14521 * tests/check/gst/struct_x86_64.h:
14522 * tests/check/libs/libsabi.c:
14523 * tests/check/libs/struct_x86_64.h:
14524 generate and add structure size lists for x86_64
14526 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14528 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14529 * libs/gst/check/gstcheck.h:
14530 factor out the method from tests that checks size of structures,
14531 and add code to generate the header containing these sizes
14532 * tests/check/gst/gstabi.c: (GST_START_TEST):
14533 * tests/check/gst/struct_i386.h:
14534 * tests/check/libs/libsabi.c: (GST_START_TEST):
14535 * tests/check/libs/struct_i386.h:
14536 use it
14538 2006-06-06 Michael Smith <msmith@fluendo.com>
14540 * gst/gstsegment.h:
14541 Don't use c++-style comments, fixes #343929
14543 2006-06-05 Edward Hervey <edward@fluendo.com>
14545 * gst/gst.c:
14546 plugin_paths is not used if we build without registry support.
14548 * gst/gstsegment.c: (gst_segment_copy):
14549 _copy() was always returning NULL...
14551 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14553 * libs/gst/dataprotocol/dataprotocol.c:
14554 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14555 (gst_dp_packet_from_event):
14556 factor out CRC code
14558 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14560 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14561 make sure we unset caps
14563 2006-06-02 Michael Smith <msmith@fluendo.com>
14565 * libs/gst/check/gstcheck.c: (gst_check_init),
14566 (gst_check_chain_func):
14567 * libs/gst/check/gstcheck.h:
14568 Add a cond/mutex to the check support lib, signal this whenever we
14569 add to the buffers list. This will allow tests to not busy-wait on
14570 the buffer-list.
14572 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14574 * libs/gst/dataprotocol/dataprotocol.c:
14575 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14576 (gst_dp_packet_from_event):
14577 factor out some common header init code
14579 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14581 * docs/libs/gstreamer-libs-sections.txt:
14582 * docs/libs/tmpl/gstdataprotocol.sgml:
14583 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14584 * libs/gst/dataprotocol/dataprotocol.h:
14585 API: make gst_dp_crc() public
14587 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14589 * plugins/indexers/gstindexers.c: (plugin_init):
14590 conditionally register fileindexer (fixes #343598)
14592 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14594 * gst/gsttagsetter.h:
14595 Can't cast ifaces to a class
14597 * libs/gst/net/gstnetclientclock.h:
14598 * libs/gst/net/gstnettimeprovider.h:
14599 * plugins/elements/gstfakesink.h:
14600 * plugins/elements/gstfakesrc.h:
14601 * plugins/elements/gstfdsink.h:
14602 * plugins/elements/gstfdsrc.h:
14603 * plugins/elements/gstfilesink.h:
14604 * plugins/elements/gstfilesrc.h:
14605 * plugins/elements/gstidentity.h:
14606 * plugins/elements/gstqueue.h:
14607 * plugins/elements/gsttee.h:
14608 * plugins/indexers/gstfileindex.c:
14609 * plugins/indexers/gstmemindex.c:
14610 * tests/old/examples/plugins/example.h:
14611 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14613 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14615 * libs/gst/dataprotocol/dataprotocol.c:
14616 (gst_dp_header_from_buffer):
14617 make sure we zero the whole ABI-compatible area
14619 2006-06-01 Wim Taymans <wim@fluendo.com>
14621 Patch by: Alessandro Decina <alessandro at nnva dot org>
14623 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14624 Make sure the EOS flag is cleared from pads after a flush
14625 or stop. Fixes #343538.
14627 * tests/check/libs/collectpads.c: (GST_START_TEST),
14628 (gst_collect_pads_suite):
14629 Added test for collectpads reusage after EOS.
14631 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14633 * gst/gst.c:
14634 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14635 * win32/common/libgstbase.def:
14636 export gst_collect_pads_set_flushing
14637 * win32/common/libgstreamer.def:
14638 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14639 gst_value_fraction_multiply
14640 * win32/vs6/gst_inspect.dsp:
14641 add a link to intl.lib
14643 2006-05-30 Wim Taymans <wim@fluendo.com>
14645 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14646 (gst_collect_pads_chain):
14647 Handle the case where a pad is removed from the collection
14648 that could cause the other pads to become collectable.
14650 2006-05-30 Wim Taymans <wim@fluendo.com>
14652 * gst/gstelement.c:
14653 Clarify the use of _release_request_pad() and
14654 _get_request_pad() a bit better.
14656 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14657 (gst_adapter_take_buffer):
14658 Fix some doc and comment typos.
14660 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14662 * docs/gst/gstreamer-sections.txt:
14663 * docs/libs/gstreamer-libs-sections.txt:
14664 add declared symbols
14666 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14668 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14669 Add debug that can be enabled using a #define at the top of the file,
14670 for dumping stats about how late/early we were when waking up from
14671 waiting on the clock.
14673 2006-05-30 Wim Taymans <wim@fluendo.com>
14675 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14676 When rebuilding the pad list, don't leak the previous list.
14678 2006-05-30 Wim Taymans <wim@fluendo.com>
14680 Patch by: Lutz Mueller <lutz at topfrose dot de>
14682 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14683 (gst_base_src_get_query_types), (gst_base_src_update_length):
14684 Publish supported query types.
14685 Update last_stop field in get_range mode so the position
14686 query works. Fixes #342321.
14688 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14690 * docs/gst/gstreamer-sections.txt:
14691 * gst/gsttaglist.c: (_gst_tag_initialize):
14692 * gst/gsttaglist.h:
14693 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14695 2006-05-30 Wim Taymans <wim@fluendo.com>
14697 Patch by: Alessandro Decina <alessandro at nnva dot org>
14699 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14700 Unlock mutex when removing an unknown pad.
14701 Fixes #343334.
14703 * tests/check/Makefile.am:
14704 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14705 (push_event), (setup), (teardown), (GST_START_TEST),
14706 (gst_collect_pads_suite), (main):
14707 Added collecpads check, disabled for now as check crashes for
14708 some reason.
14710 2006-05-29 Wim Taymans <wim@fluendo.com>
14712 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14713 Don't leak pads lists.
14715 2006-05-29 Wim Taymans <wim@fluendo.com>
14717 * docs/libs/gstreamer-libs-sections.txt:
14718 * libs/gst/base/gstcollectpads.c:
14719 (gst_collect_pads_set_flushing_unlocked),
14720 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14721 (gst_collect_pads_stop):
14722 * libs/gst/base/gstcollectpads.h:
14723 API: gst_collect_pads_set_flushing()
14724 Added api to set the pads to flushing, useful for seeking
14725 code in elements using collectpads.
14726 Clear segment when receiving a flush.
14728 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14730 * gst/gst.c: (add_path_func), (init_post):
14731 Don't scan registry paths passed via --gst-plugin-path immediately
14732 (will crash, because absolutely nothing is set up and no types are
14733 registered etc.); do this later in init_post(). Fixes #343057.
14735 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14737 * gst/gst.c: (init_post):
14738 if we have fork, fork while reading/rebuilding the registry
14739 so the parent doesn't take the hit of having all plugins loaded
14740 in memory. Fixes #342777.
14741 * configure.ac:
14742 Check if we have fork()
14743 * win32/common/config.h.in:
14744 no fork() on win32
14746 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14748 * plugins/elements/gstelements.c:
14749 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14750 (gst_file_src_init), (gst_file_src_set_property),
14751 (gst_file_src_get_property), (gst_file_src_start):
14752 * plugins/elements/gstfilesrc.h:
14753 API: GstFileSrc::use-mmap
14755 Add a use-mmap property to enable easier testing of all code paths.
14756 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14757 in the absence of gnomevfssrc. (Closes #340501)
14759 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14761 * tools/gst-inspect.c:
14762 Add missing include, removes warning of ngettext not being defined on
14763 some arches.
14765 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14767 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14768 Handle NULL input and output pointers silently as a failed conversion,
14769 rather than g_warnings.
14771 2006-05-25 Wim Taymans <wim@fluendo.com>
14773 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14774 Initialize variable before using. Fixes #342820.
14776 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14778 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14779 Fix off-by-one bug that would only allow peeks of N-1 bytes
14780 from the start even if the buffer to typefind on contains
14781 in fact N bytes of data (makes vorbis typefinding from a
14782 vorbis identification header buffer work).
14784 * tests/check/Makefile.am:
14785 * tests/check/libs/.cvsignore:
14786 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14787 (gst_typefindhelper_suite), (main), (foobar_typefind),
14788 (plugin_init):
14789 Add very basic unit test for gst_type_find_helper_for_buffer()
14790 that checks for the problem fixed above.
14792 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14794 * tools/gst-inspect.c: (print_interfaces),
14795 (print_element_properties_info), (print_element_list), (main):
14796 add more translatable strings
14798 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14800 Patch by: Julien Moutte <julien at moutte net>
14802 * docs/gst/gstreamer-sections.txt:
14803 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14805 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14806 (gst_fake_sink_preroll):
14807 * plugins/elements/gstfakesink.h:
14808 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14810 2006-05-23 Wim Taymans <wim@fluendo.com>
14812 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14813 * gst/gstpad.h:
14814 Added _CUSTOM error and success GstFlowReturn that can be
14815 used be elements internally.
14816 Added macro to check for SUCCESS flowreturns.
14817 API: GST_FLOW_CUSTOM_SUCCESS
14818 API: GST_FLOW_CUSTOM_ERROR
14819 API: GST_FLOW_IS_SUCCESS
14821 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14822 Added check for GstFlowReturn sanity.
14824 2006-05-23 Wim Taymans <wim@fluendo.com>
14826 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14828 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14829 (gst_collect_pads_event):
14830 clear/reset segment info in FLUSH_STOP.
14831 Fixes #336929.
14833 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14835 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14836 (gst_collect_pads_check_collected):
14837 Flush queued buffer on _stop(), fixes playing again (#342454)
14839 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14841 * tests/check/gst/gststructure.c: (GST_START_TEST),
14842 (gst_structure_suite):
14843 add a test for a complete structure
14845 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14847 * docs/faq/developing.xml:
14848 * docs/faq/faq.xml:
14849 * docs/faq/troubleshooting.xml:
14850 * docs/faq/using.xml:
14851 Some minor FAQ updates that won't change the fact that
14852 our FAQ is badly structured, full of information hardly
14853 anyone new to GStreamer needs to know and lacking lots
14854 of information people constantly ask for.
14856 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14858 * gst/gstpad.c: (gst_pad_set_caps):
14859 Short-circuit gst_pad_set_caps if setting the existing
14860 caps pointer again, and avoid printing debug and
14861 reffing/unreffing the caps.
14863 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14864 There's actually no need to set the caps before pushing -
14865 the acceptcaps method will handle it anyway.
14867 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14869 * docs/gst/gstreamer-sections.txt:
14870 * win32/common/libgstreamer.def:
14871 * gst/gstutils.c: (gst_element_seek_simple):
14872 * gst/gstutils.h:
14873 API: add gst_element_seek_simple() (#342238).
14875 2006-05-18 Edward Hervey <edward@fluendo.com>
14877 * gst/gsttypefind.c: (gst_type_find_get_type):
14878 * gst/gsttypefind.h:
14879 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14880 registered for GstTypeFind pointers. This allows wrapping the structure
14881 in bindings (i.e. gst-python).
14883 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14885 * gst/gsttagsetter.c:
14886 Docs additions and fixes (see #339918).
14888 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14890 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14891 The caps intersection algorithm can produce multiple copies of the
14892 caps. Until that is fixed, we need to simplify the result to be
14893 sure whether the allowed caps are fixed or not.
14895 * plugins/elements/gstqueue.c: (gst_queue_init),
14896 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14897 (gst_queue_push_one):
14898 Proxied buffer alloc should not set the caps on the source pad.
14899 When pushing buffers, we always accept the caps change that triggers.
14900 This prevents negotiation errors caused by caps changing mid-stream
14901 and then being refused on our source pad (because upstream is now
14902 refusing those caps).
14904 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14906 * tests/examples/helloworld/helloworld.c: (main):
14907 Must plug audioconvert and audioresample between decoder
14908 and audio sink.
14910 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14912 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14913 (load_feature), (load_plugin):
14914 Allow empty strings for some of the plugin fields so we don't
14915 drop valid plugin entries that were written out correctly
14916 (Fixes #341479)
14918 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14920 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14921 Use g_remove and g_rename instead of remove and rename that don't
14922 handle utf8 characters. rename was failing for users who had specific
14923 characters in their name then the registry was built at each
14924 gstreamer init.
14925 * win32/vs6/gst_inspect.dsp:
14926 * win32/vs6/gst_launch.dsp:
14927 * win32/vs6/libgstbase.dsp:
14928 * win32/vs6/libgstcoreelements.dsp:
14929 * win32/vs6/libgstreamer.dsp:
14930 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14931 build of libgstreamer and clean unused libraries in projects link
14932 settings.
14934 2006-05-17 Edward Hervey <edward@fluendo.com>
14936 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14937 The queue is not responsible for pushing an EOS when receiving a fatal
14938 flow error. It's up to the real element driving the pipeline to do that.
14940 2006-05-16 Edward Hervey <edward@fluendo.com>
14942 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14943 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14944 buffer returned a fatal error. It should just send an EOS and stop
14945 its task.
14946 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14947 when pushing buffers on the queue and will be able to handle the event.
14949 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14951 * docs/manual/basics-bins.xml:
14952 * docs/manual/basics-init.xml:
14953 Fix typos and minor errors in sample code (#341856).
14955 2006-05-16 Wim Taymans <wim@fluendo.com>
14957 * docs/design/part-qos.txt:
14958 Fix indexes in formulas to make more sense.
14960 2006-05-15 Wim Taymans <wim@fluendo.com>
14962 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14963 Don't report POSITION based on clock time if sync is
14964 disabled in a sink.
14966 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14968 * gst/gstobject.h:
14969 Add cast to make compiler happy - refcount variable was a gint
14970 in GstObject but is a guint in GObject and g_atomic_int_get()
14971 wants a gint *.
14973 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14975 * gst/parse/Makefile.am:
14976 chain commands using &&, which also makes parallel make work
14978 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14980 * docs/gst/gstreamer-sections.txt:
14981 * gst/gstevent.c:
14982 * gst/gstevent.h:
14983 * gst/gstmessage.h:
14984 Minor docs fixes.
14986 === release 0.10.6 ===
14988 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14990 * configure.ac:
14991 releasing 0.10.6, "Take the cannoli"
14993 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14995 * tools/gst-launch.c: (print_tag):
14996 Fix use of uninitialized variable in the hypothetical
14997 case that some broken plugin creates a GST_TAG_IMAGE
14998 tag containing a NULL buffer (#341667).
15000 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
15002 * tools/gst-launch.c: (print_tag):
15003 Print something more intelligible for image tags when
15004 using the -t switch (#341556).
15006 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
15008 * Makefile.am:
15009 updates for win32
15010 * configure.ac:
15011 define GST_MAJORMINOR so we have it available in win32/common/config.h
15012 Possibly remove it from our Makefile.am files later
15013 * win32/common/config.h:
15014 * win32/common/config.h.in:
15015 added GST_MAJORMINOR
15016 * win32/common/gstenumtypes.c: (register_gst_resource_error):
15017 * win32/common/gstversion.h:
15018 updated
15020 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
15022 * win32/MANIFEST:
15023 Update win32 files listing.
15024 * win32/common/gstversion.h:
15025 Add GST_MAJORMINOR definition.
15026 * win32/common/libgstreamer.def:
15027 Add new exported functions.
15029 2006-05-12 Michael Smith <msmith@fluendo.com>
15031 * gst/gstplugin.c: (gst_plugin_load_file):
15032 If an so file has no plugin entry point, unload the module.
15034 2006-05-11 Wim Taymans <wim@fluendo.com>
15036 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
15037 (gst_queue_set_property):
15038 Don't forget to signal the _chain or _loop function
15039 when the queue size or thresholds change since that might
15040 cause them to make progres again.
15042 2006-05-11 Stefan Kost <ensonic@users.sf.net>
15044 * gst/gstclock.c: (gst_clock_class_init):
15045 * gst/gstindex.c: (gst_index_class_init):
15046 * gst/gstobject.c: (gst_object_class_init):
15047 * gst/gstpad.c: (gst_pad_class_init):
15048 * gst/gstpipeline.c: (gst_pipeline_class_init):
15049 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15050 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
15051 * libs/gst/base/gstbasetransform.c:
15052 (gst_base_transform_class_init):
15053 * libs/gst/net/gstnetclientclock.c:
15054 (gst_net_client_clock_class_init):
15055 * libs/gst/net/gstnettimeprovider.c:
15056 (gst_net_time_provider_class_init):
15057 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
15058 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
15059 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
15060 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15061 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15062 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15063 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15064 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15065 * plugins/elements/gsttee.c: (gst_tee_class_init):
15066 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15067 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15068 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15070 2006-05-11 Wim Taymans <wim@fluendo.com>
15072 * gst/gstbuffer.c: (_gst_buffer_initialize):
15073 Register subbufer along with the buffer type so that
15074 it does not accidentally gets registered from N
15075 different streaming threads in a non threadsafe way.
15077 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15079 * gst/gstbuffer.h:
15080 * gst/gstevent.h:
15081 * gst/gstmessage.h:
15082 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15083 gst_event_ref() and gst_message_ref() functions again
15084 (ugly hack, please do fix if there's a better way besides
15085 overrides.txt, which doesn't seem to work).
15087 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15089 * libs/gst/check/gstcheck.h:
15090 add an assert for setting state to avoid lots of repetitive code
15091 in the future
15093 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15095 * gst/gstvalue.c: (gst_value_serialize_flags):
15096 fix a leak if no flags are set
15097 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15098 fix leak in tests
15100 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15102 * docs/manual/basics-pads.xml:
15103 Expand a bit on caps and filtered links and update
15104 examples that were still using the no longer existing
15105 gst_pad_link_filtered() (#338206).
15107 2006-05-10 Wim Taymans <wim@fluendo.com>
15109 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15110 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15111 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15112 (gst_collect_pads_stop):
15113 * libs/gst/base/gstcollectpads.h:
15114 No need to call _stop in _finalize.
15115 Iterate the main pad list in _finalize.
15116 Added some more debug.
15117 Free lists and data in the right order.
15118 Also free data whem doing _remove_pad when stopped for
15119 backward compatibility protect ::started with PAD_LOCK as
15120 well.
15122 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15124 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15125 (gst_structure_parse_value):
15126 add some comments
15127 rename a method so that it actually says what it does better
15129 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15131 * gst/gstevent.c: (_gst_event_initialize):
15132 * gst/gstformat.c: (_gst_format_initialize):
15133 make sure some essential types used by events are registered
15134 as part of gst_init()
15135 * gst/gstvalue.c: (gst_value_serialize_flags):
15136 if no flags are set, serialize them to a value that represents NONE
15137 so that deserializing them works
15138 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15139 add tests for serialization and deserialization of flags
15141 2006-05-10 Wim Taymans <wim@fluendo.com>
15143 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15144 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15145 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15146 (gst_collect_pads_event), (gst_collect_pads_chain):
15147 Update docs.
15148 Better debug info.
15149 Catch and return errors from the collect function
15150 Refuse data on eos pads.
15152 2006-05-10 Edward Hervey <edward@fluendo.com>
15154 * gst/gstinterface.h:
15155 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15156 GInterface type checking.
15157 They were previously using non-defined macros.
15159 2006-05-09 Wim Taymans <wim@fluendo.com>
15161 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15162 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15163 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15164 (gst_collect_pads_start), (gst_collect_pads_stop),
15165 (gst_collect_pads_peek), (gst_collect_pads_pop),
15166 (gst_collect_pads_available), (gst_collect_pads_read),
15167 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15168 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15169 (gst_collect_pads_chain):
15170 * libs/gst/base/gstcollectpads.h:
15171 Clean up the mess that is collectpads, add comments and
15172 FIXMEs where needed.
15173 Maintain a separate pad list so we can add pads while
15174 collecting the other ones. For this we need a new separate
15175 lock (see comics).
15176 Fix memory leak in finalize.
15177 Refactor some weird code to set/unset pad flushing flags, mark
15178 with comments.
15179 Don't crash in _available, _read, _flush when we're EOS.
15181 * tests/check/libs/.cvsignore:
15182 Ignore adapter check binary.
15184 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15186 * gst/gstindex.c: (gst_index_resolver_get_type):
15187 * plugins/elements/gstfakesink.c:
15188 (gst_fake_sink_state_error_get_type):
15189 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15190 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15191 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15192 Const-ify GEnumValue arrays.
15194 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15196 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15197 Add test case for flags + gst_buffer_make_metadata_writable().
15199 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15201 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15202 gst_buffer_make_metadata_writable() should maintain the
15203 buffer flags (those that make sense at least) (see #340859).
15205 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15207 * tools/gst-inspect.c:
15208 * tools/gst-launch.c:
15209 * tools/gst-typefind.c:
15210 * tools/gst-xmlinspect.c:
15211 * tools/tools.h:
15212 Fix up includes: need to include stdlib.h in tools.h for exit().
15214 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15216 * gst/gsttaglist.c: (_gst_tag_initialize):
15217 * gst/gsttaglist.h:
15218 API: add GST_TAG_IMAGE tag (#340721).
15220 2006-05-08 Wim Taymans <wim@fluendo.com>
15222 * gst/gstquery.c:
15223 Added some docs for the segment query.
15225 2006-05-08 Wim Taymans <wim@fluendo.com>
15227 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15228 (gst_base_src_loop), (gst_base_src_change_state):
15229 Always push non-flushing serialized events in the streaming
15230 thread.
15232 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15234 * gst/gsterror.c: (_gst_stream_errors_init):
15235 Add a missing error string.
15237 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15239 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15240 Add applied_rate to the debug
15242 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15243 Copy applied_rate into the outgoing NEWSEGMENT event
15245 2006-05-08 Wim Taymans <wim@fluendo.com>
15247 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15249 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15250 (gst_base_sink_change_state):
15251 call ::unlock before taking the PREROLL_LOCK so we can safely
15252 handle elements that lock in ::render.
15253 Fixes #340174.
15255 2006-05-08 Edward Hervey <edward@fluendo.com>
15257 * autogen.sh: (CONFIGURE_DEF_OPT):
15258 Darwin's libtoolize is in fact called glibtoolize.
15259 Adding glibtoolize to the list of accepted names for libtoolize.
15261 2006-05-08 Wim Taymans <wim@fluendo.com>
15263 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15264 Unify error handling, don't post an error message
15265 when a push() returns EOS but perform our normal EOS
15266 handling code. Fixes #340772.
15268 2006-05-08 Wim Taymans <wim@fluendo.com>
15270 * docs/design/part-overview.txt:
15271 Make upsteam/downstream concepts more clear.
15272 Give an example of serialized/non-serialized events.
15274 * docs/design/part-events.txt:
15275 * docs/design/part-streams.txt:
15276 Mention applied_rate.
15278 * docs/design/part-trickmodes.txt:
15279 Mention applied rate, flesh out some more use cases.
15281 * gst/gstevent.c: (gst_event_new_new_segment),
15282 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15283 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15284 (gst_event_parse_tag), (gst_event_new_buffer_size),
15285 (gst_event_parse_buffer_size), (gst_event_new_qos),
15286 (gst_event_parse_qos), (gst_event_parse_seek),
15287 (gst_event_new_navigation):
15288 * gst/gstevent.h:
15289 Add applied_rate field to NEWSEGMENT event.
15290 API: gst_event_new_new_segment_full()
15291 API: gst_event_parse_new_segment_full()
15293 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15294 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15295 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15296 * gst/gstsegment.h:
15297 Add applied_rate to GstSegment structure.
15298 Make calculation of stream_time and running_time more correct
15299 wrt rate/applied_rate.
15300 Add some more docs.
15301 API: GstSegment::applied_rate field
15302 API: gst_segment_set_newsegment_full();
15304 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15305 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15306 * libs/gst/base/gstbasetransform.c:
15307 (gst_base_transform_sink_eventfunc),
15308 (gst_base_transform_handle_buffer):
15309 Parse and use applied_rate in the GstSegment field.
15311 * tests/check/gst/gstevent.c: (GST_START_TEST):
15312 Add check for applied_rate field.
15314 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15315 (gstsegments_suite):
15316 Add more checks for various GstSegment operations.
15318 2006-05-08 Wim Taymans <wim@fluendo.com>
15320 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15321 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15322 (gst_base_sink_get_position), (gst_base_sink_change_state):
15323 Store the sync time of the buffer end position separatly in a
15324 new variable eos_rtime so we can properly sync the EOS event.
15325 Fixes #340697.
15326 Fix the docs for gst_base_sink_set_qos_enabled().
15327 Don't set segment start to invalid value when we receive a
15328 non TIME newsegment.
15329 get closer to handling position reporting for negative rates
15330 correctly.
15332 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15334 * gst/gstcaps.c:
15335 Docs about how to print caps for debug purposes.
15337 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15338 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15340 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15342 * gst/gstelement.c:
15343 use full enum names and preprend a '%' in docs strings to make recent
15344 gtk-doc turn that into a link
15346 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15348 * docs/manual/basics-bins.xml:
15349 * docs/manual/basics-bus.xml:
15350 * docs/manual/basics-pads.xml:
15351 Some typo fixes, some additions, some clarifications.
15353 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15355 * tools/gst-inspect.c: (main):
15356 * tools/gst-launch.c: (main):
15357 * tools/gst-run.c: (main):
15358 * tools/gst-typefind.c: (main):
15359 * tools/gst-xmlinspect.c: (main):
15360 Use the string passed to g_option_context_new() for
15361 what it's intended for - the program name is already
15362 printed elsewhere.
15364 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15366 * tools/Makefile.am:
15367 * tools/gst-inspect.c: (main):
15368 * tools/gst-launch.c: (main):
15369 * tools/gst-xmlinspect.c: (main):
15370 * tools/tools.h:
15371 Add back --version command line option (#340460).
15373 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15374 Add --version option and use GOption for argument parsing; refactor a
15375 bit; accept directories as arguments and recurse into them; lastly,
15376 print a decent error message when things go wrong.
15378 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15380 * docs/manual/basics-bins.xml:
15381 Don't mention GstThread (#340611)
15382 * docs/manual/basics-elements.xml:
15383 Update link to GObject tutorial (#340607)
15385 2006-05-05 Wim Taymans <wim@fluendo.com>
15387 * gst/gstbuffer.h:
15388 * gst/gstminiobject.c:
15389 Add note about refcounting and miniobject/buffer writeability
15390 to docs. Fixes #340604
15392 * gst/gstelementfactory.h:
15393 Added some explanation about @klass.
15395 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15397 * docs/manual/intro-motivation.xml:
15398 * docs/manual/manual.xml:
15399 Avoid CORBA & Bonobo references (#340598)
15401 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15403 * docs/manual/basics-bus.xml:
15404 * docs/manual/basics-pads.xml:
15405 Fix up some inaccuracies and omissions (#340609)
15407 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15409 * gst/gstghostpad.c:
15410 Small typo in docs (#340625)
15412 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15414 * gst/parse/Makefile.am:
15415 Make 'make -j' proof (see #340698).
15417 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15419 * configure.ac:
15420 Require GLib-2.8 here as well.
15422 2006-05-05 Wim Taymans <wim@fluendo.com>
15424 * gst/glib-compat.c:
15425 * gst/gst.c: (init_pre):
15426 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15427 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15428 (gst_object_dispatch_properties_changed):
15429 * gst/gstobject.h:
15430 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15431 * gst/gststructure.c: (gst_structure_set_valist):
15432 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15433 Remove pre glib2.8 compatibility, fixes #340508
15435 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15437 * gst/gsttaglist.h:
15438 Mention type of tags in doc blurbs.
15440 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15442 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15443 (gst_pad_configure_src), (gst_pad_push):
15444 Restore acceptcaps checking behaviour now that good plugins have
15445 been released.
15447 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15449 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15451 * gst/gst.c:
15452 * gst/gstbus.c:
15453 * gst/gstclock.c:
15454 * gst/gstevent.c:
15455 * gst/gstformat.c:
15456 * gst/gstmessage.c:
15457 * gst/gstparse.c:
15458 * gst/gstquery.c:
15459 * gst/gstutils.c:
15460 * gst/parse/Makefile.am:
15461 * libs/gst/base/gstadapter.c:
15462 * libs/gst/base/gstbasesrc.c:
15463 * libs/gst/base/gstpushsrc.c:
15464 * libs/gst/base/gsttypefindhelper.c:
15465 * plugins/elements/gstfakesrc.c:
15466 * plugins/elements/gstidentity.c:
15467 Make sure gstprivate.h and/or config.h are
15468 always included first, otherwise some of our
15469 defines (like _FILE_OFFSET_BITS) might be
15470 redefined in the system headers. Fixes build
15471 on opensolaris (#340016).
15473 2006-05-04 Wim Taymans <wim@fluendo.com>
15475 * docs/libs/gstreamer-libs-sections.txt:
15476 API: addition: gst_adapter_take_buffer()
15478 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15479 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15480 (gst_adapter_available_fast):
15481 * libs/gst/base/gstadapter.h:
15482 Prepare for optimizing the hell out of this hugely inefficient
15483 piece of code.
15484 Added gst_adapter_take_buffer() so we can at least start thinking
15485 about subbuffering and merging.
15486 Added some comments.
15488 * tests/check/Makefile.am:
15489 * tests/check/libs/adapter.c: (GST_START_TEST),
15490 (gst_adapter_suite), (main):
15491 Added GstAdapter check.
15493 2006-05-04 Wim Taymans <wim@fluendo.com>
15495 * docs/design/part-overview.txt:
15496 Fix some typos, add blurb about buffer flags.
15498 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15500 * docs/libs/gstreamer-libs-sections.txt:
15501 make sure GstBaseTransformClass shows up in the docs
15502 * libs/gst/base/gstbasetransform.c:
15503 * libs/gst/base/gstbasetransform.h:
15504 move docs so gtk-doc picks it up now
15506 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15508 * docs/libs/gstreamer-libs-sections.txt:
15509 add missing symbols to docs
15511 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15513 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15514 back out the newsegment handling change, see #340060 for ongoing
15515 discussion
15517 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15519 * tools/gst-run.c: (get_candidates), (main):
15520 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15521 work); fix typo in error message. Fixes #340079.
15523 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15525 * common/Makefile.am:
15526 * docs/Makefile.am:
15527 * docs/faq/Makefile.am:
15528 * docs/gst/Makefile.am:
15529 * docs/libs/Makefile.am:
15530 * docs/manual/Makefile.am:
15531 * docs/plugins/Makefile.am:
15532 * docs/pwg/Makefile.am:
15533 * docs/slides/Makefile.am:
15534 * docs/upload.mak:
15535 * common/upload.mak:
15536 move upload.mak to common
15538 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15540 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15541 add more asserts on refcounts
15542 do more cleanup at end of tests
15543 fix test leaks showing in FC5
15545 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15547 * plugins/elements/gsttypefindelement.c:
15548 (gst_type_find_element_handle_event):
15549 reverted wrong change and reflowed code to avoid others falling into
15550 this trap
15552 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15554 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15555 fix changelog entry about last collectpads change,
15556 add notes about proper fix
15558 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15560 * gst/gst.c:
15561 * gst/gstregistry.c: (gst_registry_scan_path_level),
15562 (gst_registry_scan_path):
15563 * gst/gstregistry.h:
15564 only write out registry if it has changed, fixes #338339
15566 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15568 * gst/gstbin.c:
15569 * gst/gstpipeline.c:
15570 * plugins/elements/gstcapsfilter.c:
15571 * plugins/elements/gstfakesink.c:
15572 * plugins/elements/gstfakesrc.c:
15573 * plugins/elements/gstfdsink.c:
15574 * plugins/elements/gstfdsrc.c:
15575 * plugins/elements/gstfilesink.c:
15576 * plugins/elements/gstfilesrc.c:
15577 * plugins/elements/gstidentity.c:
15578 * plugins/elements/gstqueue.c:
15579 * plugins/elements/gsttee.c:
15580 * plugins/elements/gsttypefindelement.c:
15581 (gst_type_find_element_handle_event):
15582 make GstElementDetails const
15584 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15586 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15587 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15588 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15589 more detailed debug and formatting cleanup,
15590 forward newsegments to src-pad (so that e.g. adder not eats them)
15592 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15594 * gst/gstutils.c: (gst_element_link_pads):
15595 cleanup double code
15597 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15599 * libs/gst/controller/gstcontroller.c:
15600 (gst_controller_sync_values):
15601 some little tuning
15602 * tests/check/libs/controller.c: (GST_START_TEST),
15603 (gst_controller_suite):
15604 a new test for live value handling
15606 2006-04-28 Wim Taymans <wim@fluendo.com>
15608 * gst/gstutils.c: (push_and_ref):
15609 Added some more docs.
15610 Fix refcount issue whith gst_element_found_tags() helper
15611 function. Fixes #338335
15613 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15614 Added testsuite for gst_element_found_tags().
15616 2006-04-28 Michael Smith <msmith@fluendo.com>
15618 * gst/gstvalue.c: (gst_value_serialize_flags):
15619 Avoid NULL dereference when trying to serialize flags containing
15620 invalid values.
15622 2006-04-28 Michael Smith <msmith@fluendo.com>
15624 * plugins/elements/gsttypefindelement.c:
15625 (gst_type_find_element_handle_event):
15626 If we get EOS before any data is accumulated, don't use
15627 uninitialised local variables.
15629 2006-04-28 Michael Smith <msmith@fluendo.com>
15631 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15632 (gst_dp_event_from_packet):
15633 Fixes in reading/writing events over GDP (not currently used?) -
15634 dereferencing NULL events for unknown/invalid event types, memory
15635 leak, and change g_warning to GST_WARNING.
15637 2006-04-28 Wim Taymans <wim@fluendo.com>
15639 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15640 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15641 (gst_base_sink_get_position), (gst_base_sink_change_state):
15642 When frame dropping is enabled, we should not ignore frames
15643 without a duration.
15644 Update some documentation.
15646 2006-04-28 Wim Taymans <wim@fluendo.com>
15648 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15649 (gst_base_src_send_event), (gst_base_src_change_state):
15650 Documentation updates.
15652 2006-04-28 Wim Taymans <wim@fluendo.com>
15654 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15655 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15656 handle EAGAIN, EINTR and short writes correctly. Also clean
15657 up some error cases, avoid a deadlock on bad file descriptors and
15658 use GST_DEBUG_OBJECT.
15659 Fixes #339843
15661 2006-04-28 Wim Taymans <wim@fluendo.com>
15663 * gst/gstvalue.c: (gst_value_serialize_buffer),
15664 (gst_value_deserialize_buffer):
15665 Don't try to serialize a GValue with a NULL buffer.
15666 Fixes #339821.
15668 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15669 Added check for serialisation of NULL buffers.
15671 2006-04-28 Wim Taymans <wim@fluendo.com>
15673 * gst/gstminiobject.c: (gst_value_take_mini_object):
15674 Taking a NULL miniobject is valid, fix the case where
15675 we try to unref the NULL miniobject.
15677 2006-04-28 Wim Taymans <wim@fluendo.com>
15679 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15681 * gst/gstbin.c: (gst_bin_handle_message_func):
15682 Update docs.
15683 Don't leak bin refcount when a state recalc is
15684 in progress and we delay another one #339808.
15686 2006-04-28 Wim Taymans <wim@fluendo.com>
15688 * docs/design/part-TODO.txt:
15689 Mention QoS as an ongoing work item.
15691 * docs/design/part-buffering.txt:
15692 New doc about buffering that needs to be fleshed out
15693 at some point.
15695 * docs/design/part-qos.txt:
15696 More QoS policy for decoders/demuxers/transforms
15698 * docs/design/part-trickmodes.txt:
15699 Small update.
15701 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15703 * configure.ac:
15704 back to HEAD
15706 === release 0.10.5 ===
15708 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15710 * configure.ac:
15711 releasing 0.10.5, "Fogo"
15713 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15715 patch by: Wim Taymans
15717 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15718 (gst_pad_configure_src), (gst_pad_push):
15719 * gst/gstpipeline.c: (gst_pipeline_init):
15720 Fix internal data flow errors. Fixes #338711.
15722 2006-04-12 Wim Taymans <wim@fluendo.com>
15724 * tests/check/gst/gstelement.c: (GST_START_TEST):
15725 Don't leak the factory.
15727 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15729 * configure.ac:
15730 * win32/common/config.h:
15731 prerelease
15733 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15735 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15736 (gst_controller_unset_all):
15737 Free allocated GstTimedValues when freeing list nodes.
15738 Should fix leaks 'make check-valgrind' complains about.
15740 * win32/common/libgstcontroller.def:
15741 Add gst_controller_unset_all.
15743 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15745 * docs/libs/gstreamer-libs-sections.txt:
15746 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15747 (gst_controller_unset_all):
15748 * libs/gst/controller/gstcontroller.h:
15749 API: Added new method gst_controller_unset_all()
15750 fixed gst_controller_unset()
15751 * tests/check/libs/controller.c: (GST_START_TEST),
15752 (gst_controller_suite):
15753 Added two testcases for new and fixed method
15755 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15757 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15758 MSG_DONTWAIT is not defined on Cygwin, so work
15759 around that (fixes #317048).
15761 2006-04-11 Wim Taymans <wim@fluendo.com>
15763 * gst/gstelementfactory.c: (gst_element_register),
15764 (gst_element_factory_create), (gst_element_factory_make):
15765 Some cleanups.
15766 Fixed a FIXME.
15767 Updated docs (Fixes #131079)
15769 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15770 Small cleanups.
15772 * tests/check/gst/gstelement.c: (GST_START_TEST),
15773 (gst_element_suite):
15774 Added testcase for elementfactory class field.
15776 2006-04-10 Wim Taymans <wim@fluendo.com>
15778 * gst/gstsegment.c:
15779 Added some more docs.
15781 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15782 (gst_base_sink_reset_qos):
15783 Calculate more accurate rate values.
15785 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15787 * gst/gst_private.h:
15788 add a new #ifdef to use __declspec(dllimport) only for
15789 other modules and not for gstreamer core
15790 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15791 use gst_guint64_to_gdouble for conversion
15792 * win32/common/libgstreamer.def:
15793 add new exported functions
15794 * win32/vs6/gst_inspect.dsp:
15795 * win32/vs6/gst_launch.dsp:
15796 * win32/vs6/libgstbase.dsp:
15797 * win32/vs6/libgstcontroller.dsp:
15798 * win32/vs6/libgstcoreelements.dsp:
15799 * win32/vs6/libgstdataprotocol.dsp:
15800 * win32/vs6/libgstnet.dsp:
15801 update project files
15803 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15805 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15806 * gst/gstclock.c: (gst_clock_class_init):
15807 * gst/gstelement.c: (gst_element_class_init):
15808 * gst/gstindex.c: (gst_index_class_init):
15809 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15810 * gst/gstobject.c: (gst_object_class_init),
15811 (gst_signal_object_class_init):
15812 * gst/gstpad.c: (gst_pad_class_init):
15813 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15814 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15815 * gst/gstregistry.c: (gst_registry_class_init):
15816 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15817 * gst/gsttask.c: (gst_task_class_init):
15818 * gst/gstxml.c: (gst_xml_class_init):
15819 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15820 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15821 (gst_base_src_loop):
15822 * libs/gst/controller/gstcontroller.c:/
15823 (_gst_controller_class_init):
15824 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15825 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15826 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15827 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15828 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15829 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15831 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15833 * gst/gstpad.c: (gst_pad_link):
15834 Must set peer pads before calling the link function, otherwise
15835 a task started from a link function might get a flow-not-linked
15836 result when trying to push because the other thread where the
15837 linking happens hasn't had a chance to set the peers yet. This
15838 might happen for example when a queue gets linked to a downstream
15839 element, as queue starts a streaming task when its source pad
15840 gets linked. Happens in real life when playing back flac/musepack
15841 files in playbin (#332390).
15843 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15845 * gst/gstindex.h:
15846 * gst/gstxml.h:
15847 * libs/gst/base/gstadapter.h:
15848 * libs/gst/base/gstbasesink.h:
15849 * libs/gst/base/gstbasesrc.h:
15850 * libs/gst/base/gstbasetransform.h:
15851 * libs/gst/base/gstcollectpads.h:
15852 * libs/gst/base/gstpushsrc.h:
15853 Fix broken GObject macros
15855 2006-04-07 Wim Taymans <wim@fluendo.com>
15857 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15858 Initialize start and stop times, thanks valgrind.
15860 2006-04-07 Wim Taymans <wim@fluendo.com>
15862 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15863 Be a bit nicer to badly behaving upstream elements that expect
15864 us to deal with non TIME segments and timestamps (such as fakesrc
15865 in the testsuite).
15867 2006-04-07 Wim Taymans <wim@fluendo.com>
15869 * gst/gstbus.c:
15870 Small documentation clarification about the signal watch.
15872 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15873 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15874 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15875 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15876 (gst_base_sink_get_position_last),
15877 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15878 Convert and store timestamps in stream time and running time, the
15879 raw timestamps are not useful, also document this better.
15880 Use different window sizes for good and bad QoS observations so
15881 we react to badness a little quicker.
15882 Keep track of the amount of rendered and dropped buffers.
15883 Send QoS timestamps in running time.
15885 * libs/gst/base/gstbasetransform.c:
15886 (gst_base_transform_sink_eventfunc),
15887 (gst_base_transform_handle_buffer):
15888 Compare QoS timestamps against running time.
15890 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15892 * gst/gstpad.c:
15893 Typo fixes in docs.
15895 2006-04-06 Michael Smith <msmith@fluendo.com>
15897 * gst/gstpad.c: (gst_pad_set_property):
15898 Use g_value_get_object() instead of g_value_dup_gst_object(),
15899 to avoid double-reffing the pad template (which we then sink,
15900 so this worked previously if (and only if) the pad template
15901 was floating.
15903 * gst/gstpadtemplate.c: (gst_pad_template_init),
15904 (gst_pad_template_pad_created):
15905 Never return floating references to pad templates, create
15906 them as initially-sunken.
15908 Document an extra function (and make this stop sinking our
15909 pad template, since that is now guaranteed to do nothing,
15910 since we created it sunken).
15912 * gst/gstghostpad.c:
15913 Fix docs typo.
15915 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15917 * gst/gstinfo.c: (__gst_in_valgrind):
15918 Add some newlines.
15920 * plugins/elements/gsttypefindelement.c:
15921 (gst_type_find_element_chain):
15922 Don't leak buffer caps.
15924 2006-04-06 Michael Smith <msmith@fluendo.com>
15926 * gst/parse/grammar.y:
15927 Fix a leak in parse-launch for any source-or-sink named element
15928 references used.
15930 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15931 Unref the pipeline if it exists after we've failed parsing.
15933 2006-04-05 Michael Smith <msmith@fluendo.com>
15935 * gst/gstpipeline.c: (gst_pipeline_init):
15936 When we create a pipeline bus, initially create it in flushing mode.
15937 Fixes leaks in at least one test, and makes a new pipeline work the
15938 same as one that has gone to READY and then back to NULL.
15940 * gst/gstelement.c:
15941 Typo fix in docs.
15943 2006-04-05 Michael Smith <msmith@fluendo.com>
15945 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15946 Unref a pad we reffed.
15947 * tests/check/gst/gstutils.c: (GST_START_TEST):
15948 Unref bins
15950 2006-04-05 Michael Smith <msmith@fluendo.com>
15952 * gst/gstquery.c: (gst_query_set_formats),
15953 (gst_query_set_formatsv):
15954 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15956 2006-04-05 Michael Smith <msmith@fluendo.com>
15958 * tests/check/generic/sinks.c: (GST_START_TEST):
15959 Fix a variety of memleaks in sinks check, which are only sometimes
15960 shown by running the tests under valgrind (weird?).
15962 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15964 * docs/version.entities.in:
15965 Fix the substituted entity name after thomas' changes on the
15966 weekend.
15968 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15970 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15971 VALGRIND_PRINTF
15973 2006-04-05 Andy Wingo <wingo@pobox.com>
15975 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15977 * libs/gst/base/gstbasetransform.c
15978 (gst_base_transform_sink_eventfunc): When resetting our segment on
15979 FLUSH_STOP, also update the flag saying we haven't seen a
15980 newsegment.
15982 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15984 Patch by: Paolo Borelli <pborelli at katamail dot com>
15986 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15987 (gst_plugin_check_license):
15988 minor clean-ups: G_DEFINE_TYPE already takes care of the
15989 parent_class stuff, no need to do it twice. Mark array of
15990 license strings as constant. (#337103)
15992 2006-04-04 Michael Smith <msmith@fluendo.com>
15994 * tools/gst-inspect.c: (print_element_list):
15995 Free the right plugin list; fixes a memory leak.
15997 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15999 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
16001 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16002 Don't error out on empty buffers (#336945).
16004 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
16006 * docs/libs/gstreamer-libs-sections.txt:
16007 * gst/gsttaglist.c:
16008 * libs/gst/base/gstbasesink.c:
16009 * libs/gst/base/gstbasesink.h:
16010 * libs/gst/base/gstbasesrc.c:
16011 * libs/gst/base/gstbasesrc.h:
16012 Documentation updates. Make BaseSink and BaseSrc docs contain the
16013 class structure so that people can actually see the prototypes for
16014 virtual functions they're supposed to be overriding.
16016 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
16018 * plugins/elements/gsttypefindelement.c:
16019 (gst_type_find_element_chain):
16020 More debug info; when skipping typefinding, send cached
16021 events in all cases.
16023 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
16025 * configure.ac:
16026 use new AS_VERSION and AS_NANO macros
16027 * gst/gst-i18n-lib.h:
16028 * gst/gst.c:
16029 * gst/gsterror.c:
16030 * gst/gstversion.h.in:
16031 * win32/common/config.h:
16032 * win32/common/config.h.in:
16033 update accordingly
16035 2006-03-31 Michael Smith <msmith@fluendo.com>
16037 * plugins/elements/gsttypefindelement.c:
16038 (gst_type_find_element_chain):
16039 Do not typefind content if the buffers already have caps.
16040 Neccesary for icydemux (#333657), and the right thing to do anyway.
16042 2006-03-30 Wim Taymans <wim@fluendo.com>
16044 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16045 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
16046 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
16047 (gst_base_sink_record_qos_observation),
16048 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16049 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16050 (gst_base_sink_change_state):
16051 More QoS measurements as described in the design doc.
16052 Get rid of ringbuffer with observations, running average is
16053 more simple and equally good.
16054 Calculates valid proportion now.
16055 Added beginning of flood measurement.
16057 2006-03-29 Wim Taymans <wim@fluendo.com>
16059 * docs/design/part-qos.txt:
16060 * gst/gstclock.c:
16061 Small documentation updates and additions.
16063 2006-03-29 Wim Taymans <wim@fluendo.com>
16065 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16066 (gst_base_src_send_event), (gst_base_src_loop),
16067 (gst_base_src_change_state):
16068 Perform the EOS logic when we reach the segment stop position.
16069 Fix compilation on gcc4.1
16071 2006-03-29 Wim Taymans <wim@fluendo.com>
16073 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16075 * plugins/elements/gstqueue.c: (gst_queue_init),
16076 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16077 (gst_queue_set_property):
16078 * plugins/elements/gstqueue.h:
16079 In queue, when EOS is received, if minimum threshold > max_size -
16080 current_level, there is chance that queue blocks forever in conditional
16081 item del wait. This is because the queue is not emptied completely due
16082 to minimum threshold. Here is another approach. Instead of setting
16083 cur_levels to max in EOS, just zero all minimum threshold levels. This
16084 should make sure that queue gives out all data. When going to READY
16085 (stop) state, just reset the original minimum threshold levels.
16086 Fixes #336336.
16088 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16090 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16091 (gst_type_find_element_handle_event),
16092 (gst_type_find_element_send_cached_events),
16093 (gst_type_find_element_change_state):
16094 * plugins/elements/gsttypefindelement.h:
16095 When typefinding is done in push mode, we should cache
16096 events we receive during typefinding instead of just
16097 dropping them (e.g. newsegment, custom events from
16098 dvdreadsrc etc.) and then send them out once we've
16099 determined the type of the stream (and decodebin
16100 has had a chance to plug in a decoder/demuxer).
16102 2006-03-27 Wim Taymans <wim@fluendo.com>
16104 * docs/design/part-qos.txt:
16105 First QoS ideas.
16107 2006-03-27 Wim Taymans <wim@fluendo.com>
16109 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16111 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16112 (gst_base_src_send_event), (gst_base_src_change_state):
16113 Handle element seek correctly when we are streaming.
16114 Fixes #326998.
16116 2006-03-24 Michael Smith <msmith@fluendo.com>
16118 * docs/faq/gst-uninstalled:
16119 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16120 allow you to correctly run intalled applications built against old
16121 core, using plugins that require updated core (e.g. running
16122 installed totem against a full uninstalled gstreamer stack)
16124 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16126 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16127 more debug details
16129 2006-03-24 Wim Taymans <wim@fluendo.com>
16131 * docs/gst/gstreamer-sections.txt:
16132 Rearrange the order of the methods so that related methods
16133 are grouped together in sections.
16135 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16137 * gst/gstelement.c:
16138 Little clarification in the docs
16140 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16142 * docs/README:
16143 formatting fix
16144 * plugins/elements/gstidentity.c:
16145 * plugins/elements/gstqueue.c:
16146 * plugins/elements/gsttee.c:
16147 * plugins/elements/gsttypefindelement.c:
16148 GST_ELEMENT_DETAILS formatting
16150 2006-03-24 Wim Taymans <wim@fluendo.com>
16152 * libs/gst/base/gstbasesink.h:
16153 Only add fields, not insert or we break ABI.
16155 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16157 * win32/common/libgstbase.def:
16158 * win32/common/libgstreamer.def:
16159 Update, add recently added functions.
16161 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16163 * docs/gst/gstreamer-sections.txt:
16164 * gst/gstutils.c: (gst_pad_query_peer_position),
16165 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16166 * gst/gstutils.h:
16167 API: add some new utility functions:
16168 - gst_pad_query_peer_position()
16169 - gst_pad_query_peer_duration()
16170 - gst_pad_query_peer_convert()
16172 2006-03-23 Wim Taymans <wim@fluendo.com>
16174 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16175 (gst_base_sink_init), (gst_base_sink_finalize),
16176 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16177 (gst_base_sink_set_property), (gst_base_sink_get_property),
16178 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16179 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16180 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16181 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16182 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16183 (gst_base_sink_preroll_object), (gst_base_sink_event),
16184 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16185 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16186 (gst_base_sink_query), (gst_base_sink_change_state):
16187 Decouple max-lateness and the fact that QoS messages are generated
16188 with a new property (qos).
16189 added API: GstBaseSink::async_play()
16190 Add vmethod so subclasses can be notified of ASYNC playing
16191 state changes.
16192 Collect timestamp start and stop to report better current
16193 position in EOS/PLAYING/PAUSED/READY/NULL.
16194 Refactor QoS/frame dropping and other measurements.
16195 API: GstBaseSrc::qos
16196 Fixes #326311
16198 * libs/gst/base/gstbasesink.h:
16199 Added Private struct.
16200 API: gst_base_sink_set_qos_enabled()
16201 API: gst_base_sink_is_qos_enabled()
16203 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16205 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16206 If compiling against GLib-2.8 or newer, try to read the
16207 registry file using GMappedFile first before falling back
16208 to fopen() + fread() (#332151).
16210 2006-03-22 Wim Taymans <wim@fluendo.com>
16212 * gst/gstinfo.c: (gst_debug_set_active),
16213 (gst_debug_category_set_threshold):
16214 Disable debugging unless explicitly activated.
16215 Fixes #335480.
16217 2006-03-22 Wim Taymans <wim@fluendo.com>
16219 * gst/gstelement.c: (gst_element_set_locked_state),
16220 (gst_element_dispose):
16221 Cleanup the error case.
16223 * gst/gstobject.c: (gst_object_dispose):
16224 print a critical when some object was disposed with
16225 a parent, also revive the object since it might
16226 crash the parent.
16228 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16230 * tools/gst-launch.1.in:
16231 Fix another typo.
16233 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16235 * configure.ac:
16236 * tests/check/Makefile.am:
16237 disable some tests when we don't have a registry
16238 * tests/check/gst/gstutils.c: (gst_utils_suite):
16239 don't build the part that needs parsing
16241 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16243 * gst/Makefile.am
16244 * tests/examples/Makefile.am:
16245 fix --disable-parse build
16247 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16249 * tools/gst-feedback.1.in:
16250 Fix typo: s/feeback/feedback/ (#133494).
16252 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16254 * tools/Makefile.am:
16255 * tools/gst-launch.1.in:
16256 Add FILES section and correct entry about GST_REGISTRY_PATH
16257 environment variable (#133495; #133494).
16259 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16261 * tools/Makefile.am:
16262 * tools/gst-md5sum.1.in:
16263 * tools/gst-md5sum.c:
16264 Remove gst-md5sum and man page (the md5sink element
16265 required was removed ages ago)
16267 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16269 * gst/gststructure.c: (gst_structure_id_set_value):
16270 Make sure that string fields in structures/taglists
16271 contain valid UTF-8 - we don't want to pass rubbish to
16272 applications because of a buggy plugin (cp. #334167).
16274 2006-03-21 Edward Hervey <edward@fluendo.com>
16276 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16277 (gst_bin_handle_message_func):
16278 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16279 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16280 (gst_element_set_bus_func):
16281 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16282 * gst/gstminiobject.c: (gst_value_set_mini_object),
16283 (gst_value_take_mini_object):
16284 * gst/gstpad.c: (gst_pad_set_pad_template):
16285 * gst/gstpipeline.c: (gst_pipeline_dispose),
16286 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16287 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16288 (gst_collect_pads_chain):
16289 * libs/gst/net/gstnettimeprovider.c:
16290 (gst_net_time_provider_set_property):
16291 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16292 It's in fact all issues with gst_*object_replace().
16294 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16296 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16298 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16299 * pkgconfig/gstreamer-check.pc.in:
16300 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16302 2006-03-21 Edward Hervey <edward@fluendo.com>
16304 * gst/gstbuffer.h:
16305 * gst/gstevent.h:
16306 * gst/gstmessage.h:
16307 gst_[buffer|event|message]_ref() macros are replaced by a static
16308 inline functions because gcc-4.1 will about if the return value
16309 isn't used.
16310 * tests/check/gst/gstevent.c: (event_probe):
16311 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16313 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16315 * gst/gstutils.h:
16316 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16317 the type' case. (Closes: #335195 for now). In the future, when we
16318 depend on GLib 2.10, we could also intern the type name using
16319 g_intern_static_string()
16321 2006-03-20 Wim Taymans <wim@fluendo.com>
16323 * gst/gstbin.c: (gst_bin_handle_message_func),
16324 (bin_query_max_init), (bin_query_position_fold),
16325 (bin_query_position_done), (gst_bin_query):
16326 Position query should also take max of all streams.
16328 2006-03-20 Wim Taymans <wim@fluendo.com>
16330 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16331 (gst_fake_src_finalize):
16332 Fix leaks in fakesrc.
16334 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16335 Fix leaks in the testcase.
16337 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16339 * gst/gst_private.h:
16340 add win32 specific import decoration(__declspec(dllimport))
16341 for all extern GstDebugCategory * variables
16342 * win32/common/libgstbase.def:
16343 * win32/common/libgstcontroller.def:
16344 * win32/common/libgstreamer.def:
16345 Add some exports, remove empty lines
16346 * win32/common/libgstdataprotocol.def:
16347 * win32/common/libgstdataprotocol.dsp:
16348 * win32/common/libgstnet.def:
16349 * win32/common/libgstnet.dsp:
16350 new project files and exportation files added
16352 2006-03-19 Wim Taymans <wim@fluendo.com>
16354 * tests/check/libs/basesrc.c: (eos_event_counter):
16355 Use proper return value for probe.
16357 2006-03-17 Wim Taymans <wim@fluendo.com>
16359 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16360 (gst_pad_push):
16361 Don't leak buffers, caps and pads on negotiation errors.
16363 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16365 * docs/faq/cvs.xml:
16366 * docs/faq/dependencies.xml:
16367 * docs/faq/developing.xml:
16368 * docs/faq/faq.xml:
16369 * docs/faq/general.xml:
16370 * docs/faq/getting.xml:
16371 * docs/faq/legal.xml:
16372 * docs/faq/troubleshooting.xml:
16373 * docs/faq/using.xml:
16374 Faq review and update.
16376 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16378 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16379 (gst_pad_push):
16380 Don't pound the cpu to pieces by checking get_caps when accept_caps
16381 is called with the same caps as the pad already has.
16382 Use GST_DEBUG_OBJECT when outputting caps change information.
16384 2006-03-15 Wim Taymans <wim@fluendo.com>
16386 * gst/gstclock.c: (gst_clock_class_init):
16387 Fix docs.
16389 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16391 * gst/gstbuffer.h:
16392 Documentation fix.
16394 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16395 (gst_pad_accept_caps), (gst_pad_configure_sink),
16396 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16397 Make the default acceptcaps behaviour be to check the requested
16398 caps against the gst_pad_get_caps output.
16400 Ensure that gst_pad_accept_caps is used to check caps when a pad
16401 doesn't have a setcaps function, so that pads automatically refuse
16402 caps that they don't allow in their pad template. (Fixes #332986)
16404 When a buffer with attached caps is pushed, ensure that the source
16405 pad receives those caps even if the element didn't call
16406 gst_pad_set_caps first.
16408 2006-03-15 Wim Taymans <wim@fluendo.com>
16410 * libs/gst/base/gstadapter.c:
16411 Add some docs.
16413 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16415 * win32/common/libgstbase.def:
16416 * win32/common/libgstcontroller.def:
16417 * win32/common/libgstreamer.def:
16418 Add a whole bunch of missing functions (#334434).
16420 2006-03-14 Wim Taymans <wim@fluendo.com>
16422 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16423 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16424 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16425 Better debug info when we receive a segment event.
16426 Reorganize a bit so we can pass the get_times() results around.
16427 Use the segment format when calculating the running time.
16428 Don't do QoS is sync is disabled or we have no clock or the
16429 element does not want us to sync to the clock.
16430 Don't drop buffers if QoS is disabled for now.
16432 2006-03-14 Wim Taymans <wim@fluendo.com>
16434 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16435 Marked the stats property as unimplemented so people don't get
16436 wild ideas.
16437 Add debug message when regression goes wrong.
16438 Added some more docs.
16440 2006-03-14 Wim Taymans <wim@fluendo.com>
16442 * gst/gstsegment.c: (gst_segment_to_stream_time):
16443 Return correct return type in case of errors.
16445 2006-03-14 Wim Taymans <wim@fluendo.com>
16447 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16448 Don't segfault on invalid formats.
16450 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16452 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16453 Can't use gst_segment_to_running_time() when the segment
16454 is not in GST_TIME_FORMAT (like with filesink, for example).
16455 Stops flac encoding pipelines from spewing critical warnings
16456 at EOS (#331248).
16458 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16460 * gst/gstpipeline.c: (gst_pipeline_class_init):
16461 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16463 * plugins/elements/gsttypefindelement.c:
16464 (gst_type_find_element_handle_event):
16465 Don't try to typefind empty streams.
16467 2006-03-14 Wim Taymans <wim@fluendo.com>
16469 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16470 (gst_base_sink_do_qos):
16471 Separate QoS calculation.
16472 Only drop buffers when lateness is bigger than the
16473 duration of the buffer.
16475 2006-03-13 Wim Taymans <wim@fluendo.com>
16477 * gst/gstpipeline.c: (gst_pipeline_set_property),
16478 (gst_pipeline_get_property), (do_pipeline_seek),
16479 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16480 (gst_pipeline_get_delay):
16481 Don't deadlock when reading properties.
16483 2006-03-13 Wim Taymans <wim@fluendo.com>
16485 * libs/gst/base/gstbasetransform.c:
16486 (gst_base_transform_class_init), (gst_base_transform_init),
16487 (gst_base_transform_sink_event),
16488 (gst_base_transform_sink_eventfunc),
16489 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16490 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16491 (gst_base_transform_set_property),
16492 (gst_base_transform_get_property),
16493 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16494 (gst_base_transform_set_qos_enabled),
16495 (gst_base_transform_is_qos_enabled):
16496 * libs/gst/base/gstbasetransform.h:
16497 Make basetransform virtual method for src events too.
16498 Handle QOS in basetransform.
16499 API: gst_base_transform_update_qos()
16500 API: gst_base_transform_set_qos_enabled()
16501 API: gst_base_transform_is_qos_enabled()
16503 2006-03-13 Wim Taymans <wim@fluendo.com>
16505 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16506 (gst_base_sink_do_sync):
16507 Small cleanups.
16508 Use QOS debug category.
16510 2006-03-13 Wim Taymans <wim@fluendo.com>
16512 * plugins/elements/gstqueue.c:
16513 Very small doc update.
16515 2006-03-13 Wim Taymans <wim@fluendo.com>
16517 * gst/gst_private.h:
16518 * gst/gstinfo.c: (_gst_debug_init):
16519 Added QOS debug category
16521 2006-03-13 Wim Taymans <wim@fluendo.com>
16523 * docs/gst/gstreamer-sections.txt:
16524 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16525 * gst/gstbin.h:
16526 * gst/gstbus.c: (gst_bus_class_init):
16527 * gst/gstbus.h:
16528 * gst/gstclock.c:
16529 * gst/gstelement.c: (gst_element_set_locked_state):
16530 * gst/gstsegment.c:
16531 Documentation updates.
16533 * gst/gstpipeline.c: (gst_pipeline_get_type),
16534 (gst_pipeline_class_init), (gst_pipeline_init),
16535 (gst_pipeline_dispose), (gst_pipeline_set_property),
16536 (gst_pipeline_get_property), (do_pipeline_seek),
16537 (gst_pipeline_send_event), (gst_pipeline_change_state),
16538 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16539 (gst_pipeline_get_delay):
16540 * gst/gstpipeline.h:
16541 Added methods for setting the delay.
16542 API: gst_pipeline_set_delay()
16543 API: gst_pipeline_get_delay()
16544 Add pipeline debug category
16545 Various cleanups.
16546 Updated docs.
16547 Don't reset stream time when seek failed.
16549 2006-03-13 Wim Taymans <wim@fluendo.com>
16551 * docs/design/draft-klass.txt:
16552 * docs/design/part-clocks.txt:
16553 * docs/design/part-events.txt:
16554 * docs/design/part-gstbin.txt:
16555 * docs/design/part-gstpipeline.txt:
16556 * docs/design/part-messages.txt:
16557 * docs/design/part-negotiation.txt:
16558 * docs/design/part-overview.txt:
16559 * docs/design/part-preroll.txt:
16560 * docs/design/part-seeking.txt:
16561 * docs/design/part-states.txt:
16562 * docs/design/part-streams.txt:
16563 Documentation updates.
16565 2006-03-12 Julien MOUTTE <julien@moutte.net>
16567 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16568 us to leak strings...
16570 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16572 * libs/gst/net/gstnettimeprovider.c:
16573 fix docs
16574 * win32/common/config.h:
16575 update
16577 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16579 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16581 * configure.ac:
16582 Don't check for libgnomeui (leftover from old examples
16583 that aren't built or disted any longer) (#334303).
16585 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16587 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16588 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16589 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16590 there's no space left on the device.
16592 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16594 * gst/gstclock.h:
16595 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16596 to cast the input to GstClockTime before comparing with
16597 another GstClockTime value.
16599 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16601 * configure.ac:
16602 back to trunk
16604 === release 0.10.4 ===
16606 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16608 * configure.ac:
16609 releasing 0.10.4, "Light"
16611 2006-03-10 Michael Smith <msmith@fluendo.com>
16613 * libs/gst/dataprotocol/dataprotocol.c:
16614 Fix docs for dataprocotol to not get the return types completely
16615 wrong for a few functions.
16617 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16619 * docs/gst/gstreamer-sections.txt:
16620 * gst/gstpipeline.c: (gst_pipeline_class_init),
16621 (gst_pipeline_init), (gst_pipeline_set_property),
16622 (gst_pipeline_get_property), (gst_pipeline_change_state),
16623 (gst_pipeline_set_auto_flush_bus),
16624 (gst_pipeline_get_auto_flush_bus):
16625 * gst/gstpipeline.h:
16626 Add new API: gst_pipeline_set_auto_flush_bus() and
16627 gst_pipeline_get_auto_flush_bus() to disable automatic
16628 flushing of the pipeline's GstBus when going from READY
16629 to NULL state (#332045).
16631 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16633 * docs/gst/gstreamer-sections.txt:
16634 * gst/gsturi.c: (gst_uri_has_protocol):
16635 * gst/gsturi.h:
16636 Add new API: gst_uri_has_protocol() (#333779).
16638 2006-03-09 Wim Taymans <wim@fluendo.com>
16640 * gst/gstclock.c: (gst_clock_entry_new),
16641 (gst_clock_id_compare_func), (gst_clock_id_wait),
16642 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16643 (gst_clock_init), (gst_clock_get_internal_time),
16644 (gst_clock_set_master), (do_linear_regression),
16645 (gst_clock_add_observation), (gst_clock_set_property):
16646 * gst/gstclock.h:
16647 Review docs.
16648 Small cleanups.
16649 Fix a possible segfault when the window-size is made smaller.
16650 Calculate jitter before performing the clock wait. Ideally
16651 the clock implementation should calculate jitter but we need
16652 API breakage for that.
16654 * gst/gstsystemclock.c: (gst_system_clock_init):
16655 Docs review.
16657 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16658 Remove leftover else
16660 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16661 (gst_systemclock_suite):
16662 Added check to test GST_CLOCK_DIFF.
16664 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16666 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16667 (gst_type_find_helper_get_range):
16668 If we are provided with the size, we should implement
16669 GstTypeFind::get_length, so that typefind functions who
16670 want to can actually peek at the middle of a file.
16672 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16674 * docs/manual/advanced-dataaccess.xml:
16675 Add some very very basic error checking.
16677 * docs/pwg/appendix-checklist.xml:
16678 Some updates to the list of things to check when writing an element.
16680 2006-03-08 Wim Taymans <wim@fluendo.com>
16682 * docs/design/part-element-transform.txt:
16683 Added some docs about the design of tranform elements.
16685 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16686 (gst_base_src_loop), (gst_base_src_change_state):
16687 Mark buffers with the DISCONT flag.
16689 2006-03-08 Michael Smith <msmith@fluendo.com>
16691 * gst/gstregistry.h:
16692 * gst/gstregistryxml.c: (gst_registry_save),
16693 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16694 (gst_registry_xml_save_pad_template),
16695 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16696 (gst_registry_xml_write_cache):
16697 Rewrite registry-saving to avoid race conditions and check for
16698 failed writes.
16700 2006-03-08 Wim Taymans <wim@fluendo.com>
16702 * libs/gst/base/gstbasetransform.c:
16703 (gst_base_transform_transform_caps),
16704 (gst_base_transform_transform_size),
16705 (gst_base_transform_prepare_output_buffer),
16706 (gst_base_transform_get_unit_size),
16707 (gst_base_transform_buffer_alloc),
16708 (gst_base_transform_handle_buffer),
16709 (gst_base_transform_change_state):
16710 Cleanups, separate normal flow from errors, add sensible
16711 DEBUG lines.
16712 Don't try to renegotiate when allocating an output buffer.
16713 Also copy DISCONT buffer flag when copying a buffer.
16714 Reset the transform after we finish streaming, not during.
16716 2006-03-08 Wim Taymans <wim@fluendo.com>
16718 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16719 Use last buffer timestamp in qos message.
16721 2006-03-07 Wim Taymans <wim@fluendo.com>
16723 Patch by: Christophe Fergeau
16725 * docs/pwg/advanced-tagging.xml:
16726 * docs/pwg/building-pads.xml:
16727 fixes #333416
16729 2006-03-07 Wim Taymans <wim@fluendo.com>
16731 * docs/libs/gstreamer-libs-sections.txt:
16732 Added basesink new methods.
16734 * gst/gstevent.c:
16735 * gst/gstevent.h:
16736 Docs updates. Flesh out the QoS docs.
16738 * libs/gst/base/gstadapter.c:
16739 Small doc clarification about ownership and flushing.
16741 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16742 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16743 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16744 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16745 * libs/gst/base/gstbasesink.h:
16746 API additions:
16747 Added new methods to allow subclass to control max-lateness
16748 and sync.
16749 Generate very basic QoS events based on last sync observation.
16750 Updated docs, fix typo, added some QoS blurb.
16752 * libs/gst/base/gstbasesrc.c:
16753 Remove obsolete _get_state() calls from docs.
16755 2006-03-07 Wim Taymans <wim@fluendo.com>
16757 * docs/libs/gstreamer-libs-sections.txt:
16758 * libs/gst/base/gstbasetransform.h:
16759 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16760 Fix docs for GstBaseSrc.
16762 2006-03-07 Wim Taymans <wim@fluendo.com>
16764 * docs/gst/gstreamer-sections.txt:
16765 * gst/gstbuffer.h:
16766 * gst/gstvalue.c:
16767 * libs/gst/base/gstbasetransform.h:
16768 Small documentation fixes.
16770 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16772 * gst/gstvalue.c:
16773 Document thread-unsafety of gst_value_register_foo_func()
16774 when used at the same time as gst_value_foo() (#322628).
16776 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16778 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16779 (gst_push_src_check_get_range):
16780 Push sources don't support pull mode by default.
16782 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16784 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16785 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16786 (gst_base_src_default_check_get_range):
16787 * libs/gst/base/gstbasesrc.h:
16788 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16789 provide default implementation, and rename
16790 gst_base_src_check_get_range() to
16791 gst_base_src_pad_check_get_range() for clarity.
16793 2006-03-06 Wim Taymans <wim@fluendo.com>
16795 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16796 Make property overridable.
16798 2006-03-06 Wim Taymans <wim@fluendo.com>
16800 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16801 (gst_base_sink_init), (gst_base_sink_set_property),
16802 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16803 * libs/gst/base/gstbasesink.h:
16804 API addition: Make max-lateness a property.
16806 2006-03-06 Wim Taymans <wim@fluendo.com>
16808 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16809 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16810 Don't ever draw a frame that is >10ms late.
16812 2006-03-06 Michael Smith <msmith@fluendo.com>
16814 * gst/gstmessage.c: (_gst_message_copy):
16815 When copying a message, set the parent_refcount of the enclosed
16816 structure to point at the copy, not the original message.
16818 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16820 Patch by: Christophe Fergeau
16822 * gst/gstutils.h:
16823 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16824 usable in c++ code (#333417)
16826 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16828 * gst/gstclock.h:
16829 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16831 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16833 * libs/gst/base/gstbasetransform.c:
16834 (gst_base_transform_transform_caps):
16835 Make sure caps are writable before passing them to
16836 gst_caps_append().
16838 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16840 * gst/gsterror.h:
16841 Fix some minor docs errors.
16843 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16845 Patch by: Ross Burton <ross at burtonini dot com>
16847 * gst/gsterror.c: (_gst_resource_errors_init):
16848 * gst/gsterror.h:
16849 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16851 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16853 * gst/gst.c:
16854 Add a check and output a g_warning when GStreamer is built
16855 against GLib 2.6 but running against 2.8 or higher, and vice
16856 versa. (Closes: #323542)
16858 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16860 * gst/parse/parse.l:
16861 Commit patch for parse_launch syntax from #331255. Removes
16862 support for quoted strings and mimetypes when writing filtered
16863 caps. See the bug report for more details - I'm pretty sure this
16864 obscure feature is not in use by _anyone_ anywhere.
16866 With this simple change, the size of the gstreamer.so here
16867 drops from 2193KB to 1565KB.
16869 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16871 * plugins/elements/gsttypefindelement.h:
16872 * plugins/elements/gsttypefindelement.c:
16873 (gst_type_find_element_src_event), (start_typefinding),
16874 (stop_typefinding), (gst_type_find_element_handle_event),
16875 (gst_type_find_element_chain),
16876 (gst_type_find_element_chain_do_typefinding):
16877 Use gst_type_find_helper_for_buffer() for chain-based
16878 typefinding.
16880 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16882 * plugins/elements/gsttypefindelement.c:
16883 (gst_type_find_element_class_init),
16884 (gst_type_find_element_set_property),
16885 (gst_type_find_element_get_property):
16886 Deprecate "maximum" property (not only was it only taken into
16887 account for typefinding in push-mode anyway, it also was never
16888 actually possible to set it in the first place because the
16889 property was registered with the numeric property ID for the
16890 "minimum" property). Register "maximum" property correctly,
16891 for the sake of future copy'n'pasters. Remove some cruft
16892 from property get/set functions.
16894 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16896 * plugins/elements/gsttypefindelement.c:
16897 (gst_type_find_element_activate):
16898 Use gst_type_find_helper_get_range() here, so we
16899 can honour the "minimum" property and also emit
16900 the signal with the correct probability of the found caps.
16902 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16904 * docs/libs/gstreamer-libs-sections.txt:
16905 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16906 (helper_find_suggest), (gst_type_find_helper_get_range),
16907 (gst_type_find_helper):
16908 * libs/gst/base/gsttypefindhelper.h:
16909 New API: gst_type_find_helper_get_range() (#333042).
16911 2006-03-02 Michael Smith <msmith@fluendo.com>
16913 * gst/gstregistryxml.c: (load_feature):
16914 Asserting on a failure to read part of the registry is Not Cool.
16915 Just log a warning and return NULL (which is already handled)
16917 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16919 * win32/common/libgstbase.def:
16920 added export of gst_type_find_helper_for_buffer
16921 * win32/common/libgstbase.def:
16922 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16923 gst_ghost_pad_get_target
16925 2006-02-28 Wim Taymans <wim@fluendo.com>
16927 * docs/design/draft-klass.txt:
16928 We use Filter now.
16929 Added Connector to mark elements that are only used to
16930 allow pipeline connections.
16931 Moved Debug to extra feature since most of them are
16932 functionally something else.
16934 2006-02-28 Wim Taymans <wim@fluendo.com>
16936 * docs/design/draft-klass.txt:
16937 Some updates and clarifications.
16939 2006-02-28 Wim Taymans <wim@fluendo.com>
16941 * docs/design/draft-klass.txt:
16942 Proposal for klass field values.
16944 * docs/design/part-streams.txt:
16945 Start of a doc describing stream anatomy.
16947 2006-02-28 Wim Taymans <wim@fluendo.com>
16949 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16950 Help the compiler a bit with type registration.
16951 Use existing forward cod path instead of duplicating it when
16952 handling a message.
16954 * gst/gstbus.c: (gst_bus_get_type):
16955 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16956 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16957 * gst/gstclock.c: (gst_clock_get_type):
16958 * gst/gstelement.c: (gst_element_get_type),
16959 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16960 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16961 * gst/gstminiobject.c: (gst_mini_object_get_type):
16962 * gst/gstpad.c: (gst_pad_get_type):
16963 * gst/gstsegment.c: (gst_segment_get_type):
16964 * gst/gststructure.c: (gst_structure_get_type):
16965 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16966 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16967 * gst/gstvalue.c:
16968 Help compiler with type registration.
16970 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16971 Small doc update.
16973 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16975 * plugins/elements/gsttypefindelement.c:
16976 (gst_type_find_element_handle_event):
16977 When we get an EOS event and have not found a type yet
16978 (most likely because we had not yet accumulated
16979 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16980 type given the data we have so far. Fixes typefinding
16981 for very short streams again, most notably quicktime
16982 redirections as used on Apple's trailer site (#331701).
16984 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16986 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16987 (gst_type_find_helper):
16988 Try typefinding factories with the highest rank first.
16990 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16992 * docs/libs/gstreamer-libs-docs.sgml:
16993 * docs/libs/gstreamer-libs-sections.txt:
16994 * libs/gst/base/gsttypefindhelper.c:
16995 Add section for typefind helper and add documentation
16996 for the old and the new function.
16998 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17000 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
17001 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
17002 (gst_type_find_helper_for_buffer):
17003 * libs/gst/base/gsttypefindhelper.h:
17004 New API: gst_type_find_helper_for_buffer() (#332723).
17006 2006-02-27 Michael Smith <msmith@fluendo.com>
17008 Patch by: Loïc Minier
17010 * configure.ac:
17011 * docs/Makefile.am:
17012 * docs/slides/Makefile.am:
17013 prevent CVS directories getting disted.
17015 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
17017 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
17018 Use the REFCOUNTING category for caps refcounting.
17020 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17022 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
17023 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
17025 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
17027 * plugins/elements/gsttypefindelement.c:
17028 (gst_type_find_element_activate):
17029 Use gst_pad_check_pull_range() before _activate_pull()
17030 to avoid unnecessary open/close (see #331690).
17032 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17034 * gst/gstutils.c:
17035 Docs enhancement: make it crystal clear what the
17036 gst_pad_add_*_probe() callbacks should look like.
17038 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
17040 * libs/gst/base/gstbasesrc.c:
17041 Document how applications can stop recording from
17042 live sources (see #330996).
17044 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17046 * tests/check/Makefile.am:
17047 * tests/check/libs/basesrc.c: (eos_event_counter),
17048 (basesrc_eos_events_pull), (basesrc_eos_events_push),
17049 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
17050 (gst_basesrc_suite), (main):
17051 ... and add some tests for the base source EOS stuff.
17053 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17055 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
17056 Test case originally showed the problem fixed below,
17057 but was then amended. Add checks back at the place
17058 where they used to be.
17060 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17062 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17063 (gst_base_src_init), (gst_base_src_loop),
17064 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17065 (gst_base_src_change_state):
17066 * libs/gst/base/gstbasesrc.h:
17067 Don't unconditionally send EOS when going from PAUSED to
17068 READY state, esp. make sure we don't send two EOS events
17069 in some cases (e.g. one when reaching EOS and one when
17070 going from PAUSED to READY). Also, we don't want to send
17071 EOS events when operating in pull mode. However, we do
17072 want to send an EOS event when shutting down a live
17073 source explicitly, for example (fixes #330996).
17075 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17077 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17078 Update src->read_position after a seek when not using mmap.
17079 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17081 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17083 * gst/Makefile.am:
17084 * gst/gstparse.h:
17085 * gst/gstutils.c:
17086 * gst/gstutils.h:
17087 Make things work with --disable-parse as they do with
17088 --disable-load-save - the symbols involved disappear, but the
17089 header is still installed and GST_DISABLE_PARSE is included via
17090 gstconfig.h
17092 2006-02-20 Julien MOUTTE <julien@moutte.net>
17094 * libs/gst/base/gstbasetransform.c:
17095 (gst_base_transform_change_state): Fix a stupid bug. I was
17096 sure I compiled that.
17098 2006-02-20 Julien MOUTTE <julien@moutte.net>
17100 * gst/gstpad.c: (gst_pad_set_blocked_async):
17101 * gst/gstutils.c: (gst_pad_add_data_probe),
17102 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17103 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17104 (gst_pad_remove_buffer_probe): Make those function act on the
17105 ghostpad target when it's a ghostpad. (Closes #331727)
17107 2006-02-20 Julien MOUTTE <julien@moutte.net>
17109 * libs/gst/base/gstbasetransform.c:
17110 (gst_base_transform_change_state): Make basetransform reusable.
17111 (Closes #331898)
17113 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17115 * docs/random/release:
17116 Move the current documentation of how to do a release to the top
17117 of the file.
17119 * gst/gstbin.c: (gst_bin_class_init),
17120 (gst_bin_handle_message_func):
17121 Allow multiple state-recalculation threads. (Closes #328873)
17123 2006-02-19 Julien MOUTTE <julien@moutte.net>
17125 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17126 * gst/gstpad.c: (gst_pad_set_event_function),
17127 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17128 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17129 2 strings. You can't use the STR_NULL macro on that.
17131 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17133 * gst/gstpad.c: (gst_pad_set_event_function),
17134 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17135 (gst_pad_set_getcaps_function)
17136 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17137 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17138 So now, we can use --gst-debug-level=5 on Windows
17139 * win32/common/libgstcontroller.def:
17140 Added export of gst_controller_init
17141 * win32/vs6/libgstcontroller.dsp:
17142 Fixed Release post build configuration
17144 2006-02-17 Wim Taymans <wim@fluendo.com>
17146 * tests/check/gst/gstquery.c: (GST_START_TEST):
17147 Added another check.
17149 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17151 * plugins/elements/gsttypefindelement.c: (find_peek):
17152 We can do peeks at non-zero offsets, as long as they
17153 fall within the buffer we have.
17155 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17157 * tests/check/Makefile.am:
17158 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17159 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17160 (parse_suite), (main):
17161 Add testsuite for parse launch syntax
17163 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17165 * plugins/elements/gsttypefindelement.c:
17166 (gst_type_find_element_chain):
17167 When typefinding is unsuccessful in the chain function, don't
17168 error out immediately. Only error out with NO_CAPS_FOUND if
17169 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17170 otherwise simply wait for more data so we can try typefinding
17171 again with more data later. Also, don't attempt to typefind
17172 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17173 this should improve typefinding from network sources where the
17174 size of the first buffer can be somewhat random.
17176 2006-02-14 Wim Taymans <wim@fluendo.com>
17178 * docs/gst/gstreamer-sections.txt:
17179 * gst/gstpadtemplate.c:
17180 * gst/gstpadtemplate.h:
17181 Fix padtemplate docs, fixes #328805.
17183 2006-02-14 Wim Taymans <wim@fluendo.com>
17185 * tools/gst-launch.c: (main):
17186 NO_PREROLL is not an ERROR so don't send confusing messages
17187 to the user.
17189 2006-02-14 Wim Taymans <wim@fluendo.com>
17191 Patch by: Torsten Schoenfeld
17193 * gst/gstregistry.c: (gst_registry_get_default),
17194 (_gst_registry_cleanup):
17195 Protect default registry with lock and ref/sink it.
17196 Fixes #324818
17198 2006-02-14 Wim Taymans <wim@fluendo.com>
17200 * gst/gstbuffer.c:
17201 * gst/gstquery.c: (gst_query_list_add_format),
17202 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17203 (gst_query_parse_formats_nth):
17204 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17205 Docs fixes.
17207 2006-02-14 Wim Taymans <wim@fluendo.com>
17209 * docs/gst/gstreamer-sections.txt:
17210 Reworked query docs.
17212 * gst/gstquery.c: (gst_query_new_formats),
17213 (gst_query_list_add_format), (gst_query_set_formats),
17214 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17215 (gst_query_parse_formats_nth):
17216 * gst/gstquery.h:
17217 Flesh out formats query, added some new methods.
17218 Fix part of #324398.
17220 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17221 Added query creation tests.
17223 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17225 * gst/gstpad.c: (fixate_value):
17226 Add a default fixation for fraction lists.
17228 2006-02-13 Wim Taymans <wim@fluendo.com>
17230 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17231 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17232 (gst_task_join):
17233 * gst/gsttask.h:
17234 Detect and warn for obvious deadlocks. fixes #320340
17235 Fix error case where lock was not released.
17237 * tests/check/Makefile.am:
17238 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17239 (task_func), (gst_element_suite), (main):
17240 Add task check.
17242 2006-02-13 Wim Taymans <wim@fluendo.com>
17244 * docs/gst/gstreamer-sections.txt:
17245 * gst/gstbus.c:
17246 Add new functions to docs.
17248 2006-02-13 Wim Taymans <wim@fluendo.com>
17250 * docs/design/part-TODO.txt:
17251 Updated TODO list, basesrc supports seeking to non-bytes
17252 formats.
17254 * docs/design/part-element-sink.txt:
17255 Update docs.
17257 * gst/gstbin.c: (bin_replace_message),
17258 (gst_bin_handle_message_func):
17259 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17260 * gst/gstevent.c: (gst_event_finalize):
17261 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17262 (gst_pad_send_event):
17263 Use shiny new _TYPE_NAME macros.
17265 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17266 Move debug statement up.
17268 * gst/gstelement.c: (gst_element_set_locked_state):
17269 Add some debugging.
17271 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17273 * docs/gst/gstreamer-sections.txt:
17274 * gst/gstmessage.h:
17275 * gst/gstquery.h:
17276 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17277 macros (#330906). Also, document the already existing
17278 GST_QUERY_TYPE macro.
17280 2006-02-13 Wim Taymans <wim@fluendo.com>
17282 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17283 (event_probe), (GST_START_TEST):
17284 Only events up to the pipeline EOS are counted, there are
17285 some more when going to NULL currently which we don't care
17286 about for now.
17288 2006-02-13 Wim Taymans <wim@fluendo.com>
17290 * gst/gstpad.c: (gst_pad_send_event):
17291 Correctly check flushing and emit probes. fixes #330125
17293 2006-02-10 Andy Wingo <wingo@pobox.com>
17295 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17296 structure.
17297 (gst_bus_init): Cache the location of the private data in the
17298 instance structure.
17299 (gst_bus_enable_sync_message_emission)
17300 (gst_bus_disable_sync_message_emission): Implement new public
17301 functions.
17302 (gst_bus_post): Emit the sync-message signal if the user asked for
17303 it. Fixes #330684.
17305 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17306 location of the bus-private structure.
17307 (gst_bus_enable_sync_message_emission)
17308 (gst_bus_disable_sync_message_emission): API addition
17310 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17312 Patch by: Vincent Torri
17314 * docs/pwg/building-boiler.xml:
17315 PWG patch from #326800
17317 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17319 * configure.ac:
17320 * docs/Makefile.am:
17321 * docs/design/Makefile.am:
17322 Dist design docs.
17324 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17326 * configure.ac:
17327 back to CVS
17329 === release 0.10.3 ===
17331 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17333 * configure.ac:
17334 releasing 0.10.3, "Like a virgin"
17336 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17338 * configure.ac:
17339 2nd prerelease of 0.10.3
17340 Bump libtool versioning.
17342 2006-02-07 Andy Wingo <wingo@pobox.com>
17344 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17345 update last_stop if we're in TIME format and the timestamp is
17346 valid.
17348 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17349 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17350 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17351 If we get a new newsegment with a different format, adapt
17352 accordingly.
17354 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17355 of 0. Not a problem, really.
17357 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17358 warn if sync=true.
17360 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17362 * configure.ac:
17363 Prelease of 0.10.3
17365 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17367 * win32/vs7:
17368 project files updated to the default vs7 configuration
17369 * win32/common/libgstbase.def:
17370 * win32/common/libgstreamer.def:
17371 added new symbols,
17372 removed empty lines,
17373 sorted all exported symbols alphabetically
17374 * win32/common/dirent.c:
17375 * win32/common/dirent.h:
17376 * win32/common/gchar.h:
17377 use windows line end.
17379 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17381 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17382 Send EOS event when stopping.
17384 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17386 * docs/README:
17387 Tell folks what to do if the plugin-foobar.xml file
17388 hasn't been generated for a newly-added plugin.
17390 2006-02-05 Julien MOUTTE <julien@moutte.net>
17392 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17393 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17394 (gst_collect_pads_start), (gst_collect_pads_stop),
17395 (gst_collect_pads_event): Collectpads now holds a reference
17396 to the GstPad that was added. Indeed we don't want to look
17397 at pads that might just go away with no warning...
17399 2006-02-05 Julien MOUTTE <julien@moutte.net>
17401 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17402 (gst_collect_pads_start), (gst_collect_pads_stop),
17403 (gst_collect_pads_event), (gst_collect_pads_chain):
17404 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17405 Mark Nauwelaerts's patch on bug #328491.
17407 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17409 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17410 (gst_utils_suite):
17411 Add some simple tests for gst_parse_bin_from_description() and
17412 gst_bin_find_unconnected_pad() (#329069).
17414 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17416 * tools/gst-launch.c: (event_loop), (main):
17417 Catch errors during preroll (#320084).
17419 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17421 * plugins/elements/gsttypefindelement.c:
17422 (gst_type_find_element_activate):
17423 Post TYPE_NOT_FOUND error message when typefinding
17424 is unsuccessful in the activate function as well.
17426 2006-02-02 Wim Taymans <wim@fluendo.com>
17428 * docs/design/part-element-sink.txt:
17429 Updated doc.
17431 2006-02-02 Wim Taymans <wim@fluendo.com>
17433 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17434 (gst_base_sink_render_object),
17435 (gst_base_sink_queue_object_unlocked):
17436 Only keep track of prerollable items when we are
17437 prerolling.
17438 Before rendering after preroll, always check if we
17439 have queued items.
17440 Added some more debugging.
17442 2006-02-02 Wim Taymans <wim@fluendo.com>
17444 * gst/gstelement.c: (gst_element_continue_state),
17445 (gst_element_set_state_func), (gst_element_change_state):
17446 Fixed #326576, been running this for quite some time with
17447 no regressions at all.
17449 2006-02-02 Wim Taymans <wim@fluendo.com>
17451 * common/gst.supp:
17452 Added more suppressions
17454 2006-02-02 Wim Taymans <wim@fluendo.com>
17456 * docs/design/part-element-sink.txt:
17457 Updated document.
17459 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17460 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17461 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17462 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17463 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17464 (gst_base_sink_preroll_object),
17465 (gst_base_sink_queue_object_unlocked),
17466 (gst_base_sink_queue_object), (gst_base_sink_event),
17467 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17468 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17469 (gst_base_sink_get_position), (gst_base_sink_change_state):
17470 * libs/gst/base/gstbasesink.h:
17471 Totally refactored matching the design doc.
17472 Use two segments, one to clip incomming buffers and another to
17473 perform sync.
17474 Handle queueing correctly, bypass the queue when playing.
17475 Make EOS cancelable.
17476 Handle errors correctly when operating in pull based mode.
17478 * tests/check/elements/fakesink.c: (GST_START_TEST),
17479 (fakesink_suite):
17480 Added new check for sinks.
17482 2006-02-02 Wim Taymans <wim@fluendo.com>
17484 * gst/gstsegment.c: (gst_segment_clip):
17485 No reason to refuse to clip when start == -1
17487 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17489 * docs/README:
17490 * docs/manual/intro-basics.xml:
17491 * docs/manual/intro-preface.xml:
17492 * docs/manual/manual.xml:
17493 * docs/pwg/advanced-dparams.xml:
17494 * docs/pwg/intro-basics.xml:
17495 * docs/pwg/intro-preface.xml:
17496 * docs/pwg/pwg.xml:
17497 describe dparams (controller) for plugins
17498 unify docs a little more
17500 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17502 * docs/gst/gstreamer-sections.txt:
17503 * gst/gstutils.c: (element_find_unconnected_pad),
17504 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17505 * gst/gstutils.h:
17506 Add new API: gst_parse_bin_from_description() and
17507 gst_bin_find_unconnected_pad() (#329069).
17509 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17511 * docs/manual/README:
17512 uncover a nasty detail of the docs build
17514 2006-01-31 Wim Taymans <wim@fluendo.com>
17516 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17517 Don't cache duration messages if we're not going to use or
17518 free them.
17520 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17522 * docs/manual/advanced-dparams.xml:
17523 * docs/pwg/advanced-dparams.xml:
17524 more dparam docs
17525 * gst/gstindex.c:
17526 fix docs
17527 * libs/gst/controller/lib.c: (gst_controller_init):
17528 init just once
17530 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17532 * gst/gstelement.c: (gst_element_message_full):
17533 also show file/line/func if no additional debug was given
17535 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17537 * win32/vs7/grammar.vcproj:
17538 activate copy of autogenerated files for Release mode
17540 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17542 * win32/common/libgstreamer.def:
17543 export gst_value_compare
17545 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17547 * plugins/elements/Makefile.am:
17548 * plugins/elements/gstelements.c:
17549 * plugins/elements/gstfdsink.c: (_do_init),
17550 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17551 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17552 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17553 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17554 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17555 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17556 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17557 * plugins/elements/gstfdsink.h:
17558 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17560 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17562 * docs/manual/advanced-dparams.xml:
17563 describe controller
17564 * docs/manual/advanced-position.xml:
17565 * docs/manual/basics-init.xml:
17566 * docs/manual/manual.xml:
17567 * docs/manual/titlepage.xml:
17568 * docs/pwg/pwg.xml:
17569 * docs/pwg/titlepage.xml:
17570 cleanup xml (more to come)
17571 * libs/gst/controller/gstcontroller.c:
17572 fix typo
17574 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17576 * win32/vs6/grammar.dsp:
17577 add autogen of gstmarshal.c,h for Release mode
17579 2006-01-30 Wim Taymans <wim@fluendo.com>
17581 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17582 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17583 (gst_base_sink_handle_object), (gst_base_sink_event),
17584 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17585 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17586 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17587 (gst_base_sink_deactivate), (gst_base_sink_activate),
17588 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17589 (gst_base_sink_query), (gst_base_sink_change_state):
17590 Basesink cleanups, remove some old code.
17591 Handle the case where a subclass can preroll in the render
17592 method (mostly audiosinks).
17593 Handle more events.
17594 Remove some locks around variables that are now protected
17595 with the PREROLL_LOCK (clock_id, flushing, ..).
17596 Optimize position query some more, do correct locking.
17597 Remove old code to push queue in state change, this is not
17598 needed anymore since preroll blocks on all prerollable items
17599 now.
17600 Almost implemented as described in design doc.
17602 2006-01-30 Wim Taymans <wim@fluendo.com>
17604 * tests/check/gst/gstbin.c: (GST_START_TEST):
17605 Wait for refcount to settle down before checking.
17607 2006-01-30 Wim Taymans <wim@fluendo.com>
17609 * docs/design/part-element-sink.txt:
17610 Pseudo code overview of desired sink behaviour regarding
17611 preroll.
17613 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17614 * win32/vs6/grammar.dsp:
17615 fix some bugs in Release mode for autogenerated files
17617 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17618 * win32/common/libgstbase.def:
17619 * win32/common/libgstreamer.def:
17620 export some new symbols: gst_base_src_set_format,
17621 gst_iterator_next, gst_structure_set_valist
17623 2006-01-29 Julien MOUTTE <julien@moutte.net>
17625 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17626 Set pad functions unconditionally. Fixes #329105.
17628 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17629 * win32/vs8:
17630 add vs8 project files created by Sergey Scobich
17632 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17634 * gst/gstutils.c: (gst_element_unlink_pads):
17635 Don't leak pad references.
17637 * tests/check/elements/fakesink.c: (GST_START_TEST):
17638 * tests/check/generic/sinks.c: (GST_START_TEST):
17639 * tests/check/generic/states.c: (GST_START_TEST):
17640 * tests/check/gst/gstbin.c: (GST_START_TEST):
17641 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17642 * tests/check/gst/gstelement.c: (GST_START_TEST):
17643 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17644 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17645 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17646 Fix a bunch of leaks. Make generic/sinks.c
17647 use a bit less cpu by slowing the buffer rate
17648 between fakesrc and fakesink.
17650 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17651 * gst/gstcaps.c:
17652 * gst/gstelement.c: (gst_element_send_event):
17653 * gst/gstevent.c:
17654 * gst/gstinfo.c:
17655 * gst/gstiterator.c:
17656 * gst/gstiterator.h:
17657 * gst/gstpad.c: (gst_pad_send_event):
17658 * gst/gststructure.c:
17659 * gst/gsturi.c:
17660 * gst/gstutils.c:
17661 * gst/gstvalue.c:
17662 * libs/gst/base/gstadapter.c:
17663 doc fixes, to link to function, just write gst_cool_function(), don't
17664 prefix with '#'
17666 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17668 * plugins/elements/gsttee.c: (gst_tee_do_push),
17669 (gst_tee_handle_buffer):
17670 Always prefer an actual return value from a src
17671 pad in place of NOT_LINKED. This means we return
17672 WRONG_STATE when all src pads are WRONG_STATE
17673 instead of NOT_LINKED.
17675 Lock when replacing the last message to prevent
17676 racing with the get_property method.
17678 Add debug output
17680 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17682 * tests/check/Makefile.am:
17683 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17684 (main):
17685 Add a very simple check that should have caught the memleak I fixed
17686 last night (if not for the slice allocator hiding it)
17688 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17690 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17691 (gst_bin_remove_func), (gst_bin_handle_message_func),
17692 (bin_query_duration_fold), (bin_query_generic_fold):
17693 Clean up references to the clock provider when disposed or when
17694 handling a clock-lost message from it.
17696 Unref sinks when performing a query via gst_iterator_fold, as the
17697 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17699 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17700 (gst_clock_set_master):
17701 Drop our reference to the master clock, if any, when we are disposed.
17703 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17704 Chain up in dispose.
17706 2006-01-26 Wim Taymans <wim@fluendo.com>
17708 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17709 Add some debugging.
17711 2006-01-26 Julien MOUTTE <julien@moutte.net>
17713 * plugins/elements/gsttee.c: (gst_tee_do_push),
17714 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17715 handles pad being NOT_LINKED or in WRONG_STATE.
17717 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17719 * win32/MANIFEST:
17720 more updating
17722 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17724 * win32/MANIFEST:
17725 remove obsolete entry
17727 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17729 * docs/gst/gstreamer-sections.txt:
17730 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17731 (gst_bin_iterate_sources), (gst_bin_send_event):
17732 * gst/gstbin.h:
17733 * gst/gstelement.c: (gst_element_send_event):
17734 * gst/gstevent.c:
17735 * gst/gstpad.c: (gst_pad_send_event):
17736 added code for downstream events, reviewed docs in gstevent.c
17738 2006-01-25 Julien MOUTTE <julien@moutte.net>
17740 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17741 We only query position using the clock in the playing state.
17742 Query peer in the other cases.
17743 * win32/common/config.h: Updates.
17745 2006-01-24 Wim Taymans <wim@fluendo.com>
17747 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17748 A clock entry that is scheduled for the exact time of the
17749 clock is still in time.
17751 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17752 (gst_base_sink_do_sync):
17753 Add some more debug info.
17755 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17757 * win32/vs7:
17758 Add new vs7 project files and solution.
17760 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17762 * win32/vs7:
17763 all files removed as they were out-dated.
17765 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17767 * docs/random/release:
17768 update notes
17769 * gst/gstbin.c: (gst_bin_init):
17770 * gst/gstbus.c: (gst_bus_new):
17771 * gst/gstbus.h:
17772 * gst/gstpipeline.c: (gst_pipeline_init):
17773 use gst_bus_new(), improve logging, fix docs
17774 * win32/common/config.h:
17775 update for cvs build
17777 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17779 * autogen.sh:
17780 up required version of automake to 1.7
17782 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17784 * win32/common/libgstreamer.def:
17785 export gst_buffer_is_metadata_writable
17787 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17789 * docs/gst/gstreamer-sections.txt:
17790 * gst/gstevent.h:
17791 Add gst_event_replace() (#327001)
17793 2006-01-20 Wim Taymans <wim@fluendo.com>
17795 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17796 Make it actually compile too..
17798 2006-01-20 Wim Taymans <wim@fluendo.com>
17800 * gst/gstcaps.c:
17801 Clarify behaviour of _is_equal() when passing NULL parameters.
17803 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17804 (gst_pad_set_caps):
17805 Cleanups. Don't unref NULL caps.
17806 When setting the same caps, protect caps of the pad with
17807 proper lock.
17808 Use full functionality of _is_equal() when comparing caps.
17810 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17812 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17813 Don't loop infinitely if there are no buffers to present. Partially
17814 fixes #327197, but collectpads is just broken for reusing elements
17815 to do multiple encodes atm.
17817 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17819 * tools/gst-inspect.c: (print_element_features):
17820 * tools/gst-xmlinspect.c: (main):
17821 URL_HANDLER is not a plugin feature we can search for in
17822 the registry.
17824 2006-01-19 Edward Hervey <edward@fluendo.com>
17826 * gst/gstelement.c: (gst_element_pads_activate):
17827 When activating, do src pads first, then sink pads.
17828 When de-activating, do sink pads first, then src pads.
17830 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17832 * docs/gst/gstreamer-sections.txt:
17833 Add gst_index_add_associationv to the docs
17835 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17837 * gst/gstevent.c:
17838 Fix docs typo
17840 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17841 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17842 Do some refactoring. Doesn't actually change functionality,
17843 but makes landing the DRAIN event easier later.
17845 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17847 * docs/pwg/advanced-scheduling.xml:
17848 Update from 0.9.x to 0.10 API and make example a bit
17849 clearer.
17851 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17853 * docs/gst/gstreamer-sections.txt:
17854 Add gst_buffer_(is|make)_metadata_writable methods.
17856 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17858 * docs/design/part-sparsestreams.txt:
17859 Update sparse streams doc, hopefully for greater clarity
17861 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17863 * docs/design/part-events.txt:
17864 Remove mention of FILLER events.
17865 Add DRAIN event.
17867 * docs/design/part-sparsestreams.txt:
17868 Write some things about using NEWSEGMENT to keep sparse streams
17869 flowing.
17871 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17873 * gst/gstbin.c: (gst_bin_dispose):
17874 Guard gst_object_unref call against a NULL object (dispose
17875 can theoretically be called multiple times).
17877 2006-01-18 Wim Taymans <wim@fluendo.com>
17879 * gst/gstbin.c: (gst_bin_element_set_state):
17880 * gst/gstclock.c: (gst_clock_id_wait):
17881 Added some more debug info.
17883 * libs/gst/base/gstadapter.c:
17884 Added more docs.
17886 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17887 (gst_base_sink_do_sync), (gst_base_sink_chain):
17888 Added some comments.
17890 2006-01-18 Wim Taymans <wim@fluendo.com>
17892 * tests/check/Makefile.am:
17893 * tests/check/elements/fakesink.c: (chain_async_buffer),
17894 (chain_async), (chain_async_return), (GST_START_TEST),
17895 (fakesink_suite), (main):
17896 Added fakesink test that checks prerolling and clipping
17897 behaviour.
17899 * tests/check/gst/gstutils.c: (GST_START_TEST):
17900 Make check run faster so that buildbots don't timeout.
17902 2006-01-18 Wim Taymans <wim@fluendo.com>
17904 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17905 (gst_base_sink_do_sync):
17906 Some cleanups.
17907 When the sink finishes blocking on the preroll buffer, it can
17908 immediatly render it instead of rendering when the next buffer
17909 arrives.
17911 2006-01-18 Wim Taymans <wim@fluendo.com>
17913 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17914 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17915 (gst_base_sink_chain):
17916 Small cleanups.
17917 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17918 Don't store _last_stop if the buffer is dropped.
17920 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17922 * plugins/elements/gsttypefindelement.c:
17923 (gst_type_find_element_class_init):
17924 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17925 object method handler that sets the caps on the pad and we want
17926 that to happen before we emit the signal (fixes e.g. feeding a
17927 plain text file to decodebin).
17929 2006-01-18 Christian Schaller <Christian@fluendo.com>
17931 * gst/gstplugin.c: Add MPL and Proprietary as license options
17933 2006-01-18 Andy Wingo <wingo@pobox.com>
17935 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17936 symbol was exported before, it appears this was just an oversight.
17937 Fixes #168703.
17938 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17940 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17941 prototype to gint. OK since this prototype was not in the header.
17943 2006-01-17 Andy Wingo <wingo@pobox.com>
17945 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17946 registry while we remove plugins.
17948 * tools/gst-inspect.c (print_element_info): Don't unref the
17949 factory arg, that should be the responsibility of whatever code
17950 received the ref. Fixes a double-free when called from
17951 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17952 (main): Unref the factory if we have one.
17953 (print_element_list): No change -- relies on the
17954 plugin_feature_list_free to free the list of features.
17956 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17958 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17959 (gst_buffer_make_metadata_writable):
17960 * gst/gstbuffer.h:
17961 * libs/gst/base/gstbasetransform.c:
17962 (gst_base_transform_prepare_output_buf):
17963 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17964 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17965 Replace gst_buffer_(make|is)_metadata_writable patch now
17966 that the release is out.
17968 2006-01-17 Andy Wingo <wingo@pobox.com>
17970 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17971 in the present tense without reference to versions.
17973 * gst/gstregistry.c (gst_registry_add_plugin)
17974 (gst_registry_remove_plugin, gst_registry_remove_feature)
17975 (gst_registry_find_feature, gst_registry_get_feature_list)
17976 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17977 (gst_registry_lookup, gst_registry_scan_path)
17978 (_gst_registry_remove_cache_plugins)
17979 (gst_registry_get_feature_list_by_plugin): Add argument
17980 validation.
17982 === release 0.10.2 ===
17984 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17986 * configure.ac:
17987 releasing 0.10.2, "If man is five"
17989 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17991 * gst/gstbuffer.c:
17992 * gst/gstbuffer.h:
17993 * libs/gst/base/gstbasetransform.c:
17994 (gst_base_transform_prepare_output_buf):
17995 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17996 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17997 Back out patch until after the release.
17999 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18001 * gst/gstminiobject.c:
18002 Spelling fix in docs.
18003 * ChangeLog - remove conflict indicator
18005 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
18007 Reviewed By: Andy Wingo
18009 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
18010 (gst_buffer_make_metadata_writable):
18011 * gst/gstbuffer.h:
18012 Add gst_buffer_(is|make)_metadata_writable as analogues of
18013 gst_buffer_(is|make)_writable.
18015 * libs/gst/base/gstbasetransform.c:
18016 (gst_base_transform_prepare_output_buf):
18017 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18018 Use name gst_buffer_(is|make)_metadata_writable functions.
18020 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18021 Test gst_buffer_(is|make)_metadata_writable
18023 (Closes: #324162)
18025 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
18027 * docs/manual/Makefile.am:
18028 don't do parallel make
18029 * configure.ac:
18030 AC_SUBST HOST_CPU
18031 * win32/common/config.h.in:
18032 add generations for HOST_CPU and GST_MAJORMINOR
18033 * win32/common/config.h:
18034 commit generated result
18036 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
18038 * docs/manual/appendix-integration.xml:
18039 Update GNOME integration section to use gst_init_get_option_group()
18040 instead of the old popt stuff (#322911). Also, GNOME applications
18041 should now use gconf*sink and gconf*src instead of the old gconf
18042 helper lib we had.
18044 2006-01-13 Stefan Kost <ensonic@users.sf.net>
18047 * docs/gst/gstreamer-docs.sgml:
18048 * docs/gst/gstreamer-sections.txt:
18049 * docs/libs/gstreamer-libs-sections.txt:
18050 add new API entries to the docs
18051 * libs/gst/controller/Makefile.am:
18052 * libs/gst/controller/gstcontroller.c:
18053 * libs/gst/controller/gstcontroller.h:
18054 * libs/gst/controller/gstcontrollerprivate.h:
18055 * libs/gst/controller/gsthelper.c:
18056 * libs/gst/controller/gstinterpolation.c:
18057 move private structs to private header
18058 * po/README:
18059 gstreamer-0.7 -> gstreamer-0.10
18060 * tests/check/libs/struct_i386.h:
18061 remove private structs
18063 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18065 * plugins/indexers/Makefile.am:
18066 Fixes as part of #317048
18068 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18070 * plugins/indexers/Makefile.am:
18071 fix #316086 - compilation when mmap is missing
18073 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18075 * libs/gst/base/gstbasesink.c:
18076 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18077 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18078 * win32/common/config.h:
18079 added some defines GST_MAJORMINOR and HOST_CPU
18080 * win32/common/libgstbase.def:
18081 * win32/common/libgstreamer.def:
18082 added some exported functions.
18084 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18086 * libs/gst/controller/gstcontroller.c:
18087 (gst_controlled_property_set_interpolation_mode),
18088 (gst_controlled_property_new):
18089 * libs/gst/controller/gstcontroller.h:
18090 * libs/gst/controller/gstinterpolation.c:
18091 (interpolate_none_get_string_value_array):
18092 make G_TYPE_STRING controlable
18094 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18096 * tools/README:
18097 * tools/gst-feedback.1.in:
18098 * tools/gst-inspect.1.in:
18099 * tools/gst-launch.1.in:
18100 * tools/gst-md5sum.1.in:
18101 * tools/gst-typefind.1.in:
18102 * tools/gst-xmlinspect.1.in:
18103 * tools/gst-xmllaunch.1.in:
18104 cleanup man-pages, remove reference to gst-register, document env-vars
18106 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18108 * gst/gstbuffer.c: (gst_buffer_span):
18109 gst_buffer_span should copy the timestamp of the first buffer
18110 if they were both originally overlapping subbuffers of the
18111 same parent, using the same logic as the 'slow copy' case.
18113 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18115 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18116 Need to awaken ALL the pads when we pop a buffer, otherwise
18117 collectpads only works when there is 2 input streams.
18119 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18121 * docs/random/ensonic/media-device-daemon.txt:
18122 more ideas (dbus)
18123 * gst/gstbuffer.c:
18124 fix doc example, add clarification
18125 * tools/gst-launch.1.in:
18126 add initial info about GST_PLUGIN_PATH, needs more work
18128 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18130 * docs/manual/basics-bins.xml:
18131 * docs/manual/basics-elements.xml:
18132 * docs/manual/intro-basics.xml:
18133 Some more minor docs additions and updates.
18135 2006-01-11 Wim Taymans <wim@fluendo.com>
18137 * docs/manual/basics-bins.xml:
18138 * docs/manual/basics-elements.xml:
18139 Some small fixes as pointed out by Ser-ver on IRC.
18141 2006-01-10 Edward Hervey <edward@fluendo.com>
18143 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18144 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18145 the single-segment mode.
18147 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18149 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18151 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18152 (gst_base_src_perform_seek), (gst_base_src_send_event),
18153 (gst_base_src_set_property), (gst_base_src_get_property),
18154 (gst_base_src_loop), (gst_base_src_start),
18155 (gst_base_src_activate_push):
18156 * libs/gst/base/gstbasesrc.h:
18157 Name (private) union; makes Sun's Forte compiler happy (#324900).
18159 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18161 * README:
18162 gst-register is gone.
18164 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18166 * gst/gstvalue.c: (_gst_value_initialize):
18167 make the G_TYPE_DATE instantiation work if debug is disabled
18169 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18171 * gst/gstmessage.c: (gst_message_parse_tag),
18172 (gst_message_parse_error), (gst_message_parse_warning):
18173 Don't crash when return location for error/warning debug
18174 string is NULL; add fact that return locations can be
18175 NULL to docs where appropriate.
18177 2006-01-05 Wim Taymans <wim@fluendo.com>
18179 * gst/gstplugin.c: (gst_plugin_load_file):
18180 Replace strdup by g_strdup.
18182 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18184 * docs/pwg/advanced-types.xml:
18185 fix doc borkage
18187 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18189 submitted by: Abel Cheung
18191 * po/LINGUAS:
18192 * po/zh_TW.po:
18193 Added Chinese (traditional) translation
18195 2006-01-04 Wim Taymans <wim@fluendo.com>
18197 * docs/manual/basics-pads.xml:
18198 * docs/plugins/Makefile.am:
18199 * docs/plugins/gstreamer-plugins-docs.sgml:
18200 * docs/plugins/gstreamer-plugins-sections.txt:
18201 * docs/pwg/advanced-clock.xml:
18202 * docs/pwg/advanced-scheduling.xml:
18203 * docs/pwg/advanced-types.xml:
18204 * plugins/elements/gstfdsink.c:
18205 * plugins/elements/gstfdsrc.c:
18206 * plugins/elements/gstfdsrc.h:
18207 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18208 * plugins/elements/gstidentity.h:
18209 * plugins/elements/gstqueue.h:
18210 * plugins/elements/gsttee.c:
18211 * plugins/elements/gsttee.h:
18212 * plugins/elements/gsttypefindelement.c:
18213 (gst_type_find_element_class_init):
18214 * plugins/elements/gsttypefindelement.h:
18215 Small updates to various docs.
18216 Added core plugins to docs.
18218 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18220 * common/gst.supp:
18221 add a suppression for liboil's uninitialized variable
18223 2006-01-02 James Livingston <jrl at ids dot org dot au>
18225 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18227 * gst/gstutils.h:
18228 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18229 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18230 compiler switch is being used (#325429).
18232 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18234 * gst/gstbin.c: (gst_bin_query):
18235 Disable duration query caching in bins until it gets
18236 fixed (see #324807).
18238 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18240 * tools/gst-inspect.c: (print_element_properties_info):
18241 Handle properties of POINTER and BOXED type.
18243 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18245 * gst/gst.c: (init_post):
18246 Init tags stuff and some other things before loading
18247 any static plugins (there may be other static plugins
18248 than just the GStreamer ones, and they may want to
18249 register their own tags or formats or whatever, and
18250 preferably without segfaulting).
18252 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18253 Print at least a warning in the debug logs if we drop a
18254 query just because we don't know how to adjust the value
18255 in the particular format.
18257 2005-12-24 David Schleef <ds@schleef.org>
18259 * tools/gstreamer-completion:
18260 Replacement for gst-complete written in sh and sed. Only
18261 completes names of features, but that's 90% of what I want
18262 it for. Properties are not available in registry.xml. (Maybe
18263 they should be...)
18265 === release 0.10.1 ===
18267 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18269 * configure.ac:
18270 releasing 0.10.1, "Nollaig chridheil"
18272 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18274 * docs/faq/cvs.xml:
18275 Add missing quote, should be make ERROR_CFLAGS="".
18277 2005-12-20 Wim Taymans <wim@fluendo.com>
18279 * docs/design/part-trickmodes.txt:
18280 More documentation on trickmodes.
18282 2005-12-20 Edward Hervey <edward@fluendo.com>
18284 * gst/gstcaps.c: (gst_static_caps_get_type):
18285 * gst/gstcaps.h:
18286 API addition: GST_TYPE_STATIC_CAPS
18287 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18288 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18289 * gst/gstpadtemplate.h:
18290 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18291 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18292 bindings.
18294 2005-12-18 Wim Taymans <wim@fluendo.com>
18296 * libs/gst/base/gstadapter.c:
18297 * libs/gst/base/gstadapter.h:
18298 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18299 (gst_base_sink_get_position):
18300 * libs/gst/base/gstbasesink.h:
18301 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18302 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18303 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18304 (gst_base_src_send_event), (gst_base_src_update_length),
18305 (gst_base_src_get_range), (gst_base_src_loop),
18306 (gst_base_src_start):
18307 * libs/gst/base/gstbasesrc.h:
18308 * libs/gst/base/gstbasetransform.h:
18309 * libs/gst/base/gstcollectpads.h:
18310 * libs/gst/base/gstpushsrc.c:
18311 * libs/gst/base/gstpushsrc.h:
18312 * libs/gst/dataprotocol/dataprotocol.c:
18313 * libs/gst/dataprotocol/dataprotocol.h:
18314 * libs/gst/net/gstnetclientclock.h:
18315 * libs/gst/net/gstnettimeprovider.h:
18316 Documentation updates.
18318 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18320 * docs/manual/basics-helloworld.xml:
18321 Remove superfluous closing bracket in helloworld example.
18323 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18325 * tools/gst-launch.1.in:
18326 Update gst-launch man page; add a section with useful
18327 environment variables. Fixes #323882.
18329 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18331 * gst/gst.c:
18332 * gst/gst_private.h:
18333 change some char* into char[]
18335 2005-12-16 Wim Taymans <wim@fluendo.com>
18337 * gst/gstregistryxml.c: (load_feature):
18338 Cleanups.
18339 Don't use g_object_unref on GstObjects so that we avoid
18340 leaks on unsafe glibs.
18342 2005-12-16 Wim Taymans <wim@fluendo.com>
18344 * gst/gstbin.c: (gst_bin_recalc_state):
18345 Small doc updates.
18347 2005-12-16 Wim Taymans <wim@fluendo.com>
18349 * common/check.mak:
18350 Added make forever target for check.
18352 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18354 * gst/gst.c: (init_post):
18355 make the registry cache file HOST_CPU-dependent
18357 2005-12-16 Andy Wingo <wingo@pobox.com>
18359 * plugins/elements/gstbufferstore.c
18360 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18361 return value.
18363 * tests/check/gst/gstobject.c
18364 (test_fake_object_name_threaded_unique): Pay attention to
18365 g_list_sort return value.
18367 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18369 * tools/gst-feedback-m.m:
18370 Update for 0.9/0.10 (fixes #323870).
18372 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18374 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18375 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18377 * tests/check/gst/gstminiobject.c: (my_foo_init),
18378 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18379 (test_value_collection), (gst_mini_object_suite):
18380 Add test to ensure refcounts end up as expected when passing
18381 GstMiniObjects through g_object_get() and g_object_set().
18383 2005-12-14 Julien MOUTTE <julien@moutte.net>
18385 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18386 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18387 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18388 of collectpads. This version removes a lot of races without
18389 touching API/ABI. Yay !
18391 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18393 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18394 Don't allow activation of a srcpad in pull_range if it has no
18395 getrange function.
18396 Change some debug statements to be a little clearer
18398 * plugins/elements/gsttypefindelement.c:
18399 (gst_type_find_handle_src_query):
18400 Check that we have a peer before executing queries thereupon.
18402 * tests/examples/metadata/read-metadata.c: (message_loop):
18403 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18404 immediately return us any available message with 0 timeout.
18406 2005-12-12 Michael Smith <msmith@fluendo.com>
18408 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18409 Don't unref factories after calling them.
18410 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18411 * plugins/elements/gsttypefindelement.c:
18412 (gst_type_find_element_chain):
18413 Free lists of factories after using them. Fixing typefinding memory
18414 leaks.
18416 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18418 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18419 (gst_plugin_feature_load):
18420 more meaningful debug output
18421 * configure.ac:
18422 * tests/Makefile.am:
18423 * tests/old/examples/Makefile.am:
18424 make make distcheck happy again
18426 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18428 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18429 Catch the special case where we are operating chain-based,
18430 but the downstream peer pad has no chain function. Emit a
18431 custom error message in this case instead of letting the
18432 core generate one implying that this is some sort of core
18433 bug. It's not, it just means that whatever got plugged
18434 into the pipeline downstream when we announced the type
18435 can only operate pull-based, while our source can only
18436 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18437 Error string has not been marked for translation yet, as
18438 it probably needs some more work first.
18440 (gst_type_find_element_get_best_possibility):
18441 Add helper function to find the best of all available
18442 found possibilities that qualify given the min. threshold.
18444 (gst_type_find_element_handle_event):
18445 Fix the case where we get an EOS while still in TYPEFIND
18446 mode (we want to chose the best of all possible types,
18447 not just the first type that happens to be in our unsorted
18448 list of possible types).
18450 (gst_type_find_element_chain):
18451 Make sure we return GST_FLOW_ERROR when we errored out
18452 in stop_typefinding(); also, don't just find the best of
18453 all found type entries and then use the last examined
18454 type entry, but actually use the best entry.
18456 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18458 * tests/examples/typefind/typefind.c: (type_found):
18459 * tests/examples/xml/runxml.c: (xml_loaded):
18460 More gcc4 fixes and a mem leak fix.
18462 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18464 * tests/examples/xml/createxml.c: (object_saved):
18465 gcc 4 fixes
18467 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18469 * tests/Makefile.am:
18470 enable the examples even more
18472 2005-12-12 Andy Wingo <wingo@pobox.com>
18474 * libs/gst/net/gstnettimeprovider.c
18475 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18476 (gst_net_time_provider_set_property)
18477 (gst_net_time_provider_get_property):
18478 API addition: Export "active" as a GObject property.
18479 (gst_net_time_provider_thread): Only respond to time queries if
18480 the time provider is active.
18482 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18483 NetTimeProvider, preserving binary compat.
18485 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18487 * tests/examples/controller/audio-example.c: (main):
18488 * tests/examples/launch/Makefile.am:
18489 convert comments again
18491 2005-12-12 Wim Taymans <wim@fluendo.com>
18493 * libs/gst/base/gstpushsrc.c:
18494 Fix typo.
18496 2005-12-12 Wim Taymans <wim@fluendo.com>
18498 * docs/libs/gstreamer-libs-sections.txt:
18499 Added new symbol to docs.
18501 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18502 (gst_base_src_init), (gst_base_src_set_format),
18503 (gst_base_src_default_query), (gst_base_src_query),
18504 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18505 (gst_base_src_perform_seek), (gst_base_src_send_event),
18506 (gst_base_src_default_event), (gst_base_src_event_handler),
18507 (gst_base_src_set_property), (gst_base_src_get_property),
18508 (gst_base_src_wait), (gst_base_src_do_sync),
18509 (gst_base_src_update_length), (gst_base_src_get_range),
18510 (gst_base_src_check_get_range), (gst_base_src_loop),
18511 (gst_base_src_default_negotiate), (gst_base_src_start),
18512 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18513 (gst_base_src_change_state):
18514 * libs/gst/base/gstbasesrc.h:
18515 Implement seeking to other formats than _BYTES.
18516 Implement more seeking methods correctly.
18517 Doc updates.
18518 Added query vmethod.
18519 Added do_seek vmethod to make life easier for subclasses
18520 when seeking.
18521 API addition: gst_base_src_set_format()
18523 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18525 * tests/examples/Makefile.am:
18526 added that too
18528 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18530 * configure.ac:
18531 * docs/random/ensonic/media-device-daemon.txt:
18532 * tests/examples/controller/.cvsignore:
18533 * tests/examples/controller/Makefile.am:
18534 * tests/examples/controller/audio-example.c: (main):
18535 * tests/examples/helloworld/.cvsignore:
18536 * tests/examples/helloworld/Makefile.am:
18537 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18538 * tests/examples/launch/.cvsignore:
18539 * tests/examples/launch/Makefile.am:
18540 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18541 * tests/examples/metadata/.cvsignore:
18542 * tests/examples/metadata/Makefile.am:
18543 * tests/examples/metadata/read-metadata.c: (message_loop),
18544 (make_pipeline), (print_tag), (main):
18545 * tests/examples/queue/.cvsignore:
18546 * tests/examples/queue/Makefile.am:
18547 * tests/examples/queue/queue.c: (event_loop), (main):
18548 * tests/examples/typefind/.cvsignore:
18549 * tests/examples/typefind/Makefile.am:
18550 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18551 (main):
18552 * tests/examples/xml/.cvsignore:
18553 * tests/examples/xml/Makefile.am:
18554 * tests/examples/xml/createxml.c: (object_saved), (main):
18555 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18556 * tests/old/examples/Makefile.am:
18557 * tests/old/examples/TODO:
18558 * tests/old/examples/controller/.cvsignore:
18559 * tests/old/examples/controller/Makefile.am:
18560 * tests/old/examples/controller/audio-example.c:
18561 * tests/old/examples/helloworld/.cvsignore:
18562 * tests/old/examples/helloworld/Makefile.am:
18563 * tests/old/examples/helloworld/helloworld.c:
18564 * tests/old/examples/launch/.cvsignore:
18565 * tests/old/examples/launch/Makefile.am:
18566 * tests/old/examples/launch/mp3parselaunch.c:
18567 * tests/old/examples/launch/mp3play:
18568 * tests/old/examples/manual/Makefile.am:
18569 * tests/old/examples/metadata/Makefile.am:
18570 * tests/old/examples/metadata/read-metadata.c:
18571 * tests/old/examples/queue/.cvsignore:
18572 * tests/old/examples/queue/Makefile.am:
18573 * tests/old/examples/queue/queue.c:
18574 * tests/old/examples/typefind/.cvsignore:
18575 * tests/old/examples/typefind/Makefile.am:
18576 * tests/old/examples/typefind/typefind.c:
18577 * tests/old/examples/xml/.cvsignore:
18578 * tests/old/examples/xml/Makefile.am:
18579 * tests/old/examples/xml/createxml.c:
18580 * tests/old/examples/xml/runxml.c:
18581 applied some simple fixing to some examples
18582 re-enabled the working examples
18584 2005-12-12 Wim Taymans <wim@fluendo.com>
18586 * gst/gstsegment.c: (gst_segment_init),
18587 (gst_segment_set_last_stop), (gst_segment_set_seek),
18588 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18589 (gst_segment_to_running_time):
18590 Added more documentation.
18591 Make sure the last_pos value is updated properly.
18592 Make sure to_stream_time and to_running_time don't
18593 operate on wrong values.
18595 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18596 Update check.
18598 2005-12-12 Michael Smith <msmith@fluendo.com>
18600 * plugins/elements/gsttypefindelement.c: (free_entry),
18601 (gst_type_find_element_chain):
18602 Now that we're not leaking factories, make sure we keep references
18603 to them while we need them.
18605 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18607 * tests/check/gst/struct_i386.h:
18608 ifdef out the XML structs
18610 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18612 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18613 floor is not needed, F is always positive; this obviates the
18614 need for adding -lm when building without libxml
18616 2005-12-12 Wim Taymans <wim@fluendo.com>
18618 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18619 Take current playback rate into account when reporting
18620 the position.
18622 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18624 * docs/manual/mime-world.fig:
18625 Let's try this again, this time with a file that is
18626 actually in XFig format.
18628 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18630 * docs/manual/mime-world.fig:
18631 Add audioconvert element to diagram so that it
18632 matches the text and the code (fixes #319526).
18634 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18636 * docs/pwg/building-chainfn.xml:
18637 * docs/pwg/building-pads.xml:
18638 * docs/pwg/building-state.xml:
18639 * docs/pwg/other-source.xml:
18640 Update state change stuff for 0.10 (fixes #322969).
18642 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18644 * docs/manual/advanced-dataaccess.xml:
18645 * docs/manual/appendix-checklist.xml:
18646 * docs/manual/appendix-programs.xml:
18647 * docs/manual/basics-pads.xml:
18648 * docs/manual/highlevel-components.xml:
18649 * docs/manual/manual.xml:
18650 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18651 add converters in front of pipelines; remove curly
18652 brackets for threads stuff, they no longer exist; use
18653 GST_TYPE_FRACTION for framerates; update some pieces of
18654 code to 0.10, but there's plenty more to do.
18656 * docs/manual/appendix-porting.xml:
18657 Expand on asynchroneous state changes; s/0.9/0.10/;
18658 mention disappearance of gst_init_get_popt_table()
18659 (fixes #322916).
18661 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18663 * docs/faq/using.xml:
18664 Spider no longer exists, and neither does gst-launch-ext.
18665 Update examples to use decodebin and playbin and put
18666 converters in front of sinks (fixes #323726).
18668 2005-12-09 Michael Smith <msmith@fluendo.com>
18670 * plugins/elements/gsttypefindelement.c: (find_peek),
18671 (gst_type_find_element_chain):
18672 Fix leaking element factories in typefinding.
18673 Fix problem where we forgot about a probable type on non-seekable
18674 files, and thus later mis-typefound it.
18676 2005-12-09 Michael Smith <msmith@fluendo.com>
18678 * common/m4/gst-makecontext.m4:
18679 * common/m4/gst-mcsc.m4:
18680 * configure.ac:
18681 * win32/common/config.h:
18682 * win32/common/config.h.in:
18683 Remove makecontext stuff; not used in 0.10 and causes problems on
18684 HPUX according to bug #322441
18686 2005-12-07 Wim Taymans <wim@fluendo.com>
18688 * tests/check/Makefile.am:
18689 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18690 (main):
18691 * tests/check/libs/struct_i386.h:
18692 Added ABI check for libs
18694 2005-12-07 Wim Taymans <wim@fluendo.com>
18696 * tests/check/Makefile.am:
18697 And add the struct_i386.h to dist.
18699 2005-12-07 Wim Taymans <wim@fluendo.com>
18701 * tests/check/Makefile.am:
18702 * tests/check/gst/.cvsignore:
18703 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18704 (main):
18705 * tests/check/gst/struct_i386.h:
18706 Added check for ABI compatibility.
18708 2005-12-07 Wim Taymans <wim@fluendo.com>
18710 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18711 (gst_fake_src_get_times), (gst_fake_src_create):
18712 Fix broken sync option, fixes #323259
18714 2005-12-07 Wim Taymans <wim@fluendo.com>
18716 * gst/gstbuffer.c:
18717 Small docs update.
18719 * gst/gstcaps.c: (gst_caps_is_equal):
18720 Don't assert on NULL <--> X. Fixes #323260
18722 * gst/gstminiobject.c: (gst_mini_object_replace):
18723 If we're doing atomic operations, we might just as well use
18724 the proper way to get an atomic pointer.
18726 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18727 Clean up debugging.
18729 2005-12-07 Michael Smith <msmith@fluendo.com>
18731 * gst/parse/grammar.y:
18732 Remove handling of { } for threads.
18734 2005-12-06 David Schleef <ds@schleef.org>
18736 * libs/gst/base/gstbasetransform.c: speling fix.
18738 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18740 * docs/libs/tmpl/gstdataprotocol.sgml:
18741 * docs/random/omega/testing/gstobject.c:
18742 * gst/gst.c:
18743 * gst/gstclock.c:
18744 * gst/gstelement.c:
18745 * gst/gstelementfactory.c:
18746 * gst/gsterror.c:
18747 * gst/gstevent.c:
18748 * gst/gstghostpad.c:
18749 * gst/gstinfo.c:
18750 * gst/gstpadtemplate.c:
18751 * gst/gstregistryxml.c:
18752 * gst/gsttaglist.c:
18753 * gst/gsttagsetter.c:
18754 * gst/gsttypefind.c:
18755 * gst/gstvalue.c:
18756 * libs/gst/base/gstbasesrc.c:
18757 * libs/gst/net/gstnetclientclock.c:
18758 * libs/gst/net/gstnettimeprovider.c:
18759 * plugins/elements/gstfakesrc.c:
18760 * plugins/elements/gstfdsrc.c:
18761 * plugins/elements/gstfilesrc.c:
18762 * plugins/elements/gstidentity.c:
18763 * plugins/elements/gstqueue.c:
18764 * plugins/elements/gsttypefindelement.c:
18765 * plugins/indexers/gstfileindex.c:
18766 * plugins/indexers/gstmemindex.c:
18767 * tests/check/gst/gsttag.c:
18768 * tests/old/examples/cutter/cutter.c:
18769 * tests/old/examples/mixer/mixer.c:
18770 * tests/old/examples/xml/runxml.c: (main):
18771 * tests/old/testsuite/caps/normalisation.c:
18772 * tests/old/testsuite/debug/global.c:
18773 * tests/old/testsuite/parse/parse1.c:
18774 * tools/gst-xmlinspect.c:
18775 * win32/common/dirent.c:
18776 expand tabs
18778 === release 0.10.0 ===
18780 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18782 * configure.ac:
18783 releasing 0.10.0, "Maroilles"
18785 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18787 submitted by: Funda Wang <fundawang@linux.net.cn>
18789 * po/LINGUAS:
18790 * po/zh_CN.po:
18791 added Chinese (Traditional) translation
18793 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18795 * docs/gst/gstreamer-sections.txt:
18796 * docs/libs/tmpl/gstdataprotocol.sgml:
18797 * docs/random/thomasvs/TODO:
18798 * gst/gstutils.c:
18799 * gst/gstutils.h:
18800 fix docs
18802 2005-12-05 Andy Wingo <wingo@pobox.com>
18804 patch by: Wim Taymans <wim@fluendo.com>
18806 * libs/gst/base/gstbasetransform.c
18807 (gst_base_transform_prepare_output_buf)
18808 (gst_base_transform_buffer_alloc):
18809 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18810 alloc_buffer_and_set_caps.
18812 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18813 set_caps on the source pad.
18814 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18815 alloc_buffer used to do. Fixes #322874.
18817 * docs/gst/gstreamer-sections.txt:
18818 * docs/design/part-negotiation.txt:
18819 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18820 changes.
18822 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18824 patch by: Sebastien Moutte
18826 * win32/MANIFEST:
18827 * win32/common/config.h.in:
18828 * win32/vs6/libgstcontroller.dsp:
18829 win32 build fixes
18831 2005-12-05 Wim Taymans <wim@fluendo.com>
18833 * gst/gstcaps.c: (gst_caps_is_equal):
18834 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18835 (gst_fake_src_create):
18836 Back out previous code changes, leave doc updates, file bugs
18837 instead.
18839 2005-12-05 Wim Taymans <wim@fluendo.com>
18841 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18842 (gst_fake_src_get_times), (gst_fake_src_create):
18843 * plugins/elements/gstfakesrc.h:
18844 Fix broken sync code.
18846 2005-12-05 Wim Taymans <wim@fluendo.com>
18848 * gst/gstcaps.c: (gst_caps_is_equal):
18849 Comparing NULL against !NULL yields different caps, not a
18850 failure.
18852 2005-12-05 Wim Taymans <wim@fluendo.com>
18854 * gst/gstpipeline.c:
18855 Fix small typo in docs.
18857 2005-12-05 Andy Wingo <wingo@pobox.com>
18859 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18861 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18862 registries/plugins with a MAJORMINOR one.
18863 (plugin_desc): Rename library from gstcoreleements to
18864 staticelements. Fixes #323222.
18866 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18868 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18869 Change debug category to 'collectpads' from 'collect_pads'
18870 (fixes #323250).
18872 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18874 patch by: Sebastien Moutte
18876 * libs/gst/controller/gstinterpolation.c:
18877 use convert function for uint64/double
18878 * win32/vs6/libgstcontroller.dsp:
18879 link to GLib
18881 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18883 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18884 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18885 * gst/gstutils.h:
18886 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18887 add tests that seem to show that the guint64/gdouble conversions
18888 are correct.
18890 2005-12-02 Wim Taymans <wim@fluendo.com>
18892 * gst/gstregistry.c: (gst_registry_add_path):
18893 * gst/gstregistry.h:
18894 * gst/gstregistryxml.c:
18895 Fix docs again.
18897 2005-12-02 Wim Taymans <wim@fluendo.com>
18899 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18900 (gst_util_uint64_scale_int):
18901 Small cleanup.
18903 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18904 Add debug log line.
18906 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18907 Add FIXME.
18909 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18911 * win32/MANIFEST:
18912 * win32/common/config.h:
18913 * win32/vs6/gstreamer.dsw:
18914 * win32/vs6/libgstcoreelements.dsp:
18915 * win32/vs6/libgstelements.dsp:
18916 renamed core elements plugin
18918 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18920 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18921 (get_candidates):
18922 do piece-wise major/minor comparison so 0.9 < 0.10
18923 also allow .exe extensions for tools
18925 2005-12-02 Michael Smith <msmith@fluendo.com>
18927 * gst/gst.c:
18928 Escape a % to make gtkdoc happier; bug 322958.
18930 === release 0.9.7 ===
18932 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18934 * configure.ac:
18935 releasing 0.9.7, "My Dog Has No Nose"
18937 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18939 * common/gst-xmlinspect.py:
18940 * configure.ac:
18941 * docs/libs/tmpl/gstdataprotocol.sgml:
18942 * docs/random/release:
18943 * po/af.po:
18944 * po/az.po:
18945 * po/bg.po:
18946 * po/ca.po:
18947 * po/cs.po:
18948 * po/de.po:
18949 * po/en_GB.po:
18950 * po/fr.po:
18951 * po/it.po:
18952 * po/nb.po:
18953 * po/nl.po:
18954 * po/ru.po:
18955 * po/sq.po:
18956 * po/sr.po:
18957 * po/sv.po:
18958 * po/tr.po:
18959 * po/uk.po:
18960 * po/vi.po:
18961 * win32/common/config.h:
18962 * win32/common/config.h.in:
18963 * win32/vs6/gst_inspect.dsp:
18964 * win32/vs6/gst_launch.dsp:
18965 * win32/vs6/libgstbase.dsp:
18966 * win32/vs6/libgstelements.dsp:
18967 * win32/vs6/libgstreamer.dsp:
18968 * win32/vs7/GStreamer.vcproj:
18969 * win32/vs7/gst-inspect.vcproj:
18970 * win32/vs7/gst-launch.vcproj:
18971 * win32/vs7/libgstbase.vcproj:
18972 bump GST_MAJORMINOR to 0.10
18973 reset libtool version
18975 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18977 * po/LINGUAS:
18978 * po/bg.po:
18979 Added Bulgarian translation by (Alexander Shopov)
18981 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18983 * tests/check/gst/gstplugin.c:
18984 fix test
18986 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18988 * common/gst-xmlinspect.py:
18989 * common/gtk-doc-plugins.mak:
18990 * configure.ac:
18991 * docs/Makefile.am:
18992 * docs/gst/Makefile.am:
18993 * docs/gst/gstreamer-docs.sgml:
18994 * docs/gst/gstreamer-sections.txt:
18995 * docs/gst/gstreamer.types:
18996 * docs/gst/gstreamer.types.in:
18997 * docs/plugins/Makefile.am:
18998 * docs/plugins/gstreamer-plugins-docs.sgml:
18999 * docs/plugins/gstreamer-plugins-sections.txt:
19000 * docs/plugins/gstreamer-plugins.types:
19001 * docs/plugins/inspect.stamp:
19002 * docs/plugins/inspect/plugin-coreelements.xml:
19003 * docs/plugins/inspect/plugin-coreindexers.xml:
19004 * docs/plugins/scanobj-build.stamp:
19005 * gstreamer.spec.in:
19006 * plugins/elements/Makefile.am:
19007 * plugins/elements/gstelements.c:
19008 * plugins/elements/gstfakesink.c:
19009 * plugins/elements/gstfakesrc.c:
19010 * plugins/elements/gstfilesink.c:
19011 * plugins/elements/gstfilesrc.c:
19012 * plugins/elements/gstqueue.c:
19013 * plugins/indexers/Makefile.am:
19014 * plugins/indexers/gstindexers.c:
19015 document core plugins in a separate document just like all the
19016 others
19017 rename these plugins to something starting with core
19019 2005-12-01 Andy Wingo <wingo@pobox.com>
19021 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
19022 padding here before, but it missed the commit.
19024 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19026 * libs/gst/controller/gstinterpolation.c:
19027 whitespace prices have crashed, we should feel free to use some now
19028 use gst_guint64_to_gdouble
19030 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19032 * libs/gst/controller/gstcontroller.c:
19033 * libs/gst/controller/gsthelper.c:
19034 * libs/gst/controller/gstinterpolation.c:
19035 * libs/gst/controller/lib.c:
19036 wrap config.h include
19038 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19040 * docs/gst/gstreamer-sections.txt:
19041 update docs
19043 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
19045 * plugins/elements/gstelements.c:
19046 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
19047 (gst_fd_sink__class_init), (gst_fd_sink__init),
19048 (gst_fd_sink__chain), (gst_fd_sink__set_property),
19049 (gst_fd_sink__get_property):
19050 * plugins/elements/gstfdsink.h:
19051 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
19052 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
19053 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
19054 (gst_fd_src_unlock), (gst_fd_src_set_property),
19055 (gst_fd_src_get_property), (gst_fd_src_create),
19056 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
19057 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
19058 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
19059 (gst_fd_src_uri_handler_init):
19060 * plugins/elements/gstfdsrc.h:
19061 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19062 more anal cleanup
19064 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19066 * docs/gst/Makefile.am:
19067 * docs/gst/gstreamer.types.in:
19068 * gst/Makefile.am:
19069 fix the docs build
19071 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19073 * configure.ac:
19074 * gst/Makefile.am:
19075 * gst/gst.c:
19076 * gst/gstplugin.h:
19077 * gst/gstregistry.h:
19078 * tests/benchmarks/complexity.c:
19079 * tests/benchmarks/mass-elements.c:
19080 * tests/check/Makefile.am:
19081 * tools/Makefile.am:
19082 * tools/gst-inspect.c:
19083 * tools/gst-xmlinspect.c:
19084 various fixes to make
19085 --disable-nls --disable-registry --disable-loadsave
19086 --disable-parse --disable-gst-debug
19087 work and get the core .so down to 360444 bytes after stripping
19089 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19091 * Makefile.am:
19092 * configure.ac:
19093 descend into tests
19094 * docs/random/thomasvs/TODO:
19095 * tests/Makefile.am:
19096 * tests/README:
19097 add a README
19099 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19101 * win32/GStreamer.vcproj:
19102 * win32/MANIFEST:
19103 * win32/Makefile:
19104 * win32/Makefile.inspect:
19105 * win32/Makefile.launch:
19106 * win32/Makefile.register:
19107 * win32/README.txt:
19108 * win32/gst-inspect.vcproj:
19109 * win32/gst-launch.vcproj:
19110 * win32/gst-register.vcproj:
19111 * win32/gstelements.vcproj:
19112 * win32/gstgetbits.def:
19113 * win32/gstgetbits.vcproj:
19114 * win32/gstreamer-dbg.def:
19115 * win32/gstreamer.def:
19116 * win32/libgstbase.def:
19117 * win32/libgstbase.vcproj:
19118 * win32/link_oldruntime.c:
19119 * win32/mman.c:
19120 * win32/mman.h:
19121 * win32/mman.inl:
19122 * win32/msvc71.sln:
19123 move even more stuff, win32/ is nice and clean now
19125 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19127 * libs/gst/control/.cvsignore:
19128 * win32/MANIFEST:
19129 * win32/config.h:
19130 * win32/dirent.c:
19131 * win32/dirent.h:
19132 * win32/gstbytestream.def:
19133 * win32/gstbytestream.vcproj:
19134 * win32/gstconfig.h:
19135 * win32/gstenumtypes.c:
19136 * win32/gstenumtypes.h:
19137 * win32/gstoptimalscheduler.vcproj:
19138 * win32/gstversion.h:
19139 * win32/gtchar.h:
19140 * win32/testsuite/bins.vcproj:
19141 * win32/testsuite/bytestream.vcproj:
19142 * win32/testsuite/caps.vcproj:
19143 * win32/testsuite/cleanup.vcproj:
19144 * win32/testsuite/clock.vcproj:
19145 * win32/testsuite/debug.vcproj:
19146 * win32/testsuite/dlopen.vcproj:
19147 * win32/testsuite/dynparams.vcproj:
19148 * win32/testsuite/elements.vcproj:
19149 * win32/testsuite/ghostpads.vcproj:
19150 * win32/testsuite/indexers.vcproj:
19151 * win32/testsuite/negotiation.vcproj:
19152 * win32/testsuite/parse.vcproj:
19153 * win32/testsuite/plugin.vcproj:
19154 * win32/testsuite/refcounting.vcproj:
19155 * win32/testsuite/schedulers.vcproj:
19156 * win32/testsuite/states.vcproj:
19157 * win32/testsuite/tags.vcproj:
19158 * win32/testsuite/threads.vcproj:
19159 remove old win32 stuff that isn't maintained and should be
19160 reorganized
19162 2005-11-30 Andy Wingo <wingo@pobox.com>
19164 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19165 loading the gst.interfaces python module bork.
19167 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19168 available since GLib 2.2. Fixes #318031.
19170 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19172 * Makefile.am:
19173 * check/.cvsignore:
19174 * check/Makefile.am:
19175 * check/elements/.cvsignore:
19176 * check/elements/fakesrc.c:
19177 * check/elements/fdsrc.c:
19178 * check/elements/identity.c:
19179 * check/generic/.cvsignore:
19180 * check/generic/states.c:
19181 * check/gst-libs/.cvsignore:
19182 * check/gst-libs/controller.c:
19183 * check/gst-libs/gdp.c:
19184 * check/gst/.cvsignore:
19185 * check/gst/capslist.h:
19186 * check/gst/gst.c:
19187 * check/gst/gstbin.c:
19188 * check/gst/gstbuffer.c:
19189 * check/gst/gstbus.c:
19190 * check/gst/gstcaps.c:
19191 * check/gst/gstelement.c:
19192 * check/gst/gstevent.c:
19193 * check/gst/gstghostpad.c:
19194 * check/gst/gstiterator.c:
19195 * check/gst/gstmessage.c:
19196 * check/gst/gstminiobject.c:
19197 * check/gst/gstobject.c:
19198 * check/gst/gstpad.c:
19199 * check/gst/gstpipeline.c:
19200 * check/gst/gstplugin.c:
19201 * check/gst/gstsegment.c:
19202 * check/gst/gststructure.c:
19203 * check/gst/gstsystemclock.c:
19204 * check/gst/gsttag.c:
19205 * check/gst/gstutils.c:
19206 * check/gst/gstvalue.c:
19207 * check/net/.cvsignore:
19208 * check/net/gstnetclientclock.c:
19209 * check/net/gstnettimeprovider.c:
19210 * check/pipelines/.cvsignore:
19211 * check/pipelines/cleanup.c:
19212 * check/pipelines/simple_launch_lines.c:
19213 * check/pipelines/stress.c:
19214 * check/states/.cvsignore:
19215 * check/states/sinks.c:
19216 * configure.ac:
19217 * examples/Makefile.am:
19218 * examples/appreader/.cvsignore:
19219 * examples/appreader/Makefile.am:
19220 * examples/appreader/appreader.c:
19221 * examples/controller/.cvsignore:
19222 * examples/controller/Makefile.am:
19223 * examples/controller/audio-example.c:
19224 * examples/cutter/.cvsignore:
19225 * examples/cutter/Makefile.am:
19226 * examples/cutter/cutter.c:
19227 * examples/cutter/cutter.h:
19228 * examples/events/Makefile.am:
19229 * examples/events/seek.c:
19230 * examples/helloworld/.cvsignore:
19231 * examples/helloworld/Makefile.am:
19232 * examples/helloworld/helloworld.c:
19233 * examples/helloworld2/.cvsignore:
19234 * examples/helloworld2/Makefile.am:
19235 * examples/helloworld2/helloworld2.c:
19236 * examples/launch/.cvsignore:
19237 * examples/launch/Makefile.am:
19238 * examples/launch/mp3parselaunch.c:
19239 * examples/launch/mp3play:
19240 * examples/manual/.cvsignore:
19241 * examples/manual/Makefile.am:
19242 * examples/manual/extract.pl:
19243 * examples/metadata/Makefile.am:
19244 * examples/metadata/read-metadata.c:
19245 * examples/mixer/.cvsignore:
19246 * examples/mixer/Makefile.am:
19247 * examples/mixer/mixer.c:
19248 * examples/mixer/mixer.h:
19249 * examples/pingpong/.cvsignore:
19250 * examples/pingpong/Makefile.am:
19251 * examples/pingpong/pingpong.c:
19252 * examples/plugins/.cvsignore:
19253 * examples/plugins/Makefile.am:
19254 * examples/plugins/example.c:
19255 * examples/plugins/example.h:
19256 * examples/pwg/.cvsignore:
19257 * examples/pwg/Makefile.am:
19258 * examples/pwg/extract.pl:
19259 * examples/queue/.cvsignore:
19260 * examples/queue/Makefile.am:
19261 * examples/queue/queue.c:
19262 * examples/queue2/.cvsignore:
19263 * examples/queue2/Makefile.am:
19264 * examples/queue2/queue2.c:
19265 * examples/queue3/.cvsignore:
19266 * examples/queue3/Makefile.am:
19267 * examples/queue3/queue3.c:
19268 * examples/queue4/.cvsignore:
19269 * examples/queue4/Makefile.am:
19270 * examples/queue4/queue4.c:
19271 * examples/retag/.cvsignore:
19272 * examples/retag/Makefile.am:
19273 * examples/retag/retag.c:
19274 * examples/retag/transcode.c:
19275 * examples/thread/.cvsignore:
19276 * examples/thread/Makefile.am:
19277 * examples/thread/thread.c:
19278 * examples/typefind/.cvsignore:
19279 * examples/typefind/Makefile.am:
19280 * examples/typefind/typefind.c:
19281 * examples/xml/.cvsignore:
19282 * examples/xml/Makefile.am:
19283 * examples/xml/createxml.c:
19284 * examples/xml/runxml.c:
19285 * tests/Makefile.am:
19286 * tests/check/Makefile.am:
19287 * testsuite/.cvsignore:
19288 * testsuite/Makefile.am:
19289 * testsuite/Rules:
19290 * testsuite/caps/.cvsignore:
19291 * testsuite/caps/Makefile.am:
19292 * testsuite/caps/app_fixate.c:
19293 * testsuite/caps/audioscale.c:
19294 * testsuite/caps/caps.c:
19295 * testsuite/caps/caps.h:
19296 * testsuite/caps/caps_strings:
19297 * testsuite/caps/compatibility.c:
19298 * testsuite/caps/deserialize.c:
19299 * testsuite/caps/enumcaps.c:
19300 * testsuite/caps/eratosthenes.c:
19301 * testsuite/caps/filtercaps.c:
19302 * testsuite/caps/fixed.c:
19303 * testsuite/caps/fraction-convert.c:
19304 * testsuite/caps/fraction-multiply-and-zero.c:
19305 * testsuite/caps/intersect2.c:
19306 * testsuite/caps/intersection.c:
19307 * testsuite/caps/normalisation.c:
19308 * testsuite/caps/random.c:
19309 * testsuite/caps/renegotiate.c:
19310 * testsuite/caps/sets.c:
19311 * testsuite/caps/simplify.c:
19312 * testsuite/caps/string-conversions.c:
19313 * testsuite/caps/structure.c:
19314 * testsuite/caps/subtract.c:
19315 * testsuite/caps/union.c:
19316 * testsuite/debug/.cvsignore:
19317 * testsuite/debug/Makefile.am:
19318 * testsuite/debug/category.c:
19319 * testsuite/debug/commandline.c:
19320 * testsuite/debug/global.c:
19321 * testsuite/debug/output.c:
19322 * testsuite/debug/printf_extension.c:
19323 * testsuite/dlopen/.cvsignore:
19324 * testsuite/dlopen/Makefile.am:
19325 * testsuite/dlopen/dlopen_gst.c:
19326 * testsuite/dlopen/loadgst.c:
19327 * testsuite/elements/.cvsignore:
19328 * testsuite/elements/Makefile.am:
19329 * testsuite/elements/gst-inspect-check.in:
19330 * testsuite/elements/struct_i386.h:
19331 * testsuite/elements/struct_size.c:
19332 * testsuite/indexers/.cvsignore:
19333 * testsuite/indexers/Makefile.am:
19334 * testsuite/indexers/cache1.c:
19335 * testsuite/indexers/indexdump.c:
19336 * testsuite/parse/.cvsignore:
19337 * testsuite/parse/Makefile.am:
19338 * testsuite/parse/parse1.c:
19339 * testsuite/parse/parse2.c:
19340 * testsuite/plugin/.cvsignore:
19341 * testsuite/plugin/Makefile.am:
19342 * testsuite/plugin/README:
19343 * testsuite/plugin/dynamic.c:
19344 * testsuite/plugin/linked.c:
19345 * testsuite/plugin/loading.c:
19346 * testsuite/plugin/registry.c:
19347 * testsuite/plugin/static.c:
19348 * testsuite/plugin/static2.c:
19349 * testsuite/plugin/testplugin.c:
19350 * testsuite/plugin/testplugin2.c:
19351 * testsuite/plugin/testplugin2_s.c:
19352 * testsuite/plugin/testplugin_s.c:
19353 * testsuite/refcounting/.cvsignore:
19354 * testsuite/refcounting/Makefile.am:
19355 * testsuite/refcounting/bin.c:
19356 * testsuite/refcounting/element.c:
19357 * testsuite/refcounting/element_pad.c:
19358 * testsuite/refcounting/mainloop.c:
19359 * testsuite/refcounting/mem.c:
19360 * testsuite/refcounting/mem.h:
19361 * testsuite/refcounting/object.c:
19362 * testsuite/refcounting/pad.c:
19363 * testsuite/refcounting/sched.c:
19364 * testsuite/refcounting/thread.c:
19365 * testsuite/states/.cvsignore:
19366 * testsuite/states/Makefile.am:
19367 * testsuite/states/bin.c:
19368 * testsuite/states/locked.c:
19369 * testsuite/states/parent.c:
19370 * testsuite/threads/.cvsignore:
19371 * testsuite/threads/159566.c:
19372 * testsuite/threads/159852.c:
19373 * testsuite/threads/Makefile.am:
19374 * testsuite/threads/queue.c:
19375 * testsuite/threads/signals.c:
19376 * testsuite/threads/staticrec.c:
19377 * testsuite/threads/thread.c:
19378 * testsuite/threads/threadb.c:
19379 * testsuite/threads/threadc.c:
19380 * testsuite/threads/threadd.c:
19381 * testsuite/threads/threade.c:
19382 * testsuite/threads/threadf.c:
19383 * testsuite/threads/threadg.c:
19384 * testsuite/threads/threadh.c:
19385 * testsuite/threads/threadi.c:
19386 move all of these under tests
19388 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19390 * configure.ac:
19391 * tests/Makefile.am:
19392 fix distcheck
19394 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19396 * docs/gst/gstreamer-sections.txt:
19397 * tests/sched/.cvsignore:
19398 * tests/sched/Makefile.am:
19399 * tests/sched/cases/(fs-fs).xml:
19400 * tests/sched/cases/(fs-i-fs).xml:
19401 * tests/sched/cases/(fs-i-i-fs).xml:
19402 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19403 * tests/sched/dynamic-pipeline.c:
19404 * tests/sched/interrupt1.c:
19405 * tests/sched/interrupt2.c:
19406 * tests/sched/interrupt3.c:
19407 * tests/sched/runtestcases:
19408 * tests/sched/runxml.c:
19409 * tests/sched/sched-stress.c:
19410 * tests/sched/sort.c:
19411 * tests/sched/testcases:
19412 * tests/sched/testcases1.tc:
19413 * tests/seeking/.cvsignore:
19414 * tests/seeking/Makefile.am:
19415 * tests/seeking/seeking1.c:
19416 * tests/threadstate/.cvsignore:
19417 * tests/threadstate/Makefile.am:
19418 * tests/threadstate/test1.c:
19419 * tests/threadstate/test2.c:
19420 * tests/threadstate/threadstate1.c:
19421 * tests/threadstate/threadstate2.c:
19422 * tests/threadstate/threadstate3.c:
19423 * tests/threadstate/threadstate4.c:
19424 * tests/threadstate/threadstate5.c:
19425 remove obsolete tests
19426 * configure.ac:
19427 * tests/bench-complexity.scm:
19428 * tests/bench-mass_elements.scm:
19429 * tests/complexity.c:
19430 * tests/complexity.gnuplot:
19431 * tests/instantiate/.cvsignore:
19432 * tests/instantiate/Makefile.am:
19433 * tests/instantiate/caps.c:
19434 * tests/mass_elements.c:
19435 * tests/network-clock-utils.scm:
19436 * tests/network-clock.scm:
19437 * tests/plot-data:
19438 First pass at cleaning up tests/ dir before moving the rest
19439 Combined with CVS surgery
19441 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19443 * po/POTFILES.in:
19444 queue has moved, update
19446 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19448 * docs/gst/gstreamer-sections.txt:
19449 remove double entries from the docs
19450 * gst/gst_private.h:
19451 * gst/gstinfo.c: (_gst_debug_init):
19452 remove the THREAD debug category
19453 * gst/Makefile.am:
19454 * gst/gstqueue.c:
19455 * gst/gstqueue.h:
19456 * docs/gst/gstreamer.types:
19457 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19458 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19459 completely move queue and fix up debugging categories
19461 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19463 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19464 make initialization portable, using LL is not
19466 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19468 * win32/common/gstconfig.h:
19469 add large padding
19471 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19473 * win32/common/libgstreamer.def:
19474 rename symbols; sort base section
19476 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19478 * gst/gstclock.c: (do_linear_regression):
19479 remove crack non-portable handrolled DEBUG macro
19481 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19483 * docs/random/release:
19484 update notes
19485 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19486 (gst_object_flags_get_type), (register_gst_bin_flags),
19487 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19488 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19489 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19490 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19491 (gst_caps_flags_get_type), (register_gst_clock_return),
19492 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19493 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19494 (gst_clock_flags_get_type), (register_gst_state),
19495 (gst_state_get_type), (register_gst_state_change_return),
19496 (gst_state_change_return_get_type), (register_gst_state_change),
19497 (gst_state_change_get_type), (register_gst_element_flags),
19498 (gst_element_flags_get_type), (register_gst_core_error),
19499 (gst_core_error_get_type), (register_gst_library_error),
19500 (gst_library_error_get_type), (register_gst_resource_error),
19501 (gst_resource_error_get_type), (register_gst_stream_error),
19502 (gst_stream_error_get_type), (register_gst_event_type_flags),
19503 (gst_event_type_flags_get_type), (register_gst_event_type),
19504 (gst_event_type_get_type), (register_gst_seek_type),
19505 (gst_seek_type_get_type), (register_gst_seek_flags),
19506 (gst_seek_flags_get_type), (register_gst_format),
19507 (gst_format_get_type), (register_gst_index_certainty),
19508 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19509 (gst_index_entry_type_get_type),
19510 (register_gst_index_lookup_method),
19511 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19512 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19513 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19514 (gst_index_flags_get_type), (register_gst_debug_level),
19515 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19516 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19517 (gst_iterator_result_get_type), (register_gst_iterator_item),
19518 (gst_iterator_item_get_type), (register_gst_message_type),
19519 (gst_message_type_get_type), (register_gst_mini_object_flags),
19520 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19521 (gst_pad_link_return_get_type), (register_gst_flow_return),
19522 (gst_flow_return_get_type), (register_gst_activate_mode),
19523 (gst_activate_mode_get_type), (register_gst_pad_direction),
19524 (gst_pad_direction_get_type), (register_gst_pad_flags),
19525 (gst_pad_flags_get_type), (register_gst_pad_presence),
19526 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19527 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19528 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19529 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19530 (gst_plugin_flags_get_type), (register_gst_rank),
19531 (gst_rank_get_type), (register_gst_query_type),
19532 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19533 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19534 (gst_tag_flag_get_type), (register_gst_task_state),
19535 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19536 (gst_alloc_trace_flags_get_type),
19537 (register_gst_type_find_probability),
19538 (gst_type_find_probability_get_type), (register_gst_uri_type),
19539 (gst_uri_type_get_type), (register_gst_parse_error),
19540 (gst_parse_error_get_type):
19541 * win32/common/gstenumtypes.h:
19542 * win32/common/gstversion.h:
19543 update visual studio generated files
19545 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19547 * win32/vs6/libgstbase.dsp:
19548 * win32/vs6/libgstelements.dsp:
19549 update project files for new locations
19551 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19553 * Makefile.am:
19554 remove some files
19555 * README:
19556 reinstate and update
19557 * DEVEL:
19558 * REQUIREMENTS:
19559 removed
19560 * LICENSE:
19561 * docs/random/LICENSE:
19562 moved to random
19564 2005-11-30 Edward Hervey <edward@fluendo.com>
19566 * gst/gsttypefind.c: (gst_type_find_register):
19567 * gst/gsttypefind.h:
19568 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19569 (gst_type_find_factory_dispose):
19570 * gst/gsttypefindfactory.h:
19571 Fix memory leak in GstTypeFindFactory.
19573 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19575 * gst/gst.c:
19576 * plugins/elements/Makefile.am:
19577 * plugins/elements/gstelements.c:
19578 * plugins/elements/gstqueue.c:
19579 move queue from core to the elements plugin
19581 2005-11-29 Andy Wingo <wingo@pobox.com>
19583 * libs/gst/base/gstbasetransform.h:
19584 * libs/gst/base/gstbasesrc.h:
19585 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19587 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19588 of pointers by which to pad very extensible base classes (like the
19589 ones in libs/gst/base).
19591 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19593 * docs/gst/gstreamer-docs.sgml:
19594 * docs/gst/gstreamer-sections.txt:
19595 * docs/libs/gstreamer-libs-docs.sgml:
19596 * docs/libs/gstreamer-libs-sections.txt:
19597 moving documentation from core to lib
19599 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19601 * check/Makefile.am:
19602 * configure.ac:
19603 * docs/gst/Makefile.am:
19604 * gst/Makefile.am:
19605 * gst/base/.cvsignore:
19606 * gst/base/Makefile.am:
19607 * gst/base/README:
19608 * gst/base/gstadapter.c:
19609 * gst/base/gstadapter.h:
19610 * gst/base/gstbasesink.c:
19611 * gst/base/gstbasesink.h:
19612 * gst/base/gstbasesrc.c:
19613 * gst/base/gstbasesrc.h:
19614 * gst/base/gstbasetransform.c:
19615 * gst/base/gstbasetransform.h:
19616 * gst/base/gstcollectpads.c:
19617 * gst/base/gstcollectpads.h:
19618 * gst/base/gstpushsrc.c:
19619 * gst/base/gstpushsrc.h:
19620 * gst/base/gsttypefindhelper.c:
19621 * gst/base/gsttypefindhelper.h:
19622 * gst/check/Makefile.am:
19623 * gst/check/gstcheck.c:
19624 * gst/check/gstcheck.h:
19625 * gst/net/Makefile.am:
19626 * gst/net/gstnet.h:
19627 * gst/net/gstnetclientclock.c:
19628 * gst/net/gstnetclientclock.h:
19629 * gst/net/gstnettimepacket.c:
19630 * gst/net/gstnettimepacket.h:
19631 * gst/net/gstnettimeprovider.c:
19632 * gst/net/gstnettimeprovider.h:
19633 * libs/gst/Makefile.am:
19634 * libs/gst/base/Makefile.am:
19635 * libs/gst/base/gstbasetransform.c:
19636 * libs/gst/check/Makefile.am:
19637 * plugins/elements/Makefile.am:
19638 * po/POTFILES.in:
19639 CVS surgery + support to move base, check, and net out of gst
19640 and into libs/gst
19642 2005-11-29 Andy Wingo <wingo@pobox.com>
19644 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19646 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19647 padding.
19649 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19651 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19653 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19655 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19656 padding; reduces object size by about 30%. We don't expect
19657 anything else to go into gstobject.
19659 * gst/gstminiobject.h (struct _GstMiniObject)
19660 (struct _GstMiniObjectClass): Only one pointer of padding; the
19661 payload is only a pointer and two ints anyway. For the class there
19662 are only two methods as well.
19664 * gst/gstelement.h (struct _GstElementClass): Removed
19665 the state_changed signal callback, it is not used.
19667 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19669 * docs/gst/gstreamer.types:
19670 fix includes, though they are a little dinky
19672 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19674 * check/Makefile.am:
19675 look in the right place for elements, a lot more chance of
19676 success
19677 * gst/Makefile.am:
19678 remove indexers and elements subdirs
19679 * plugins/Makefile.am:
19680 make indexers conditional
19682 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19684 * Makefile.am:
19685 * configure.ac:
19686 * plugins/elements/Makefile.am:
19687 * plugins/elements/gstcapsfilter.c:
19688 * plugins/elements/gstfilesink.c:
19689 * plugins/elements/gstfilesrc.c:
19690 * plugins/elements/gstidentity.c:
19691 * plugins/indexers/Makefile.am:
19692 do CVS surgery and related build fixery to move elements
19693 and indexers in a new gstreamer/plugins directory, out of the
19694 gst/ directory
19696 2005-11-29 Andy Wingo <wingo@pobox.com>
19698 * check/Makefile.am:
19699 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19700 * pkgconfig/gstreamer-net.pc.in:
19701 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19702 #322257.
19704 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19706 * tools/Makefile.am:
19707 * tools/gst-complete.1.in:
19708 * tools/gst-complete.c:
19709 * tools/gst-compprep.1.in:
19710 * tools/gst-compprep.c:
19711 removing -compprep and -complete
19713 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19715 * gst/gstevent.c: (gst_event_new_new_segment),
19716 (gst_event_parse_new_segment):
19717 * gst/gstevent.h:
19718 fix #320529 - clean up new_segment API and structure.
19719 Let's hope everyone was using the methods, and not the structure.
19721 2005-11-29 Edward Hervey <edward@fluendo.com>
19723 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19724 (gst_base_sink_event), (gst_base_sink_do_sync),
19725 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19726 Properly handle non GST_FORMAT_TIME segment
19727 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19728 Properly handle non GST_FORMAT_TIME segment
19729 * gst/gstsegment.c:
19730 This function is valid if the accumulator is 0 and the format
19731 is different from the requested format.
19733 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19735 * docs/gst/gstreamer-sections.txt:
19736 Add gst_query_new_seeking and gst_query_parse_seeking to the
19737 docs.
19739 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19741 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19742 Treat a pad alloc with new caps the same as if we were not
19743 negotiated, in order to allow a changing upstream output
19744 to produce a new format of data.
19746 2005-11-29 Edward Hervey <edward@fluendo.com>
19748 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19749 (gst_base_transform_event), (gst_base_transform_eventfunc):
19750 The event virtual method is now properly implemented, with a default
19751 handler
19752 Sub classes should call the parent_class event method. They should
19753 return FALSE if they had a problem handling the given event, or don't
19754 want GstBaseTransform to send that even downstream
19755 * gst/elements/gstidentity.c: (gst_identity_class_init),
19756 (gst_identity_init), (gst_identity_event),
19757 (gst_identity_transform_ip), (gst_identity_set_property),
19758 (gst_identity_get_property):
19759 * gst/elements/gstidentity.h:
19760 Added the single-segment boolean property.
19761 If set to TRUE, it will output a single segment of data, starting from
19762 0, will eat up all incoming newsegment, and modify the timestamp of the
19763 buffers accordingly
19765 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19767 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19768 Don't ref NULL target pad (#322751). Improve docs.
19770 2005-11-29 Michael Smith <msmith@fluendo.com>
19772 * gst/gstregistryxml.c: (load_plugin):
19773 Don't crash if we failed to load a feature from a plugin.
19775 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19777 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19778 (GST_START_TEST):
19779 use more check API and less GLib API
19781 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19783 * Makefile.am:
19784 don't run checks if we don't have check
19785 * common/check.mak:
19786 remove the registry when running make torture
19787 * docs/gst/gstreamer-sections.txt:
19788 remove second multiply
19789 * gst/gstqueue.c: (gst_queue_loop):
19790 fix a compile warning when disabling debug
19792 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19794 * gst/gstinfo.h:
19795 Hey! Let's print the pad name if the pointer != NULL instead
19796 of when it == NULL :-)
19798 2005-11-28 Wim Taymans <wim@fluendo.com>
19800 * check/gst/gstutils.c: (GST_START_TEST):
19801 Updated check, add some scaling accuracy checking code.
19803 * gst/gstutils.c: (gst_util_div128_64),
19804 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19805 (gst_util_uint64_scale_int):
19806 Fix 6 times faster division code. Optimize for common
19807 1/1 and less common X/1 cases.
19809 2005-11-28 Wim Taymans <wim@fluendo.com>
19811 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19812 More checks.
19814 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19815 (do_linear_regression), (gst_clock_add_observation):
19816 Cleanups.
19817 Release lock when the clock cannot be slaved.
19818 Catch the case where the regression returned an invalid denominator.
19820 * gst/gstutils.c: (gst_util_div128_64_iterate),
19821 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19822 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19823 Add protentially more performant non-iterative 128/64 divide function
19824 that unfortunatly does not work yet.
19825 Shortcut the trivial 0/X = 0 case.
19826 Remove the warnings on overflow.
19828 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19830 * gst/gstplugin.c: (gst_plugin_register_func):
19831 everything causing a plugin not to load should be at least a WARNING
19833 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19835 * docs/random/ensonic/dparams.txt:
19836 some TODOs for the next dev cycle
19837 * libs/gst/controller/gstcontroller.c:
19838 (gst_controlled_property_set_interpolation_mode),
19839 (gst_controlled_property_new):
19840 * libs/gst/controller/gstcontroller.h:
19841 use base type to assign acccessor functions
19843 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19845 * check/Makefile.am:
19846 Oops, that should have been top_srcdir
19848 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19850 * check/Makefile.am:
19851 * check/elements/fdsrc.c: (GST_START_TEST):
19852 Use a cmdline define to specify the location of a file to use for
19853 testing, to avoid breaking distcheck.
19855 2005-11-28 Andy Wingo <wingo@pobox.com>
19857 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19859 2005-11-28 Edward Hervey <edward@fluendo.com>
19861 * tools/gst-launch.c: (main):
19862 Clarify the output strings, makes it easier to translate.
19863 Fixes #322626
19865 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19867 * gst/Makefile.am:
19868 don't try and build net if we don't even have <sys/socket.h>
19870 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19872 * check/Makefile.am:
19873 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19874 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19875 Add tests for fdsrc seekability
19877 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19878 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19879 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19880 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19881 * gst/elements/gstfdsrc.h:
19882 fdsrc should not be a 'live' source.
19883 Implement seeking on seekable fd's.
19885 * gst/gstquery.c: (gst_query_new_seeking),
19886 (gst_query_parse_seeking):
19887 * gst/gstquery.h:
19888 Implement SEEKING query functions:
19889 *_new_seeking and *_parse_seeking
19891 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19893 * gst/gstelement.c: (gst_element_dispose):
19894 don't loop forever
19896 * gst/gstiterator.c:
19897 * gst/gststructure.c:
19898 doc fixes
19900 * libs/gst/controller/gstcontroller.c:
19901 (gst_controlled_property_set_interpolation_mode):
19902 * libs/gst/controller/gstcontroller.h:
19903 * libs/gst/controller/gstinterpolation.c:
19904 (interpolate_none_get_enum_value_array):
19905 support controlling enums
19907 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19909 * gst/gstvalue.c:
19910 Improve documentation for gst_value_union().
19912 * gst/gstvalue.h:
19913 Change return value for union, intersect and subtract functions
19914 from gint to gboolean.
19916 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19918 * gst/gstvalue.c: (gst_value_serialize_any_list),
19919 (gst_value_transform_any_list_string),
19920 (gst_value_deserialize_list), (gst_value_deserialize_array),
19921 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19922 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19923 (gst_value_set_fraction_range_full),
19924 (gst_value_deserialize_fraction_range),
19925 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19926 (gst_value_deserialize_boolean),
19927 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19928 (gst_value_serialize_float), (gst_value_deserialize_float),
19929 (gst_string_wrap), (gst_value_deserialize_string),
19930 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19931 (gst_value_union_int_range_int_range),
19932 (gst_value_intersect_int_range_int_range),
19933 (gst_value_intersect_double_range_double_range),
19934 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19935 (gst_value_subtract_int_range_int_range),
19936 (gst_value_subtract_double_double_range),
19937 (gst_value_subtract_double_range_double_range),
19938 (gst_value_deserialize_fraction):
19939 * gst/gstvalue.h:
19940 Use gint, gdouble and gchar in our API instead of int, double and
19941 char (and make usage in gstvalue.c more consistent).
19943 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19945 * check/Makefile.am:
19946 * libs/gst/controller/Makefile.am:
19947 * libs/gst/dataprotocol/Makefile.am:
19948 fix up Makefile.am and remove GST_ENABLE_NEW
19950 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19952 * configure.ac:
19953 * gst/Makefile.am:
19954 * gst/base/Makefile.am:
19955 * gst/check/Makefile.am:
19956 * gst/elements/Makefile.am:
19957 * gst/net/Makefile.am:
19958 update LDFLAGS use some more
19960 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19962 * common/m4/gst-doc.m4:
19963 Fixes #312589
19965 2005-11-26 Edward Hervey <edward@fluendo.com>
19967 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19968 This shouldn't issue a g_warning since it returns NULL if it
19969 couldn't find the plugin, and all functions using this behave
19970 properly on a NULL return. Switching to a GST_WARNING.
19972 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19974 * gst/gstbin.c: (gst_bin_handle_message_func):
19975 Don't leak clock messages.
19977 2005-11-25 Wim Taymans <wim@fluendo.com>
19979 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19980 (gst_util_uint64_scale_int):
19981 Optimisations, remove unneeded vars.
19983 2005-11-25 Wim Taymans <wim@fluendo.com>
19985 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19986 Added more checks for the high precision uint64 cases.
19988 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19989 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19990 Implement high precision (guint64 * guint64) / guint64.
19992 2005-11-24 Wim Taymans <wim@fluendo.com>
19994 * gst/base/gstbasesrc.c: (gst_base_src_query):
19995 Fix wrong percentage query.
19997 * gst/gstutils.c: (gst_util_uint64_scale),
19998 (gst_util_uint64_scale_int):
19999 Add some more common cases that can be handled
20000 efficiently to _scale.
20002 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20004 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
20005 (gst_mini_object_suite):
20006 don't use check calls from threads; check probably isn't
20007 threadsafe and using a lock to make it threadsafe would
20008 defeat the purpose of this check
20009 * gst/check/gstcheck.c:
20010 * gst/check/gstcheck.h:
20011 use GST_DEBUG some more
20013 2005-11-24 Wim Taymans <wim@fluendo.com>
20015 * gst/gstutils.c: (gst_util_uint64_scale),
20016 (gst_util_uint64_scale_int):
20017 Chain trivial case to _scale_int.
20019 2005-11-24 Wim Taymans <wim@fluendo.com>
20021 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
20022 Added test for scaling.
20024 * gst/gstclock.h:
20025 Small doc fix.
20027 * gst/gstutils.c: (gst_util_uint64_scale_int):
20028 Implemented high precision scaling code.
20030 2005-11-24 Stefan Kost <ensonic@users.sf.net>
20032 * gst/gstinfo.h:
20033 do not crash on pad==NULL
20035 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
20037 Patch by: Stefan Kost
20039 * common/gtk-doc.mak:
20040 * docs/gst/Makefile.am:
20041 * docs/libs/Makefile.am:
20042 Fix distcheck issues for the libraries docs build
20043 Closes #319599.
20045 2005-11-24 Michael Smith <msmith@fluendo.com>
20047 * docs/manual/basics-helloworld.xml:
20048 Fix bug #315027: memory leak in example code in docs.
20050 2005-11-24 Michael Smith <msmith@fluendo.com>
20052 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20053 Unlock the PREROLL_LOCK in a failure case.
20055 2005-11-24 Wim Taymans <wim@fluendo.com>
20057 * docs/gst/gstreamer-sections.txt:
20058 * gst/base/gstadapter.h:
20059 * gst/base/gstbasesink.h:
20060 * gst/base/gstbasesrc.h:
20061 * gst/base/gstbasetransform.h:
20062 * gst/base/gstpushsrc.h:
20063 * gst/elements/gstfakesink.h:
20064 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20065 * gst/elements/gstfakesrc.h:
20066 * gst/elements/gstfilesink.h:
20067 * gst/elements/gstfilesrc.h:
20068 * gst/gst.c:
20069 * gst/gstbin.c:
20070 * gst/gstbuffer.c: (_gst_buffer_copy):
20071 * gst/gstbus.h:
20072 * gst/gstcaps.c:
20073 * gst/gstchildproxy.c:
20074 * gst/gstclock.c:
20075 * gst/gstelement.c:
20076 * gst/gstelementfactory.c:
20077 * gst/gstelementfactory.h:
20078 * gst/gstevent.c:
20079 * gst/gstghostpad.h:
20080 * gst/gstindex.h:
20081 * gst/gstinterface.h:
20082 * gst/gstminiobject.c:
20083 * gst/gstminiobject.h:
20084 * gst/gstpad.c:
20085 * gst/gstpad.h:
20086 * gst/gstpadtemplate.h:
20087 * gst/gstpipeline.h:
20088 * gst/gstpluginfeature.h:
20089 * gst/gstquery.h:
20090 * gst/gstqueue.h:
20091 * gst/gsttaglist.c:
20092 * gst/gsttaglist.h:
20093 * gst/gsttagsetter.c:
20094 * gst/gsttagsetter.h:
20095 * gst/gsttrace.c:
20096 * gst/gsttrace.h:
20097 * gst/gsttypefind.h:
20098 * gst/gsturi.h:
20099 * gst/gstvalue.c:
20100 * gst/net/gstnetclientclock.c:
20101 * gst/net/gstnetclientclock.h:
20102 * gst/net/gstnettimepacket.c:
20103 * gst/net/gstnettimeprovider.c:
20104 * gst/net/gstnettimeprovider.h:
20105 Doc fixes.
20107 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20109 * configure.ac: back to HEAD
20111 === release 0.9.6 ===
20113 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20115 * configure.ac:
20116 releasing 0.9.6, "Always On Time"
20118 2005-11-23 Wim Taymans <wim@fluendo.com>
20120 * docs/gst/gstreamer-sections.txt:
20121 * gst/glib-compat.c:
20122 * gst/gsttagsetter.c:
20123 * gst/gstvalue.c:
20124 * gst/net/gstnetclientclock.c:
20125 * gst/net/gstnettimepacket.h:
20126 Doc updates.
20128 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20130 * docs/faq/using.xml:
20131 * docs/libs/tmpl/gstcontrol.sgml:
20132 * docs/manual/advanced-dparams.xml:
20133 * docs/manual/appendix-checklist.xml:
20134 * docs/manual/basics-elements.xml:
20135 * docs/pwg/other-source.xml:
20136 * docs/random/moving-plugins:
20137 * gst/gstpad.c:
20138 * tools/gst-launch.1.in:
20139 remove mentions of sinesrc
20141 2005-11-23 Michael Smith <msmith@fluendo.com>
20143 * docs/gst/gstreamer-sections.txt:
20144 Update for new API and API changes.
20145 * gst/gstobject.h:
20146 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20147 * gst/gstvalue.c:
20148 Documentation typo fix.
20149 * gst/net/gstnettimepacket.c:
20150 Documentation fixes for arguments.
20152 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20154 * gst/gststructure.c: (gst_structure_get_fraction),
20155 (gst_structure_parse_value),
20156 (gst_structure_fixate_field_nearest_fraction):
20157 * gst/gststructure.h:
20158 * gst/gstutils.c: (gst_util_uint64_scale_int):
20159 * gst/gstutils.h:
20160 * scripts/update-funcnames:
20161 API Changes.
20162 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20163 Make gst_structure_fixate_field_nearest_fraction take a numerator
20164 and denominator argument instead of a GValue
20165 add gst_structure_get_fraction helper function.
20167 2005-11-23 Wim Taymans <wim@fluendo.com>
20169 * docs/design/part-TODO.txt:
20170 Update TODO.
20172 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20173 * gst/net/gstnetclientclock.h:
20174 Use parent fields for timeout and window_size.
20176 2005-11-23 Andy Wingo <wingo@pobox.com>
20178 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20179 rate_num/rate_denom change.
20181 * gst/net/gstnetclientclock.c
20182 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20183 OBJECT_LOCK. Don't call add_observation with the lock.
20185 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20186 fraction.
20187 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20188 rate fraction.
20189 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20190 deal with rate as a fraction whose numerator and denominator are
20191 GstClockTime values.
20192 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20193 master; the other fields are protected by the SLAVE_LOCK.
20194 (do_linear_regression): Note that this must be called with the
20195 SLAVE_LOCK.
20196 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20197 OBJECT_LOCK. Call set_calibration instead of touching the
20198 variables directly.
20199 (gst_clock_set_property, gst_clock_get_property): Protect
20200 master/slave parameters with the SLAVE_LOCK.
20202 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20203 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20204 note that all of the instance variables that add_observation and
20205 the set_master functions use are protected by that lock and not
20206 the OBJECT_LOCK.
20207 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20209 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20210 the caller to take the object lock.
20212 2005-11-23 Wim Taymans <wim@fluendo.com>
20214 * gst/gsterror.c: (_gst_core_errors_init):
20215 * gst/gsterror.h:
20216 Add error for clock stuff.
20218 * gst/gstpipeline.c: (gst_pipeline_change_state),
20219 (gst_pipeline_set_clock):
20220 Post clock error when clock cannot be used in a pipeline.
20222 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20224 * docs/gst/gstreamer-sections.txt:
20225 make two symbols from gstinfo private for the docs
20226 * gst/base/gstcollectpads.h:
20227 * gst/gstutils.c:
20228 fix doc typos, update docs
20230 2005-11-22 Wim Taymans <wim@fluendo.com>
20232 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20233 (gst_base_sink_wait), (gst_base_sink_do_sync),
20234 (gst_base_sink_handle_event):
20235 * gst/base/gstbasesink.h:
20236 No need to store the clock, the parent element class already
20237 has it.
20239 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20240 Updates for clock_set returning a gboolean
20242 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20243 (gst_clock_id_wait_async), (gst_clock_class_init),
20244 (gst_clock_init), (gst_clock_finalize),
20245 (gst_clock_get_internal_time), (gst_clock_get_time),
20246 (gst_clock_slave_callback), (gst_clock_set_master),
20247 (gst_clock_get_master), (do_linear_regression),
20248 (gst_clock_add_observation), (gst_clock_set_property),
20249 (gst_clock_get_property):
20250 * gst/gstclock.h:
20251 Implement master/slave. When setting a clock as a slave, a
20252 periodic timeout is scheduled to sample master and slave times.
20253 Then the slave clock is recalibrated to match offset and rate
20254 of the master clock.
20255 Update logging a bit.
20256 Add flag so that a clock can state that is cannot be slaved to
20257 another clock.
20259 * gst/gstelement.c: (gst_element_set_clock):
20260 * gst/gstelement.h:
20261 The set clock returns a gboolean for when an element cannot
20262 deal with the selected clock in the pipeline.
20264 * gst/gstpipeline.c: (gst_pipeline_change_state),
20265 (gst_pipeline_set_clock):
20266 * gst/gstpipeline.h:
20267 Handle the case where the selected clock cannot be set on
20268 the pipeline.
20270 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20271 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20272 (gst_net_client_clock_set_property),
20273 (gst_net_client_clock_get_property),
20274 (gst_net_client_clock_observe_times):
20275 * gst/net/gstnetclientclock.h:
20276 Use regression code in GstClock parent, remove duplicated
20277 functionality.
20279 2005-11-22 Michael Smith <msmith@fluendo.com>
20281 * gst/gstutils.c: (gst_util_clock_time_scale):
20282 * gst/gstutils.h:
20283 * docs/gst/gstreamer-sections.txt:
20284 Rename method to have extra underscore.
20286 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20288 * gst/elements/Makefile.am:
20289 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20290 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20291 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20292 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20293 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20294 * gst/elements/gstfakesrc.h:
20295 * gst/gstqueue.c: (queue_leaky_get_type):
20296 correctly fix GEnumValues so that nick is the short lowercase
20297 dashed tag
20298 * tools/gst-inspect.c: (print_element_properties_info):
20299 also show the nick, since it's useful to use from parse_launch
20300 syntax
20301 Fixes #322139
20303 2005-11-22 Michael Smith <msmith@fluendo.com>
20305 * gst/gstutils.c: (gst_util_clocktime_scale):
20306 * gst/gstutils.h:
20307 * docs/gst/gstreamer-sections.txt:
20308 Add util method for scaling a clocktime by a fraction. Useful
20309 implementation is left as an exercise for the reader.
20311 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20313 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20314 If needed, allocate storage in the destination value during
20315 collection.
20317 2005-11-22 Edward Hervey <edward@fluendo.com>
20319 * docs/gst/gstreamer-sections.txt:
20320 * gst/Makefile.am:
20321 * gst/gst.h:
20322 * gst/gsturitype.c:
20323 * gst/gsturitype.h:
20324 * gst/gstutils.c: (gst_util_set_object_arg):
20325 * tools/gst-compprep.c: (main):
20326 * tools/gst-inspect.c: (print_element_properties_info):
20327 Removed GstURI, closes bug #321061
20329 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20331 * check/gst/gststructure.c: (GST_START_TEST):
20332 * gst/gststructure.c: (gst_structure_parse_value):
20333 Oops, broke automatic string type parsing.
20334 Add a test to catch it in future.
20336 2005-11-22 Andy Wingo <wingo@pobox.com>
20338 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20339 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20340 Actually rename the function implementations. Grr.
20342 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20344 * check/gst/capslist.h:
20345 Comment test cases
20346 * check/gst/gststructure.c: (GST_START_TEST),
20347 (gst_structure_suite):
20348 Test automatic value type detection in gst_structure_from_string.
20349 * gst/gststructure.c: (gst_structure_parse_value):
20350 Add fraction as a type we try and guess automatically in
20351 caps/structure strings.
20353 2005-11-22 Andy Wingo <wingo@pobox.com>
20355 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20357 * gst/gsttagsetter.h:
20358 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20359 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20360 (gst_tag_setter_add_tag_valist)
20361 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20362 _add_values, _add_valist, and _add_valist_values. Since this is an
20363 interface the function suffixes should be more explicit so
20364 language binding don't end up with element.add_valist ->
20365 gst_tag_setter_add_valist, for example. Fixes #322069.
20367 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20369 * check/gst/gstcaps.c: (GST_START_TEST):
20370 Extend caps string tests to check that a caps to string
20371 conversion is reversible and produces the same caps.
20373 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20374 Output "fraction" as the generic type fraction range, so caps
20375 serialisation and deserialisation works.
20376 * check/gst/capslist.h:
20377 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20378 Support 'MIN' and 'MAX' for deserialising fractions.
20380 2005-11-22 Andy Wingo <wingo@pobox.com>
20382 * gst/gstevent.h (gst_event_new_new_segment)
20383 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20384 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20385 Renamed from *_newsegment, *_buffersize, *_notarget.
20387 * scripts/update-funcnames: New script, performs the changes
20388 listed above.
20390 2005-11-22 Wim Taymans <wim@fluendo.com>
20392 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20393 Make sure the GstFlowReturn is returned.
20395 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20396 (gst_bus_add_signal_watch):
20397 * gst/gstbus.h:
20398 add gst_bus_add_signal_watch_full.
20400 * gst/gstplugin.c: (gst_plugin_load_file):
20401 Small style cleanup.
20403 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20405 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20406 Block the fakesrc srcpad when we send an event, to avoid
20407 contention on the stream_lock causing random test failures.
20409 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20411 * check/gst/gstvalue.c: (GST_START_TEST):
20412 * gst/gstvalue.c: (gst_value_fraction_subtract):
20413 Fix subtraction.
20415 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20417 * gst/gst.h:
20418 include "gstchildproxy.h"
20419 * gst/gstchildproxy.h:
20420 * libs/gst/controller/gstcontroller.h:
20421 use G_GNUC_NULL_TERMINATED
20423 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20425 * check/gst/capslist.h:
20426 * check/gst/gstcaps.c: (GST_START_TEST):
20427 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20428 * gst/gststructure.c: (gst_structure_parse_range),
20429 (gst_structure_fixate_field_nearest_fraction):
20430 * gst/gststructure.h:
20431 * gst/gstvalue.c: (gst_value_init_fraction_range),
20432 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20433 (gst_value_collect_fraction_range),
20434 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20435 (gst_value_set_fraction_range_full),
20436 (gst_value_get_fraction_range_min),
20437 (gst_value_get_fraction_range_max),
20438 (gst_value_serialize_fraction_range),
20439 (gst_value_transform_fraction_range_string),
20440 (gst_value_compare_fraction_range),
20441 (gst_value_deserialize_fraction_range),
20442 (gst_value_intersect_fraction_fraction_range),
20443 (gst_value_intersect_fraction_range_fraction_range),
20444 (gst_value_subtract_fraction_fraction_range),
20445 (gst_value_subtract_fraction_range_fraction),
20446 (gst_value_subtract_fraction_range_fraction_range),
20447 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20448 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20449 (gst_value_transform_string_fraction), (_gst_value_initialize):
20450 * gst/gstvalue.h:
20451 Implement fraction ranges and extend GstFraction to support
20452 arithmetic subtraction, as well as deserialization from integer
20453 strings such as "100"
20454 Add a testsuite as for int and double range set operations
20456 2005-11-21 Andy Wingo <wingo@pobox.com>
20458 * gst/gsttaglist.h:
20459 * gst/gstcaps.h:
20460 * gst/gststructure.h: Add glib-compat.h.
20462 2005-11-21 Wim Taymans <wim@fluendo.com>
20464 * gst/gstbin.c: (gst_bin_change_state_func):
20465 Fix for #321595
20467 2005-11-21 Wim Taymans <wim@fluendo.com>
20469 * gst/gstsegment.h:
20470 And add a nice define too.
20472 2005-11-21 Wim Taymans <wim@fluendo.com>
20474 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20475 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20476 (gst_segment_set_duration), (gst_segment_set_last_stop),
20477 (gst_segment_set_seek), (gst_segment_set_newsegment),
20478 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20479 (gst_segment_clip):
20480 * gst/gstsegment.h:
20481 Make binding friendly.
20483 2005-11-21 Andy Wingo <wingo@pobox.com>
20485 * gst/gsttagsetter.h:
20486 * gst/gsttaglist.h:
20487 * gst/gststructure.h:
20488 * gst/gstcaps.h:
20489 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20490 #319940.
20492 * gst/gsterror.c (_gst_core_errors_init):
20493 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20494 category.
20496 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20497 (noinst_HEADERS): noinst the -private.
20499 2005-11-21 Michael Smith <msmith@fluendo.com>
20501 * gst/gstplugin.h:
20502 * gst/gstregistry.h:
20503 Remove unimplemented declarations for which we can see no sensible
20504 use.
20506 2005-11-21 Andy Wingo <wingo@pobox.com>
20508 * gst/gst.h: Include glib-compat.h.
20510 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20512 * gst/glib-compat.c: Include the public and the private header.
20514 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20516 * gst/gstvalue.c:
20517 * gst/gstpad.c:
20518 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20520 * check/gst/gstevent.c (create_custom_events): Check that
20521 FLUSH_STOP is serialized.
20523 * check/elements/identity.c (event_func):
20524 * check/elements/fakesrc.c (event_func): No stream lock, the core
20525 takes it.
20527 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20528 stream lock taking, yay.
20530 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20531 ensure that core takes the stream lock.
20533 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20534 lock name change.
20536 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20537 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20538 it already. For the flush start we do take it though so we get the
20539 right preroll state change messages.
20541 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20542 the stream lock here, the core does it for us.
20544 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20545 GST_STREAM_GET_LOCK.
20546 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20547 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20548 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20549 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20550 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20551 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20553 * gst/gstpad.c: Update for stream lock name change.
20555 * gst/base/gstbasesink.c: Update for preroll lock name change.
20557 2005-11-21 Wim Taymans <wim@fluendo.com>
20559 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20560 (gst_clock_get_master):
20561 * gst/gstclock.h:
20562 * gst/gstsystemclock.c: (gst_system_clock_init):
20563 Convert Clock flags to object flags.
20564 Added methods to manage master/slave clocks.
20566 2005-11-21 Wim Taymans <wim@fluendo.com>
20568 * check/gst/gstsegment.c: (GST_START_TEST):
20569 * docs/design/part-TODO.txt:
20570 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20571 (gst_base_sink_event), (gst_base_sink_do_sync),
20572 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20573 (gst_base_sink_query), (gst_base_sink_change_state):
20574 * gst/base/gstbasesink.h:
20575 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20576 (gst_base_src_default_newsegment),
20577 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20578 (gst_base_src_get_range), (gst_base_src_loop),
20579 (gst_base_src_change_state):
20580 * gst/base/gstbasesrc.h:
20581 * gst/base/gstbasetransform.c:
20582 (gst_base_transform_prepare_output_buf),
20583 (gst_base_transform_event), (gst_base_transform_change_state):
20584 * gst/base/gstbasetransform.h:
20585 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20586 (gst_collect_pads_event):
20587 * gst/base/gstcollectpads.h:
20588 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20589 (gst_fake_src_create):
20590 * gst/elements/gstfakesrc.h:
20591 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20592 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20593 (gst_segment_set_last_stop), (gst_segment_set_seek),
20594 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20595 (gst_segment_to_running_time), (gst_segment_clip):
20596 * gst/gstsegment.h:
20597 More segment updates, replace code in plugins with segment
20598 helper functions.
20600 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20602 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20603 Don't ignore sscanf results
20605 2005-11-21 Andy Wingo <wingo@pobox.com>
20607 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20609 * *.h:
20610 * *.c: Ran scripts/update-macros. Oh yes.
20612 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20613 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20614 GST_GET_LOCK, etc.
20616 * scripts/update-macros: New script. Run it on your files to
20617 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20618 well.
20620 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20622 * docs/gst/Makefile.am:
20623 * docs/gst/gstreamer-docs.sgml:
20624 * docs/gst/gstreamer-sections.txt:
20625 * docs/gst/gstreamer.types:
20626 * gst/gstinfo.h:
20627 more docs fixes, add new api to the docs
20629 2005-11-21 Andy Wingo <wingo@pobox.com>
20631 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20632 state_broadcast call.
20634 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20636 2005-11-21 Julien MOUTTE <julien@moutte.net>
20638 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20639 function calls for arrays.
20641 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20643 * docs/random/ensonic/media-device-daemon.txt:
20644 wild idea, can this be done?
20645 * docs/gst/gstreamer-sections.txt:
20646 * gst/gsterror.h:
20647 * gst/gstfilter.c:
20648 * gst/gstfilter.h:
20649 * gst/gstplugin.h:
20650 * gst/gstpluginfeature.c:
20651 * gst/gsttrace.c:
20652 * gst/gstvalue.c:
20653 * gst/gstvalue.h:
20654 doc fixes and additions
20656 2005-11-21 Andy Wingo <wingo@pobox.com>
20658 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20659 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20660 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20661 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20662 private to the basesrc implementation.
20664 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20665 behalf of event function if necessary. It should no longer be
20666 necessary to take the stream lock in pad's event functions. Fixes
20667 #320299.
20669 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20670 * docs/gst/gstreamer-sections.txt:
20671 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20672 (gst_structure_fixate_field_nearest_double),
20673 (gst_structure_fixate_field_boolean):
20674 * gst/gststructure.h:
20675 * win32/common/libgstreamer.def:
20676 * win32/gstreamer.def:
20678 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20679 (#322027)
20681 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20683 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20684 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20685 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20686 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20687 (gst_fdsrc_uri_handler_init):
20688 * gst/elements/gstfdsrc.h:
20689 Port fd:// URI handler from 0.8 to fdsrc
20691 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20693 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20694 (gst_value_serialize_fourcc):
20695 * gst/gstvalue.h:
20696 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20697 consistent with our other format defines (#320324).
20699 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20701 * gst/gstvalue.c: (gst_value_is_fixed):
20702 Revert previous commit. Value lists are by definition
20703 not fixed, as they are a list of possible values.
20705 2005-11-21 Andy Wingo <wingo@pobox.com>
20707 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20708 during the stable series if we need it. Fixes #319178.
20710 * gst/gstevent.c (gst_event_new_filler): Removed.
20712 * check/gst/gstevent.c: Update comment about filler events.
20714 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20716 * gst/gstvalue.c: (gst_value_is_fixed):
20717 Should handle both value arrays and value lists.
20719 2005-11-21 Andy Wingo <wingo@pobox.com>
20721 patch by: Alessandro Dessina <alessandro nnva org>
20723 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20724 functions to access arrays. Fixes #321962.
20726 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20728 * docs/gst/gstreamer.types:
20729 gst_collectpads_get_type => gst_collect_pads_get_type.
20731 * gst/base/gstbasetransform.c:
20732 Remove unused SIGNAL_HANDOFF enum.
20734 2005-11-21 Andy Wingo <wingo@pobox.com>
20736 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20737 the event type (upstream, downstream, serialized). Renamed
20738 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20739 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20740 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20742 * gst/gstevent.c: Update for new CUSTOM event names.
20744 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20746 * gst/gstevent.h:
20747 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20748 bug #319392.
20750 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20752 * docs/gst/gstreamer-sections.txt:
20753 * win32/common/libgstbase.def:
20754 * win32/libgstbase.def:
20755 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20756 (gst_collect_pads_class_init), (gst_collect_pads_init),
20757 (gst_collect_pads_finalize), (gst_collect_pads_new),
20758 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20759 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20760 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20761 (gst_collect_pads_start), (gst_collect_pads_stop),
20762 (gst_collect_pads_peek), (gst_collect_pads_pop),
20763 (gst_collect_pads_available), (gst_collect_pads_read),
20764 (gst_collect_pads_flush), (gst_collect_pads_event),
20765 (gst_collect_pads_chain):
20766 * gst/base/gstcollectpads.h:
20767 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20768 unimplemented functions as unimplemented. Add padding to
20769 GstCollectData. (#320766, #320423)
20771 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20773 * gst/gstmessage.c:
20774 Improve docs for DURATION message (usage of duration parameter)
20775 (#320113)
20777 2005-11-20 Wim Taymans <wim@fluendo.com>
20779 * check/Makefile.am:
20780 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20781 (main):
20782 * gst/Makefile.am:
20783 * gst/gst.h:
20784 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20785 (gst_segment_set_seek), (gst_segment_set_newsegment),
20786 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20787 (gst_segment_clip):
20788 * gst/gstsegment.h:
20789 Added segment helper structure and methods. Not fully implemented
20790 yet.
20791 Added segment check.
20793 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20795 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20796 Add a deserialisation test for fractions
20797 * examples/metadata/read-metadata.c: (message_loop),
20798 (make_pipeline), (main):
20799 Fix up metadata reading sample.
20800 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20801 Debug format fix
20802 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20803 Don't try and fixate empty caps
20804 * gst/gst_private.h:
20805 Wrap in G_BEGIN_DECLS/G_END_DECLS
20806 * gst/gstvalue.c: (gst_value_collect_fraction),
20807 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20808 (gst_value_transform_string_fraction),
20809 (gst_value_compare_fraction):
20810 Add some extra guards to ensure that we don't end up
20811 with an invalid denominator of 0 in a gstfraction and
20812 that fractions always get reduced.
20814 2005-11-20 Wim Taymans <wim@fluendo.com>
20816 * docs/gst/gstreamer-sections.txt:
20817 * gst/gstbuffer.h:
20818 * gst/gstelement.c:
20819 * gst/gstformat.c:
20820 * gst/gstformat.h:
20821 * gst/gstindex.h:
20822 * gst/gstquery.c:
20823 * gst/gstquery.h:
20824 * gst/gstvalue.c:
20825 Doc fixes.
20827 2005-11-20 Wim Taymans <wim@fluendo.com>
20829 * docs/design/part-TODO.txt:
20830 * gst/gstcaps.h:
20831 Make a proper enum of the flag.
20833 2005-11-19 Wim Taymans <wim@fluendo.com>
20835 * docs/design/part-TODO.txt:
20836 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20837 (gst_format_to_quark), (gst_format_register):
20838 * gst/gstformat.h:
20839 * gst/gstquery.c: (_gst_query_initialize),
20840 (gst_query_type_get_name), (gst_query_type_to_quark),
20841 (gst_query_type_register):
20842 * gst/gstquery.h:
20843 Add type to quark and type to string conversions.
20845 2005-11-19 Andy Wingo <wingo@pobox.com>
20847 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20848 #320097.
20850 2005-11-19 Wim Taymans <wim@fluendo.com>
20852 * docs/design/part-TODO.txt:
20853 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20854 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20855 (gst_bin_handle_message_func):
20856 * gst/gstbin.h:
20857 Make message handling overridable.
20859 2005-11-19 Andy Wingo <wingo@pobox.com>
20861 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20863 * gst/gstclock.h:
20864 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20865 be a GstClockTime.
20866 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20867 is a GstClockTime. Fixes #321710.
20869 * gst/gstclock.h (GstClock): Remove offset property. Add
20870 internal_calibration and external_calibration. Fix padding. Pad
20871 also by GstClockTime so we don't run into problems.
20873 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20874 (gst_clock_get_rate_offset): Remove.
20875 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20877 * gst/gstutils.h:
20878 * gst/gstutils.c (g_static_rec_cond_wait)
20879 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20881 * gst/gstbin.c: Remove terrible continue_state prototype.
20883 * gst/gstelement.h (gst_element_continue_state): Make public.
20885 * gst/gstelement.h:
20886 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20887 by continue_state. Fixes #319389.
20889 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20890 Really fixes #168438. However I don't see anywhere where the
20891 filter function is called... stupid GStreamer...
20893 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20894 don't have a dispose function, so it won't get called when the
20895 object is unreffed, but oh well!
20897 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20898 allows a destroy function to be set so user_data can be freed.
20899 Fixes #168438.
20900 (gst_index_set_filter): Call gst_index_set_filter_full.
20902 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20904 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20905 string should produce an error, given the lack of a way to
20906 represent NULL strings. Fixes #165650.
20908 * gst/gstvalue.h:
20909 * gst/gstvalue.c (gst_value_array_append_value)
20910 (gst_value_array_prepend_value, gst_value_array_get_size)
20911 (gst_value_array_get_value): New API, copied from
20912 gst_value_list_*, only operates on arrays.
20913 (gst_value_list_append_value, gst_value_list_prepend_value)
20914 (gst_value_list_concat, gst_value_list_get_size)
20915 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20917 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20918 init_list, because it works on both.
20919 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20920 (gst_value_copy_list_or_array): Renamed from copy_list.
20921 (gst_value_free_list_or_array): Renamed from free_list.
20922 (gst_value_collect_list_or_array): Renamed from collect_list.
20923 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20924 (gst_value_list_or_array_peek_pointer): Renamed from
20925 list_peek_pointer.
20926 (_gst_value_array_value_table, _gst_value_list_value_table):
20927 Update value table functions.
20928 (gst_value_compare_list_or_array): Renamed from compare_list.
20930 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20931 some constness.
20933 * gst/gsttaglist.c:
20934 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20935 GstTagList*. Fixes #143472.
20937 * gst/gststructure.h: Clarify what the foreach/map functions can
20938 or can't do to their arguments.
20940 2005-11-18 Wim Taymans <wim@fluendo.com>
20942 * gst/gstclock.c: (gst_clock_set_calibration),
20943 (gst_clock_get_calibration):
20944 Doc and API fixes.
20945 Calibration can be set with internal time equal to current
20946 internal time too.
20948 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20950 * gst/gsterror.c:
20951 * gst/gsterror.h:
20952 document
20954 2005-11-18 Andy Wingo <wingo@pobox.com>
20956 * configure.ac:
20957 * pkgconfig/gstreamer-net.pc.in:
20958 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20959 * pkgconfig/Makefile.am: Add net pkgconfig files.
20961 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20963 * gst/gstcaps.c:
20964 * gst/gstghostpad.c:
20965 * gst/gsttrace.c:
20966 * gst/gstvalue.c:
20967 * gst/gstvalue.h:
20968 docs fixes
20970 2005-11-18 Andy Wingo <wingo@pobox.com>
20972 * gst/net/gstnetclientclock.c: Turn off debugging.
20974 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20975 times connverge somewhat. Can't make a real test.
20977 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20978 integer arithmetic. Return the minimum of the domain, which can be
20979 set as "internal" for gst_clock_set_calibration.
20980 (gst_net_client_clock_observe_times): Call _set_calibration.
20981 (gst_net_client_clock_new): Call _set_calibration instead of
20982 rate_offset.
20984 * check/net/gstnetclientclock.c (test_functioning): Use the right
20985 adjustment api.
20987 * gst/gstclock.h:
20988 * gst/gstclock.c (gst_clock_get_calibration)
20989 (gst_clock_set_calibration): New functions, obsolete the ones I
20990 added yesterday. Doh. Precision issues mean we have to extrapolate
20991 from a point in the more recent past than 1970.
20992 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20993 obsolete.
20994 (gst_clock_adjust_unlocked): Use the right calibration data.
20996 2005-11-18 Edward Hervey <edward@fluendo.com>
20998 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20999 Also reset the ->current_* values in READY->PAUSED
21001 2005-11-18 Andy Wingo <wingo@pobox.com>
21003 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
21004 Whoops, check the right fd. Also add some debugging.
21005 (gst_net_client_clock_observe_times): Adjust for int64 offset.
21006 (do_linear_regression): Add a crapload of debugging. Subtract off
21007 the minimum values from the input series to discard unneeded bits.
21008 Use only int arithmetic. There is still double arithmetic when
21009 calculating the intercept that needs fixing. Return boolean to
21010 indicate success; FALSE would mean the domain or range is too
21011 great. Still needs fixes.
21013 2005-11-18 Wim Taymans <wim@fluendo.com>
21015 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21016 For the current position in stream time, we need to subtract
21017 accumulated time.
21019 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
21020 Release lock before calling the callback function of async
21021 entries.
21023 2005-11-18 Andy Wingo <wingo@pobox.com>
21025 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
21026 Port goes all the way to MAXUINT16.
21028 * gst/net/gstnettimeprovider.c: Make the port range the same as
21029 for the kernel: 0 assigns, otherwise ports are less than
21030 MAXUINT16.
21032 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
21033 port change.
21035 * check/net/gstnetclientclock.c (test_functioning): Add the start
21036 of another test.
21038 2005-11-18 Wim Taymans <wim@fluendo.com>
21040 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
21041 (gst_bin_remove_func), (bin_bus_handler):
21042 * gst/gstbin.h:
21043 Removing a clock provider from a bin, triggers a clock lost message
21044 so that a new clock will be selected.
21045 Adding a clock to a bin triggers a clock provider message.
21046 Make sure we reselect a clock when we received a clock lost message.
21047 Keep a reference to the element that provided the clock.
21049 2005-11-18 Andy Wingo <wingo@pobox.com>
21051 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
21052 the clock initially so it produces values around the base time.
21053 (gst_net_client_clock_class_init): Typo fix.
21054 (gst_net_client_clock_thread): Add note on when the socket gets
21055 closed.
21057 2005-11-17 Wim Taymans <wim@fluendo.com>
21059 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
21060 Free remote and local time arrays.
21062 2005-11-17 Wim Taymans <wim@fluendo.com>
21064 * gst/net/gstnetclientclock.c: (do_linear_regression),
21065 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21066 Fix compilation, uninitialized vars and a forgotten continue.
21068 2005-11-17 Andy Wingo <wingo@pobox.com>
21070 * check/Makefile.am (check_PROGRAMS):
21071 * check/net/gstnetclientclock.c: Add a most minimal test for the
21072 net client clock. More to come later.
21074 * gst/net/gstnet.h:
21075 * gst/net/Makefile.am: Add netclientclock.
21077 * gst/net/gstnetclientclock.h:
21078 * gst/net/gstnetclientclock.c: New files, implement an untested
21079 GstClock that takes its time from a network time provider.
21080 Implements the algorithm in network-clock.scm.
21082 * tests/network-clock.scm (*window-size*): Rename from
21083 *queue-length*.
21084 * tests/network-clock.scm (network-time):
21085 * tests/network-clock-utils.scm (q-push): Update callers.
21087 2005-11-17 Wim Taymans <wim@fluendo.com>
21089 * gst/gstbin.c: (gst_bin_provide_clock_func),
21090 (gst_bin_sort_iterator_new):
21091 And unref the child too..
21093 2005-11-17 Wim Taymans <wim@fluendo.com>
21095 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21096 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21097 Refactor the sort iterator so it can be used while holding the
21098 LOCK too.
21099 Make clock selection select a clock closest to the source.
21101 2005-11-17 Michael Smith <msmith@fluendo.com>
21103 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21104 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21105 * gst/gstclock.h:
21106 Anonymous structs are a gcc (and some other compilers) extension, so
21107 don't use them. Since this is only for ABI-compatibility, and our
21108 API/ABI freeze is over in a few days, this whole thing will only
21109 last a few days, so don't bother trying to think up a meaningful
21110 name for the struct.
21112 2005-11-17 Andy Wingo <wingo@pobox.com>
21114 * gst/gstclock.h (GstClock): Add rate and offset properties,
21115 preserving ABI stability. Add rate/offset accessors. Will file bug
21116 for the freeze break.
21118 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21119 and offset, trying to keep precision and avoiding
21120 underflow/overflow.
21121 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21122 functions. Make gst_clock_set_time_adjust obsolete.
21123 (gst_clock_set_time_adjust): Note that this function is obsolete.
21124 Will file bug soon.
21126 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21127 greppable by using GST_PADDING-1+1.
21129 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21131 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21133 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21134 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21136 * gst/gstpadtemplate.h:
21137 * gst/gstpluginfeature.h:
21138 Don't use c++ style comments in headers (#321638).
21140 2005-11-16 Andy Wingo <wingo@pobox.com>
21142 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21143 buffer.
21145 * check/net/gstnettimeprovider.c: Check to see that the time
21146 provider actually provides times. Works, yo!
21148 2005-11-16 Wim Taymans <wim@fluendo.com>
21150 * check/Makefile.am:
21151 Enable more tests.
21153 * check/elements/fakesrc.c: (GST_START_TEST):
21154 Set element to NULL before disposing it.
21156 2005-11-16 Andy Wingo <wingo@pobox.com>
21158 * gst/net/Makefile.am:
21159 * gst/net/gstnet.h:
21160 * gst/net/gstnettimeprovider.c:
21161 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21162 provider, include it from gstnet.h, and add it to the build.
21164 * gst/net/gstnettimepacket.h:
21165 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21166 sending and receiving.
21168 2005-11-16 Wim Taymans <wim@fluendo.com>
21170 * check/Makefile.am:
21171 Enable valgrind check.
21173 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21174 (gst_fake_src_alloc_buffer):
21175 Fix memleak.
21177 2005-11-16 Wim Taymans <wim@fluendo.com>
21179 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21180 Call parent finalize too.
21182 2005-11-16 Wim Taymans <wim@fluendo.com>
21184 * check/Makefile.am:
21185 Enable valgrind check that should work fine now.
21187 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21188 * gst/gstqueue.c: (gst_queue_init):
21189 Fix memleaks in pad allocation.
21191 2005-11-16 Andy Wingo <wingo@pobox.com>
21193 * gst/net/Makefile.am:
21194 * gst/net/gstnet.h: New part of core to hold network elements and
21195 objects. Put in core because it exposes API that applications want
21196 to use. The library is named libgstnet-tempname right now because
21197 of the existing libgstnet in gst-plugins-base. Solution is
21198 probably to rename the one in plugins-base; will file a bug for
21199 the freeze break.
21201 * gst/net/gstnettimeprovider.c:
21202 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21203 get_time call over the network.
21205 * configure.ac:
21206 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21208 * check/Makefile.am:
21209 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21210 get additions shortly.
21212 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21214 * gst/gstpad.c: (gst_pad_new_from_static_template):
21215 * gst/gstpad.h:
21216 add gst_pad_new_from_static_template functions
21217 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21218 (gst_check_setup_sink_pad):
21219 * gst/elements/gsttee.c: (gst_tee_init):
21220 and use them
21222 2005-11-16 Wim Taymans <wim@fluendo.com>
21224 * gst/gstpad.c: (gst_pad_pause_task):
21225 Removed warning, it's not really an error either.
21227 2005-11-16 Wim Taymans <wim@fluendo.com>
21229 * gst/base/gstbasetransform.c:
21230 (gst_base_transform_prepare_output_buf),
21231 (gst_base_transform_event):
21232 Check if the caps are NULL, this can happen if the element
21233 is shutting down and the pad caps are set to NULL.
21235 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21237 * gst/elements/gsttee.c: (gst_tee_init):
21238 fix pad template leak in tee
21240 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21242 * gst/glib-compat.c: (g_value_dup_gst_object):
21243 * gst/glib-compat.h:
21244 * gst/gstpad.c: (gst_pad_set_property):
21245 use gst_object_ref when setting the pad template; this will
21246 trigger the pad template leaks on GLib 2.6 and the slaves
21248 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21250 * gst/glib-compat.c: (gst_flags_get_first_value):
21251 * gst/glib-compat.h:
21252 * gst/gstregistryxml.c:
21253 remove functions copied from GLib 2.6
21255 2005-11-16 Michael Smith <msmith@fluendo.com>
21257 * gst/Makefile.am:
21258 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21259 do, but only breaks with newer valgrind versions. We're not a
21260 valgrind tool, we have no link-time dependencies on libcoregrind.
21262 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21264 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21265 some debug changes
21266 * gst/gstmessage.h:
21267 typo fixes
21269 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21271 * gst/base/gstbasesrc.c: (gst_base_src_init):
21272 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21273 * gst/gstqueue.c: (gst_queue_init):
21274 * gst/gstregistryxml.c: (load_feature):
21275 Revert all these unrefs, they don't even pass make check !
21277 2005-11-15 Johan Dahlin <johan@gnome.org>
21279 * gst/base/gstbasesrc.c: (gst_base_src_init):
21280 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21281 * gst/gstqueue.c: (gst_queue_init):
21282 Free pad templates, fixes a couple of leaks.
21284 2005-11-15 Daniel Fischer <dan at f3c dot com>
21286 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21288 * gst/gstpad.c: (gst_pad_get_property):
21289 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21290 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21291 (#321452)
21293 2005-11-15 Wim Taymans <wim@fluendo.com>
21295 * gst/gstevent.c:
21296 Small doc update.
21298 2005-11-15 Andy Wingo <wingo@pobox.com>
21300 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21302 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21303 using GST_CLOCK_TIME_NONE to disable base time management.
21304 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21305 time if it was NONE before.
21306 (gst_pipeline_change_state): Only munge the base time if
21307 stream_time != GST_CLOCK_TIME_NONE.
21309 * check/gst/gstpipeline.c (test_base_time): Punt around the
21310 problem of the probe not being called, because that's not the
21311 issue I'm looking at. Add a check that setting stream_time to NONE
21312 disables base time management.
21314 2005-11-15 Wim Taymans <wim@fluendo.com>
21316 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21317 segment_stop == -1 at startup.
21319 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21320 (gst_base_transform_change_state):
21321 Init segment values at start.
21323 2005-11-15 Wim Taymans <wim@fluendo.com>
21325 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21326 0 segment values are 0 in any format.
21328 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21329 * gst/base/gstbasetransform.h:
21330 Parse newsegment correctly in basetransform
21332 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21333 Sync to clock using updated segment values.
21335 2005-11-15 Andy Wingo <wingo@pobox.com>
21337 * check/gst/gstpipeline.c (test_base_time): Add check that the
21338 base time and stream time are reset correctly.
21340 2005-11-15 Wim Taymans <wim@fluendo.com>
21342 * docs/design/part-TODO.txt:
21343 Some more TODO items.
21345 2005-11-15 Andy Wingo <wingo@pobox.com>
21347 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21348 error if the user selected "no clock" as the clocking method.
21350 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21351 timestamps with live capture.
21353 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21354 is 0 but we are a live source, timestamp the buffers using the
21355 element's clock.
21357 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21359 * docs/gst/gstreamer-sections.txt:
21360 * gst/gsterror.c:
21361 * gst/gstghostpad.c:
21362 * gst/gstobject.h:
21363 * gst/gstxml.c:
21364 more section docs
21366 2005-11-14 Wim Taymans <wim@fluendo.com>
21368 * common/gst.supp:
21369 add suppressions from Wim's Debian machine
21371 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21373 * common/gst.supp:
21374 add suppressions from Andy's AMD64 Ubuntu machine
21376 2005-11-14 Andy Wingo <wingo@pobox.com>
21378 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21379 STATE_LOCK not necessary. Fixes #311489.
21381 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21382 #305291.
21384 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21385 this function is not implemented.
21387 2005-11-14 Julien MOUTTE <julien@moutte.net>
21389 * gst/base/gstbasetransform.c:
21390 (gst_base_transform_prepare_output_buf):
21391 Ref the source pad caps while we need them.
21392 Fixes (#321386)
21394 2005-11-11 Wim Taymans <wim@fluendo.com>
21396 * docs/gst/gstreamer-sections.txt:
21397 Added some docs for GstCollectData.
21399 * gst/base/gstadapter.c:
21400 Some small code example fix.
21402 * gst/base/gstcollectpads.c:
21403 * gst/base/gstcollectpads.h:
21404 Document some more.
21406 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21408 * configure.ac: back to HEAD
21410 === release 0.9.5 ===
21412 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21414 * configure.ac:
21415 releasing 0.9.5, "Bike Lunch Day"
21417 2005-11-11 Wim Taymans <wim@fluendo.com>
21419 * gst/gstbuffer.c: (_gst_buffer_copy):
21420 Copy more flags.
21422 * gst/gstcaps.c: (gst_caps_is_equal):
21423 Fix some docs.
21424 Make _is_equal fast in the trivial cases.
21426 * gst/gstminiobject.c:
21427 * gst/gstminiobject.h:
21428 More docs. Spifify .h file.
21430 * gst/gstutils.c:
21431 Small doc update.
21433 2005-11-11 Wim Taymans <wim@fluendo.com>
21435 * gst/base/gstbasetransform.c:
21436 (gst_base_transform_prepare_output_buf),
21437 (gst_base_transform_handle_buffer):
21438 Small cleanups.
21439 If we're processing a buffer and need to allocate an output
21440 buffer, we cannot accept a format change. If we did get a
21441 format change, we have to alloc a buffer ourselves of the
21442 right size.
21444 2005-11-11 Wim Taymans <wim@fluendo.com>
21446 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21447 While checking the flag for reentrancy in the gstcaps function
21448 is nice to detect recursive invocations, it also makes it
21449 impossible to call getcaps from multiple threads, which must be
21450 possible. So, checking for recursive calls has to go.
21452 2005-11-11 Michael Smith <msmith@fluendo.com>
21454 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21455 Don't sync on buffers that fall partially outside our current
21456 segment. Prevents an assertion failure/abort playing some files.
21458 2005-11-10 Andy Wingo <wingo@pobox.com>
21460 * check/gst/gstbin.c (test_message_state_changed_children): Style
21461 fix..
21463 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21464 gst_bus_poll with the signal watch. Ensures that poll and a signal
21465 watch see the same messages.
21467 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21468 a poll and a watch at the same time get the same messages.
21470 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21472 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21473 * gst/gstcaps.c: (gst_caps_intersect):
21474 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21475 and it's not needed.
21477 2005-11-10 Wim Taymans <wim@fluendo.com>
21479 * docs/design/part-TODO.txt:
21480 Updated todo.
21482 2005-11-10 Wim Taymans <wim@fluendo.com>
21484 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21485 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21486 (gst_base_src_do_sync), (gst_base_src_get_range):
21487 Implement clock sync in base class.
21489 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21491 patch by: Tim-Philipp Müller <tim at centricular dot net>
21493 * gst/gststructure.c: (gst_structure_parse_field),
21494 (gst_structure_from_string):
21495 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21496 so that gst_parse_launch() can deal with spaces in filtered link
21497 caps (fixes #164479)
21498 * check/gst/capslist.h:
21499 * check/gst/gststructure.c: (GST_START_TEST):
21500 add unit tests for this change
21502 2005-11-10 Wim Taymans <wim@fluendo.com>
21504 * docs/gst/gstreamer-sections.txt:
21505 * gst/gstelement.c:
21506 * gst/gstelement.h:
21507 Fix docs, move some STATE macros to private.
21509 2005-11-10 Wim Taymans <wim@fluendo.com>
21511 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21512 Added check for bug #317341
21514 * gst/gstbuffer.c:
21515 * gst/gstbuffer.h:
21516 Some more spiffifying.
21518 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21519 Call peer linkfunction if we are a source pad. Totally fixes
21520 #317341
21522 * gst/gstpad.c:
21523 Update docs, source pads should call the peer linkfunction
21524 so they can atomically perform the pad link.
21526 2005-11-09 Wim Taymans <wim@fluendo.com>
21528 * gst/gstbuffer.c:
21529 * gst/gstbuffer.h:
21530 Uber-spiffy-spiffify some more.
21532 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21534 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21535 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21536 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21537 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21538 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21539 * gst/gstpad.c: (gst_pad_init):
21540 Use GST_DEBUG_FUNCPTR() more extensively.
21542 2005-11-09 Wim Taymans <wim@fluendo.com>
21544 * gst/gstobject.c: (gst_object_class_init):
21545 * gst/gstobject.h:
21546 Documentation fixes.
21548 2005-11-09 Edward Hervey <edward@fluendo.com>
21550 * gst/gsttypefindfactory.c:
21551 Fix docs.
21553 2005-11-09 Edward Hervey <edward@fluendo.com>
21555 * gst/base/gsttypefindhelper.c:
21556 * gst/gsttypefind.c:
21557 * gst/gsttypefind.h:
21558 Fix docs.
21560 2005-11-09 Wim Taymans <wim@fluendo.com>
21562 * gst/gstiterator.c:
21563 Fix revision data.
21565 * gst/gsttask.c:
21566 * gst/gsttask.h:
21567 Fix docs.
21569 2005-11-09 Wim Taymans <wim@fluendo.com>
21571 * gst/gstevent.h:
21572 * gst/gsturi.h:
21573 Fix docs.
21575 2005-11-09 Wim Taymans <wim@fluendo.com>
21577 * docs/gst/gstreamer-sections.txt:
21578 Moved the message async delivery private lock and cond
21579 to the private section.
21581 * gst/gstmessage.c:
21582 * gst/gstmessage.h:
21583 Fixed docs.
21585 2005-11-09 Edward Hervey <edward@fluendo.com>
21587 * docs/gst/gstreamer-sections.txt:
21588 * gst/gsturi.c:
21589 * gst/gsturi.h:
21590 Document GstURIHandler
21592 2005-11-09 Wim Taymans <wim@fluendo.com>
21594 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21595 (gst_iterator_find_custom):
21596 * gst/gstiterator.h:
21597 Fix iterator docs.
21599 2005-11-09 Wim Taymans <wim@fluendo.com>
21601 * gst/gstbin.h:
21602 Document another field.
21604 * gst/gststructure.c:
21605 * gst/gststructure.h:
21606 Document.
21608 2005-11-09 Wim Taymans <wim@fluendo.com>
21610 * gst/gstbin.h:
21611 Documented structs.
21613 2005-11-09 Wim Taymans <wim@fluendo.com>
21615 * docs/gst/gstreamer-sections.txt:
21616 Added some new macros.
21618 * gst/gstclock.c:
21619 * gst/gstclock.h:
21620 * gst/gstobject.h:
21621 Docs updates.
21623 2005-11-09 Wim Taymans <wim@fluendo.com>
21625 * docs/design/part-TODO.txt:
21626 Some more items for the TODO
21628 * gst/gstcaps.c:
21629 * gst/gstcaps.h:
21630 Document GstCaps.
21632 2005-11-09 Andy Wingo <wingo@pobox.com>
21634 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21635 to work on something else now tho...
21637 * gst/base/gstadapter.c: More adapter docs.
21639 * gst/elements/gstfilesink.c (gst_file_sink_start)
21640 (gst_file_sink_stop): New functions, replace the state change
21641 handler.
21642 (gst_file_sink_class_init): Hook up the start and stop functions.
21643 (gst_file_sink_base_init): Don't set the state change handler any
21644 more. It was a bit ugly too, being set from here...
21645 (gst_file_sink_get_property, gst_file_sink_set_property):
21646 Cleanups...
21647 (gst_file_sink_set_location): More robust check that doesn't call
21648 GST_STATE. Ugggggg.
21650 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21652 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21653 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21655 2005-11-08 Wim Taymans <wim@fluendo.com>
21657 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21658 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21659 (gst_base_sink_chain), (gst_base_sink_change_state):
21660 * gst/base/gstbasesink.h:
21661 * gst/base/gstbasesrc.h:
21662 * gst/gstelement.h:
21663 * gst/gstevent.h:
21664 Avoid excessive typechecking in macros.
21666 * gst/gstminiobject.c: (gst_mini_object_get_type),
21667 (gst_mini_object_init), (gst_mini_object_new),
21668 (gst_mini_object_free):
21669 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21670 (gst_object_finalize):
21671 Remove cruft code, optimize alloc_trace.
21673 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21675 * docs/faq/gst-uninstalled:
21676 fix up PS1 for systems that try to reset it
21678 2005-11-07 Wim Taymans <wim@fluendo.com>
21680 * gst/base/gstbasesrc.c: (gst_base_src_init),
21681 (gst_base_src_get_range):
21682 Set the segment_end to -1 initially. Fixed typefind.
21684 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21686 * gst/base/gstadapter.c:
21687 Debug category should be 'adapter', not 'GstAdapter'.
21689 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21690 (gst_collectpads_class_init), (gst_collectpads_init),
21691 (gst_collectpads_peek), (gst_collectpads_pop),
21692 (gst_collectpads_event), (gst_collectpads_chain):
21693 Add debug category and some debugging output. Use boilerplate
21694 macros. Remove some extraneous words from docs.
21696 2005-11-05 Andy Wingo <wingo@pobox.com>
21698 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21699 macro.
21701 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21703 * docs/gst/gstreamer-sections.txt:
21704 * gst/gstcaps.h:
21705 * gst/gstinfo.c:
21706 * gst/gstminiobject.h:
21707 * gst/gstobject.h:
21708 * gst/gstutils.h:
21709 more docs added
21711 2005-11-04 Wim Taymans <wim@fluendo.com>
21713 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21714 Small update to stop at the configured segment_end
21715 position.
21717 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21719 * gst/gstregistry.c:
21720 * gst/gstregistry.h:
21721 added missing docs
21723 2005-11-04 Edward Hervey <edward@fluendo.com>
21725 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21726 Check if we are doing a segment seek and have arrived at the
21727 end of that segment.
21729 2005-11-04 Wim Taymans <wim@fluendo.com>
21731 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21732 Don't leak a mutex unlock in case of an error.
21734 * gst/gstbus.h:
21735 Doc fixes.
21737 2005-11-04 Wim Taymans <wim@fluendo.com>
21739 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21740 (gst_bus_post):
21741 Get the context to wake up only once.
21743 2005-11-03 Wim Taymans <wim@fluendo.com>
21745 * check/states/sinks.c: (GST_START_TEST):
21746 Uncomment fixed check.
21748 * docs/design/part-TODO.txt:
21749 Updated TODO.
21751 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21752 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21753 (gst_base_sink_get_position):
21754 If we are going to PLAYING, post the right pending state
21755 when we post the intermediate paused message.
21757 * gst/gstelement.c: (gst_element_continue_state),
21758 (gst_element_set_state_func), (gst_element_change_state):
21759 Don't post state changes that were between the same state
21760 and were not ASYNC.
21762 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21764 * docs/gst/gstreamer-sections.txt:
21765 * gst/gstcaps.h:
21766 * gst/gstinfo.c:
21767 * gst/gstminiobject.h:
21768 * gst/gstobject.h:
21769 * gst/gstutils.h:
21770 more docs and doc style fixes
21772 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21774 * docs/gst/gstreamer-sections.txt:
21775 * gst/gstelement.c:
21776 * gst/gstminiobject.c:
21777 doc fixes
21779 2005-11-03 Andy Wingo <wingo@pobox.com>
21781 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21782 state-changed messages actually have the right order and the right
21783 values.
21785 2005-11-03 Wim Taymans <wim@fluendo.com>
21787 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21788 Added some more checks. Specifically the case where NO_PREROLL
21789 elements are in the pipeline.
21791 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21792 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21793 (gst_base_sink_get_position):
21794 Post READY->PAUSED state change messages too.
21795 Fix bug where VOID was posted as pending state...
21797 * gst/gstbin.c: (gst_bin_recalc_state):
21798 use _element_continue_state() to continue the state change.
21800 * gst/gstelement.c: (gst_element_continue_state),
21801 (gst_element_commit_state), (gst_element_set_state_func),
21802 (gst_element_change_state), (gst_element_change_state_func):
21803 Lots of state change cleanups, assign the STATE_RETURN in
21804 a new continue_state() function that also propagates the
21805 last return value from a state change to the app.
21806 Update some debug statements with proper category.
21808 2005-11-03 Wim Taymans <wim@fluendo.com>
21810 * docs/design/part-events.txt:
21811 * docs/design/part-gstpipeline.txt:
21812 * docs/design/part-messages.txt:
21813 * docs/design/part-overview.txt:
21814 * docs/design/part-seeking.txt:
21815 * docs/design/part-states.txt:
21816 * docs/design/part-trickmodes.txt:
21817 * docs/manual/advanced-position.xml:
21818 Small docs updates.
21820 * gst/gstobject.h:
21821 People think !! is ugly, this looks better.
21823 * gst/gstpad.c: (gst_pad_set_blocked_async):
21824 Remove !! since it's fixed elsewhere now.
21826 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21828 * gst/gstminiobject.h:
21829 * gst/gstobject.h:
21830 Add !! to _FLAG_IS_SET macros to make the result boolean.
21832 2005-11-03 Edward Hervey <edward@fluendo.com>
21834 * gst/gstpad.c: (gst_pad_set_blocked_async):
21835 comparing a flag and a gboolean rarely returns coherent results...
21836 Added two characters (!!) to make that work correctly.
21838 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21840 * gst/gstbus.c: (gst_bus_class_init):
21841 Fix some typos.
21843 * gst/gstqueue.c: (gst_queue_loop):
21844 Don't assume a miniobject that isn't a buffer is an
21845 event (it could be that there is a refcounting
21846 problem somewhere and the pointer is stale and
21847 refers to an already destroyed miniobject).
21849 2005-11-03 Julien MOUTTE <julien@moutte.net>
21851 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21853 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21855 * docs/manual/advanced-position.xml:
21856 Update seek example and explanations to current 0.9 API.
21858 * gst/elements/gsttypefindelement.c:
21859 (gst_type_find_element_activate):
21860 Remove FIXME comment now that the found caps
21861 are unreffed.
21863 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21865 * gst/gstregistryxml.c: (load_feature):
21866 Add another GST_STR_NULL instance
21868 2005-11-02 Edward Hervey <edward@fluendo.com>
21870 * gst/gstpad.c: (handle_pad_block):
21871 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21873 2005-11-02 Wim Taymans <wim@fluendo.com>
21875 * gst/gstbin.c:
21876 Fix typo in docs.
21878 * gst/gstelement.c: (gst_element_commit_state):
21879 Remove unused value.
21881 * gst/gstiterator.c:
21882 Mention that the returned element is reffed in the docs.
21884 2005-11-02 Wim Taymans <wim@fluendo.com>
21886 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21887 (gst_pad_push), (gst_pad_push_event):
21888 Unlock blocked pads when they are flushed.
21890 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21892 * docs/README:
21893 * docs/gst/gstreamer-sections.txt:
21894 * gst/gstbin.c:
21895 doc updates
21896 * gst/gstregistry.c: (gst_registry_scan_path_level):
21897 fix for a nasty little missed situation where an installed plug-in
21898 which was in the cache did not get overridden by an uninstalled one
21899 which was earlier in the plugin path because the newly created plugin
21900 for the uninstalled one (not in the registry) didn't get its
21901 ->registered set to TRUE
21903 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21905 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21906 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21907 (gst_collectpads_is_active), (gst_collectpads_collect),
21908 (gst_collectpads_collect_range), (gst_collectpads_start),
21909 (gst_collectpads_stop), (gst_collectpads_peek),
21910 (gst_collectpads_pop), (gst_collectpads_available),
21911 (gst_collectpads_read), (gst_collectpads_flush):
21912 Guard public API with assertions.
21914 * gst/gstpad.c:
21915 Fix docs for gst_pad_set_link_function().
21917 2005-11-02 Johan Dahlin <johan@gnome.org>
21919 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21920 Unref found_caps after we used it.
21922 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21924 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21925 Don't try to ref NULL.
21927 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21929 * win32/common/config.h.in:
21930 provide a GST_FUNCTION that just gives a string for now
21932 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21934 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21935 (gst_object_flags_get_type), (register_gst_bin_flags),
21936 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21937 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21938 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21939 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21940 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21941 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21942 (gst_clock_flags_get_type), (register_gst_state),
21943 (gst_state_get_type), (register_gst_state_change_return),
21944 (gst_state_change_return_get_type), (register_gst_state_change),
21945 (gst_state_change_get_type), (register_gst_element_flags),
21946 (gst_element_flags_get_type), (register_gst_core_error),
21947 (gst_core_error_get_type), (register_gst_library_error),
21948 (gst_library_error_get_type), (register_gst_resource_error),
21949 (gst_resource_error_get_type), (register_gst_stream_error),
21950 (gst_stream_error_get_type), (register_gst_event_type),
21951 (gst_event_type_get_type), (register_gst_seek_type),
21952 (gst_seek_type_get_type), (register_gst_seek_flags),
21953 (gst_seek_flags_get_type), (register_gst_format),
21954 (gst_format_get_type), (register_gst_index_certainty),
21955 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21956 (gst_index_entry_type_get_type),
21957 (register_gst_index_lookup_method),
21958 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21959 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21960 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21961 (gst_index_flags_get_type), (register_gst_debug_level),
21962 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21963 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21964 (gst_iterator_result_get_type), (register_gst_iterator_item),
21965 (gst_iterator_item_get_type), (register_gst_message_type),
21966 (gst_message_type_get_type), (register_gst_mini_object_flags),
21967 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21968 (gst_pad_link_return_get_type), (register_gst_flow_return),
21969 (gst_flow_return_get_type), (register_gst_activate_mode),
21970 (gst_activate_mode_get_type), (register_gst_pad_direction),
21971 (gst_pad_direction_get_type), (register_gst_pad_flags),
21972 (gst_pad_flags_get_type), (register_gst_pad_presence),
21973 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21974 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21975 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21976 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21977 (gst_plugin_flags_get_type), (register_gst_rank),
21978 (gst_rank_get_type), (register_gst_query_type),
21979 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21980 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21981 (gst_tag_flag_get_type), (register_gst_task_state),
21982 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21983 (gst_alloc_trace_flags_get_type),
21984 (register_gst_type_find_probability),
21985 (gst_type_find_probability_get_type), (register_gst_uri_type),
21986 (gst_uri_type_get_type), (register_gst_parse_error),
21987 (gst_parse_error_get_type):
21988 * win32/common/gstversion.h:
21989 update win32 copies
21991 2005-11-01 Luca Ognibene <luogni@tin.it>
21993 * gst/gst.c:
21994 fix docs. popt is dead, long live GOption.
21996 2005-10-31 Wim Taymans <wim@fluendo.com>
21998 * gst/gstbuffer.h:
21999 Small doc fix.
22001 2005-10-31 Andy Wingo <wingo@pobox.com>
22003 * Boo!
22005 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
22007 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
22008 need to serialize property notifications on GLib 2.8. GLib 2.6 has
22009 the possibility of deadlocks here if code calling notify() or
22010 set() has a lock that can be taken in another notify handler (ABBA
22011 with class lock and e.g. python GIL state lock).
22013 2005-10-28 Julien MOUTTE <julien@moutte.net>
22015 * gst/gstbus.c: Doc updates.
22017 2005-10-28 Wim Taymans <wim@fluendo.com>
22019 * docs/design/part-TODO.txt:
22020 * gst/gstiterator.c:
22021 * gst/gstsystemclock.c:
22022 * gst/gstsystemclock.h:
22023 Doc updates.
22025 2005-10-28 Edward Hervey <edward@fluendo.com>
22027 * docs/gst/gstreamer-docs.sgml:
22028 * docs/gst/gstreamer-sections.txt:
22029 the GstURIType documentation page is private, it only defines GstURIType
22030 which should be defined in the GstURIHandler page
22032 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
22034 * gst/gstbin.c: (gst_bin_class_init):
22035 * gst/gstbin.h:
22036 * gst/gstutils.c:
22037 Documentation updates.
22039 2005-10-28 Wim Taymans <wim@fluendo.com>
22041 * docs/gst/gstreamer-sections.txt:
22042 * gst/gstclock.c:
22043 * gst/gstclock.h:
22044 Documented the clocks.
22046 2005-10-28 Stefan Kost <ensonic@users.sf.net>
22048 * docs/gst/gstreamer-sections.txt:
22049 move some macros to private sections
22050 * gst/gstminiobject.c:
22051 * gst/gstminiobject.h:
22052 add descriptions provided by ds and some more
22053 * gst/gstpad.h:
22054 mark macro as to be removed
22056 2005-10-28 Wim Taymans <wim@fluendo.com>
22058 * docs/design/part-TODO.txt:
22059 Add an item to TODO.
22061 * gst/gstiterator.c: (gst_iterator_fold),
22062 (gst_iterator_find_custom):
22063 * gst/gstiterator.h:
22064 Add iterator docs.
22066 2005-10-28 Wim Taymans <wim@fluendo.com>
22068 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22069 (gst_base_transform_init):
22070 Don't leak class.
22072 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22073 An EOS event marks the queue as completely filled.
22075 2005-10-27 Wim Taymans <wim@fluendo.com>
22077 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22078 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22079 Some more debugging.
22081 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22082 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22083 (gst_base_transform_event), (gst_base_transform_getrange),
22084 (gst_base_transform_chain):
22085 * gst/base/gstbasetransform.h:
22086 Fix debugging,
22087 Protect transform and concurrent buffer alloc with a new lock.
22088 Try not to break ABI/API.
22090 2005-10-27 Wim Taymans <wim@fluendo.com>
22092 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22093 (gst_base_src_init), (gst_base_src_query),
22094 (gst_base_src_default_newsegment),
22095 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22096 (gst_base_src_send_event), (gst_base_src_event_handler),
22097 (gst_base_src_pad_get_range), (gst_base_src_loop),
22098 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22099 (gst_base_src_start), (gst_base_src_deactivate),
22100 (gst_base_src_activate_push), (gst_base_src_change_state):
22101 Move some stuff around and cleanup things.
22103 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22105 * gst/base/gstbasesrc.c: (gst_base_src_query):
22106 Add missing break statements.
22108 2005-10-27 Wim Taymans <wim@fluendo.com>
22110 * check/gst/gstbin.c: (GST_START_TEST):
22111 An extra refcount is taken in basesrc.
22113 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22114 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22115 (gst_base_src_loop):
22116 Small cleanups, check for flushing after being unlocked from the
22117 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22118 Don't send out EOS when going to READY.
22120 2005-10-27 Wim Taymans <wim@fluendo.com>
22122 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22123 (gst_base_sink_get_position):
22124 Some more debug.
22126 * gst/gstbin.c: (message_check), (bin_replace_message),
22127 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22128 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22129 (bin_query_duration_init), (bin_query_duration_fold),
22130 (bin_query_duration_done), (bin_query_generic_fold),
22131 (gst_bin_query):
22132 * tools/gst-launch.c: (main):
22133 Remove old option.
22135 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22137 * examples/controller/audio-example.c: (main):
22138 * examples/queue/queue.c: (event_loop):
22139 * gst/base/gstbasetransform.h:
22140 * gst/gstelement.c: (gst_element_send_event):
22141 * gst/gstevent.h:
22142 * gst/gstpad.c: (gst_pad_send_event):
22143 fixing examples
22144 fixing docs typos
22145 changing log priority in error situations
22147 2005-10-25 Wim Taymans <wim@fluendo.com>
22149 * gst/gstbin.c: (message_check), (bin_replace_message),
22150 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22151 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22152 (bin_query_duration_init), (bin_query_duration_fold),
22153 (bin_query_duration_done), (bin_query_generic_fold),
22154 (gst_bin_query):
22155 Some doc and debug updates.
22156 Cache previously requested query DURATION for speed. invalidate
22157 cached duration if element posts a DURATION message.
22159 2005-10-25 Wim Taymans <wim@fluendo.com>
22161 * docs/design/part-TODO.txt:
22162 Update TODO.
22164 * gst/gstbin.c: (message_check), (bin_replace_message),
22165 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22166 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22167 (bin_query_duration_init), (bin_query_duration_fold),
22168 (bin_query_duration_done), (bin_query_generic_fold),
22169 (gst_bin_query):
22170 Handle SEGMENT_START/DONE messages correctly.
22171 More evolved query algorithm that handles duration queries
22172 correctly.
22174 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22175 (gst_element_get_state_func), (gst_element_abort_state),
22176 (gst_element_commit_state), (gst_element_lost_state):
22177 Some more debugging.
22179 * gst/gstmessage.h:
22180 Added doc.
22182 2005-10-25 Wim Taymans <wim@fluendo.com>
22184 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22185 Don't use invalid stream_time.
22187 * gst/gstevent.c: (gst_event_new_newsegment):
22188 stream_time in newsegment cannot be undefined.
22190 2005-10-24 Wim Taymans <wim@fluendo.com>
22192 * gst/gstbus.c:
22193 Doc fix.
22195 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22196 (gst_queue_loop):
22197 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22199 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22201 * docs/libs/tmpl/gstdparam.sgml:
22202 * docs/libs/tmpl/gstdplinint.sgml:
22203 * docs/libs/tmpl/gstdpman.sgml:
22204 * docs/libs/tmpl/gstdpsmooth.sgml:
22205 * docs/libs/tmpl/gstunitconvert.sgml:
22206 these are obsolete
22208 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22210 * configure.ac:
22211 back to HEAD
22213 === release 0.9.4 ===
22215 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22217 * configure.ac:
22218 releasing 0.9.4, "Tyrannosaurus Rex"
22220 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22222 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22223 (gst_file_sink_get_current_offset):
22224 Use fseeko() and ftello() if available. When falling back on
22225 lseek() to get the current offset, fflush() first to make sure
22226 everything is up-to-date and we get the right offset.
22228 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22230 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22231 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22232 * gst/gsterror.c: (_gst_stream_errors_init):
22233 * gst/gsterror.h:
22234 * gst/gstqueue.c: (gst_queue_loop):
22235 * po/POTFILES.in:
22236 remove prematurely added error category and clean up the instances
22238 2005-10-21 Wim Taymans <wim@fluendo.com>
22240 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22241 (gst_base_sink_get_position), (gst_base_sink_query),
22242 (gst_base_sink_change_state):
22243 Simply set the right flag when going to playing, that's all
22244 we need to do instead of calling a function inside the object
22245 lock (that could take the lock as well and deadlock)
22247 2005-10-21 Wim Taymans <wim@fluendo.com>
22249 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22250 (gst_base_src_loop):
22251 Don't warn, the peer element knows what to do best when
22252 the seek failed, it might try something else.
22254 2005-10-21 Wim Taymans <wim@fluendo.com>
22256 * gst/base/gstbasesrc.c: (gst_base_src_init),
22257 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22258 Fix seeking.
22260 2005-10-21 Wim Taymans <wim@fluendo.com>
22262 * docs/design/part-segments.txt:
22263 More docs.
22265 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22266 Correctly set caps, even on the subbufer.
22268 2005-10-21 Wim Taymans <wim@fluendo.com>
22270 * docs/gst/gstreamer-docs.sgml:
22271 * docs/gst/gstreamer-sections.txt:
22272 * gst/gstelement.h:
22273 * gst/gstevent.c:
22274 * gst/gstevent.h:
22275 * gst/gstmessage.h:
22276 * gst/gstpad.h:
22277 * gst/gstparse.h:
22278 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22279 * gst/gsttask.h:
22280 * gst/gstutils.c:
22281 * gst/gstutils.h:
22282 And 2% more doc coverage.
22284 2005-10-21 Andy Wingo <wingo@pobox.com>
22286 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22287 position reporting.
22289 2005-10-20 Wim Taymans <wim@fluendo.com>
22291 * gst/gsterror.c: (gst_error_get_message):
22292 * gst/gstparse.h:
22293 * gst/gstquery.h:
22294 * gst/gststructure.c:
22295 * gst/gsttrace.c:
22296 * gst/gstutils.c:
22297 More docs.
22299 2005-10-20 Wim Taymans <wim@fluendo.com>
22301 * gst/gstbuffer.h:
22302 * gst/gstpad.c:
22303 * gst/gstparse.c:
22304 Another 1% more coverage.
22306 2005-10-20 Wim Taymans <wim@fluendo.com>
22308 * docs/gst/gstreamer-sections.txt:
22309 * gst/gstelement.c: (gst_element_get_state_func),
22310 (gst_element_abort_state), (gst_element_commit_state),
22311 (gst_element_lost_state):
22312 * gst/gstevent.h:
22313 * gst/gstquery.c: (gst_query_set_position),
22314 (gst_query_parse_position), (gst_query_set_duration),
22315 (gst_query_parse_duration), (gst_query_new_convert):
22316 * gst/gstutils.c:
22317 Yay! 1% more docs coverage.
22319 2005-10-20 Wim Taymans <wim@fluendo.com>
22321 * gst/gstpad.h:
22322 * gst/gstquery.c: (gst_query_set_position),
22323 (gst_query_parse_position), (gst_query_set_duration),
22324 (gst_query_parse_duration), (gst_query_new_convert):
22325 * gst/gstquery.h:
22326 * gst/gstutils.c: (gst_element_query_convert):
22327 * gst/gstutils.h:
22328 Docs and consistency fixes.
22330 2005-10-20 Wim Taymans <wim@fluendo.com>
22332 * gst/gsttask.c:
22333 * gst/gsttask.h:
22334 More docs.
22336 2005-10-20 Wim Taymans <wim@fluendo.com>
22338 * gst/gstbin.c: (message_check), (bin_replace_message),
22339 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22340 (update_degree), (gst_bin_sort_iterator_next),
22341 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22342 Reworked the message handling a bit, cache the messages instead of
22343 only the senders. alows us to do more in the future.
22345 2005-10-20 Wim Taymans <wim@fluendo.com>
22347 * docs/design/part-TODO.txt:
22348 Update TODO
22350 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22351 (gst_base_sink_query):
22352 Don't use clock time to report position when in EOS.
22354 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22356 * tools/gst-inspect.c: (print_interfaces),
22357 (print_element_properties_info), (print_element_info):
22358 Fix interface output with gst-inspect -a; don't print
22359 newlines after double/float properties.
22361 2005-10-20 Wim Taymans <wim@fluendo.com>
22363 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22364 (gst_base_sink_query):
22365 Speed up current position calculation.
22367 * gst/base/gstbasesrc.c: (gst_base_src_query),
22368 (gst_base_src_default_newsegment):
22369 Correctly set stream position in newsegment.
22371 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22372 (update_degree), (gst_bin_sort_iterator_next),
22373 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22374 * gst/gstmessage.c: (gst_message_new_custom):
22375 Clean up debugging info
22377 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22378 (gst_queue_loop), (gst_queue_handle_src_query):
22379 Pause task faster.
22381 2005-10-19 Wim Taymans <wim@fluendo.com>
22383 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22384 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22385 Fix query handling again.
22387 2005-10-19 Wim Taymans <wim@fluendo.com>
22389 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22390 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22391 * gst/base/gstbasesrc.c: (gst_base_src_query):
22392 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22393 * gst/elements/gsttypefindelement.c:
22394 (gst_type_find_handle_src_query), (find_element_get_length),
22395 (gst_type_find_element_activate):
22396 API change fix.
22398 * gst/gstquery.c: (gst_query_new_position),
22399 (gst_query_set_position), (gst_query_parse_position),
22400 (gst_query_new_duration), (gst_query_set_duration),
22401 (gst_query_parse_duration), (gst_query_set_segment),
22402 (gst_query_parse_segment):
22403 * gst/gstquery.h:
22404 Bundling query position/duration is not a good idea since duration
22405 does not change much and we don't want to recalculate it for every
22406 position query, so they are separated again..
22407 Base value in segment query is not needed.
22409 * gst/gstqueue.c: (gst_queue_handle_src_query):
22410 * gst/gstutils.c: (gst_element_query_position),
22411 (gst_element_query_duration), (gst_pad_query_position),
22412 (gst_pad_query_duration):
22413 * gst/gstutils.h:
22414 Updates for query API change.
22415 Added some docs here and there.
22417 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22419 * check/gst/gstbin.c: (GST_START_TEST):
22420 * check/gst/gstghostpad.c: (GST_START_TEST):
22421 * check/pipelines/cleanup.c: (GST_START_TEST):
22422 wait on thread to die so we can check refcount correctly
22424 2005-10-18 Wim Taymans <wim@fluendo.com>
22426 * check/pipelines/stress.c: (GST_START_TEST):
22427 Make check a little more time consuming.
22429 2005-10-18 Wim Taymans <wim@fluendo.com>
22431 * check/Makefile.am:
22432 * check/pipelines/stress.c: (GST_START_TEST),
22433 (simple_launch_lines_suite), (main):
22434 Small state change torture test.
22436 * docs/design/part-states.txt:
22437 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22438 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22439 (gst_base_sink_change_state):
22440 Never take state lock from streaming thread, clean up ugly
22441 hacks. Unfortunatly core does not yet support nice ways to
22442 async commit state.
22444 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22445 (bin_bus_handler):
22446 Start state recalc if a STATE_DIRTY message is posted, but only
22447 on the toplevel bin.
22449 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22450 (gst_element_get_state_func), (gst_element_abort_state),
22451 (gst_element_commit_state), (gst_element_lost_state),
22452 (gst_element_set_state_func), (gst_element_change_state):
22453 * gst/gstelement.h:
22454 State variables are now protected with the LOCK, the state
22455 lock is only used to serialize _set_state().
22457 2005-10-18 Wim Taymans <wim@fluendo.com>
22459 * check/gst/gstbin.c: (GST_START_TEST):
22460 * check/gst/gstmessage.c: (GST_START_TEST):
22461 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22462 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22463 (bin_bus_handler):
22464 * gst/gstelement.c: (gst_element_abort_state),
22465 (gst_element_commit_state), (gst_element_lost_state):
22466 * gst/gstmessage.c: (gst_message_new_state_changed),
22467 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22468 (gst_message_new_segment_done), (gst_message_new_duration),
22469 (gst_message_parse_state_changed),
22470 (gst_message_parse_segment_start),
22471 (gst_message_parse_segment_done), (gst_message_parse_duration):
22472 * gst/gstmessage.h:
22473 * tools/gst-launch.c: (event_loop):
22474 Seriously, this is better than a previous commit as we only need
22475 to notify the fact that an element changed state in a streaming
22476 thread, marking the state of the parents dirty, hence the
22477 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22478 message.
22480 2005-10-18 Wim Taymans <wim@fluendo.com>
22482 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22483 (gst_bin_recalc_func):
22484 * gst/gstelement.c: (gst_element_set_clock),
22485 (gst_element_abort_state), (gst_element_lost_state):
22486 Cleanups, prepare for state change fixes.
22488 2005-10-18 Wim Taymans <wim@fluendo.com>
22490 * gst/gstbin.h:
22491 * gst/gstelement.c: (gst_element_class_init),
22492 (gst_element_set_state), (gst_element_set_state_func):
22493 * gst/gstelement.h:
22494 Pending ABI changes.
22495 GThreadPool in GstBinClass to monitor async state changes.
22496 state_cookie in GstElement to detect concurrent gst/set state.
22497 set_state is now virtual too in case a very complicated element
22498 has to be constructed.
22500 2005-10-18 Wim Taymans <wim@fluendo.com>
22502 * check/gst/gstbin.c: (GST_START_TEST):
22503 * check/gst/gstmessage.c: (GST_START_TEST):
22504 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22505 * gst/gstbin.c: (bin_bus_handler):
22506 * gst/gstelement.c: (gst_element_commit_state),
22507 (gst_element_lost_state):
22508 * gst/gstmessage.c: (gst_message_new_state_changed),
22509 (gst_message_new_segment_start), (gst_message_new_segment_done),
22510 (gst_message_new_duration), (gst_message_parse_state_changed),
22511 (gst_message_parse_segment_start),
22512 (gst_message_parse_segment_done), (gst_message_parse_duration):
22513 * gst/gstmessage.h:
22514 * tools/gst-launch.c: (event_loop):
22515 Make messages future proof.
22516 state-change gets a flag if it was a message comming from the
22517 streaming thread.
22518 segment-start/stop can also be specified in other formats.
22519 A message to notify an app that a pipeline changed playback
22520 duration.
22521 Also fix a GstMessage leak in -launch
22523 2005-10-18 Andy Wingo <wingo@pobox.com>
22525 * gst/gstelement.c (gst_element_dispose): More helpful message.
22527 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22529 reviewed by: <delete if not using a buddy>
22531 * common/gtk-doc.mak:
22533 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22535 * gst/gstregistry.c: (gst_registry_scan_path_level):
22536 unref a plug-in we get that was already initialized
22538 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22540 * docs/gst/gstreamer-sections.txt:
22541 * docs/libs/gstreamer-libs-sections.txt:
22542 * gst/gstelement.h:
22543 add new api entries
22544 hide internal macro
22546 2005-10-17 Andy Wingo <wingo@pobox.com>
22548 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22549 cleanup.
22551 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22553 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22555 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22556 (gst_element_get_state_func): Better debug message.
22557 (gst_element_commit_state): s/INFO/DEBUG/.
22558 (gst_element_lost_state, gst_element_change_state):
22560 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22561 (gst_message_new_custom): s/INFO/LOG/.
22563 2005-10-17 Michael Smith <msmith@fluendo.com>
22565 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22566 Check if end time is valid using end time, not start time.
22568 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22570 * check/gst-libs/controller.c: (GST_START_TEST),
22571 (gst_controller_suite):
22572 * libs/gst/controller/gstcontroller.c:
22573 (gst_controlled_property_set_interpolation_mode):
22574 * libs/gst/controller/gstcontroller.h:
22575 * libs/gst/controller/gstinterpolation.c:
22576 * testsuite/controller/.cvsignore:
22577 * testsuite/controller/Makefile.am:
22578 * testsuite/controller/interpolator.c:
22579 merge controller testsuites
22580 fix broken tests
22581 remove mem-chunk from docs
22583 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22585 * gst/gstmemchunk.c:
22586 * gst/gstmemchunk.h:
22587 * gst/gsttrashstack.c:
22588 * gst/gsttrashstack.h:
22589 out. get out. you're fired. to the Attic !
22591 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22593 * gst/gstcaps.c: (gst_caps_intersect):
22594 fix signedness issues in a (hopefully) correct way
22595 * gst/gstelement.c: (gst_element_pads_activate):
22596 some debugging
22597 * gst/gstobject.c: (gst_object_set_parent):
22598 some debugging
22600 2005-10-17 Julien MOUTTE <julien@moutte.net>
22602 * gst/gstvalue.h: Fix prototypes.
22604 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22606 * docs/gst/gstreamer-sections.txt:
22607 * gst/gst.c: (gst_version_string):
22608 * gst/gst.h:
22609 * gst/gstversion.h.in:
22610 * win32/common/libgstreamer.def:
22611 add gst_version_string ()
22613 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22615 * configure.ac:
22616 clean up further
22617 * gst/gst.c: (init_post):
22618 * win32/common/config.h.in:
22619 it's PLUGINDIR now
22620 * gst/gstcaps.c: (gst_caps_intersect):
22621 use gint64, the range could be bigger than a guint
22623 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22625 * gst/gstclock.h:
22626 document potential problem in 2038
22628 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22630 * gst/gstcaps.c: (gst_caps_intersect):
22631 Fix guint j diving under 0
22633 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22635 * configure.ac:
22636 * win32/common/config.h:
22637 * win32/common/config.h.in:
22638 check for process.h, declares getpid() on Windows
22639 * gst/gstinfo.c:
22640 include process.h if we have it
22641 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22642 * gst/gstmemchunk.h:
22643 fix signedness issues
22644 * win32/common/libgstreamer.def:
22645 fix get_type's
22647 2005-10-16 Julien MOUTTE <julien@moutte.net>
22649 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22650 fix. Because of unsigned ints, caps intersection was going nuts and
22651 trying to access structures with G_MAXUINT index. That fixes
22652 videotestsrc ! ffmpegcolorspace ! fakesink
22653 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22654 consistency.
22656 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22658 * configure.ac:
22659 use the gettext macro
22660 * gst/elements/gstelements.c:
22661 * gst/gst.c:
22662 * gst/indexers/gstindexers.c:
22663 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22664 * win32/common/config.h:
22665 updated config.h
22666 * win32/common/config.h.in:
22667 add the template to generate config.h
22668 * win32/common/gstenumtypes.c:
22669 * win32/common/gstversion.h:
22670 updated copies
22672 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22674 * gst/gst.c: (gst_version):
22675 * gst/gstversion.h.in:
22676 add the nano
22678 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22680 * gst/gstevent.h:
22681 Oops, add missing closing bracket.
22683 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22685 * configure.ac:
22686 use common m4's for argument checking
22688 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22690 * docs/gst/gstreamer-sections.txt:
22691 * gst/gstevent.h:
22692 Add GST_EVENT_TYPE_NAME() macro.
22694 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22696 * gst/gstinfo.c:
22697 * gst/gstpluginfeature.c:
22698 * gst/gsttask.c:
22699 privatize more symbols
22701 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22703 * configure.ac:
22704 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22705 everything that uses GStreamer API should have the includes
22707 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22709 * docs/gst/gstreamer-sections.txt:
22710 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22711 * gst/gstvalue.h:
22712 give each value a _get_type, removes the DATA exports
22714 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22716 * gst/gst.c:
22717 * gst/gst.h:
22718 remove _gst_registry_auto_load, not used anymore
22719 * gst/gstbin.c: (gst_bin_get_type):
22720 * gst/gstbin.h:
22721 * gst/gstelement.c: (gst_element_get_type):
22722 * gst/gstelement.h:
22723 * gst/gstobject.c: (gst_object_get_type):
22724 * gst/gstobject.h:
22725 * gst/gstpad.c: (gst_pad_get_type):
22726 * gst/gstpad.h:
22727 make _get_type functions similar, fixes data export from library
22729 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22731 * configure.ac:
22732 correctly make conditionals
22733 * gst/elements/Makefile.am:
22734 * gst/elements/gstelements.c:
22735 fix typo causing fdsrc not to build
22737 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22739 * testsuite/Makefile.am:
22740 * testsuite/bytestream/.cvsignore:
22741 * testsuite/bytestream/Makefile.am:
22742 * testsuite/bytestream/filepadsink.c:
22743 * testsuite/bytestream/gstbstest.c:
22744 * testsuite/bytestream/test1.c:
22745 * testsuite/bytestream/testfile1:
22746 * testsuite/caps/normalisation.c:
22747 * testsuite/caps/random.c: (main):
22748 * testsuite/cleanup/.cvsignore:
22749 * testsuite/cleanup/Makefile.am:
22750 * testsuite/cleanup/cleanup1.c:
22751 * testsuite/cleanup/cleanup2.c:
22752 * testsuite/cleanup/cleanup3.c:
22753 * testsuite/cleanup/cleanup4.c:
22754 * testsuite/cleanup/cleanup5.c:
22755 * testsuite/controller/interpolator.c:
22756 * testsuite/debug/printf_extension.c: (main):
22757 * testsuite/elements/tee.c:
22758 * testsuite/negotiation/.cvsignore:
22759 * testsuite/negotiation/Makefile.am:
22760 * testsuite/negotiation/pad_link.c:
22761 * testsuite/pad/Makefile.am:
22762 * testsuite/pad/chainnopull.c:
22763 * testsuite/pad/getnopush.c:
22764 * testsuite/pad/link.c:
22765 * testsuite/refcounting/sched.c: (create_pipeline):
22766 * testsuite/registry/Makefile.am:
22767 * testsuite/registry/gst-print-formats.c:
22768 * testsuite/schedulers/.cvsignore:
22769 * testsuite/schedulers/142183-2.c:
22770 * testsuite/schedulers/142183.c:
22771 * testsuite/schedulers/143777-2.c:
22772 * testsuite/schedulers/143777.c:
22773 * testsuite/schedulers/147713.c:
22774 * testsuite/schedulers/147819.c:
22775 * testsuite/schedulers/147894-2.c:
22776 * testsuite/schedulers/147894.c:
22777 * testsuite/schedulers/Makefile.am:
22778 * testsuite/schedulers/group_link.c:
22779 * testsuite/schedulers/queue_link.c:
22780 * testsuite/schedulers/relink.c:
22781 * testsuite/schedulers/unlink.c:
22782 * testsuite/schedulers/unref.c:
22783 * testsuite/schedulers/useless_iteration.c:
22784 * testsuite/states/bin.c:
22785 clean out/remove some stuff from the testsuite directories
22787 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22789 * configure.ac:
22790 check for some headers
22791 * gst/elements/Makefile.am:
22792 * gst/elements/gstelements.c:
22793 don't compile fdsrc without sys/socket.h
22794 * gst/indexers/Makefile.am:
22795 * gst/indexers/gstindexers.c: (plugin_init):
22796 don't compile fileindex without mmap
22798 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22800 * configure.ac:
22801 reorganize
22802 clean up
22803 document more
22804 remove cruft
22805 * check/Makefile.am:
22806 * docs/gst/Makefile.am:
22807 * examples/helloworld/Makefile.am:
22808 * gst/Makefile.am:
22809 * gst/base/Makefile.am:
22810 * gst/check/Makefile.am:
22811 * gst/elements/Makefile.am:
22812 * gst/indexers/Makefile.am:
22813 * gst/parse/Makefile.am:
22814 * libs/gst/controller/Makefile.am:
22815 * libs/gst/dataprotocol/Makefile.am:
22816 * examples/helloworld/helloworld.c: (event_loop):
22817 compile fixes, though it's not being compiled currently
22819 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22821 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22822 Add some simple tests for the new taglist date API.
22824 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22826 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22827 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22828 Beautify 'last-message' output: print 'none' for buffer timestamps
22829 and durations if none is set; improve alignment with next messages.
22831 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22833 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22834 * gst/gstpluginfeature.h:
22835 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22836 * gst/gstregistry.h:
22837 * docs/gst/gstreamer-sections.txt:
22838 Add new API to check plugin feature version requirements.
22840 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22841 Some basic tests for the above.
22843 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22845 * gst/gststructure.c: (gst_structure_to_string):
22846 guard against NULL printf - happens when for example
22847 a message structure with GstClock gets serialized
22849 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22851 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22852 Fix presumable copy'n'pasto.
22854 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22856 * gst/elements/gstfakesrc.h:
22857 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22858 * gst/elements/gsttypefindelement.c:
22859 fix some signedness
22860 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22861 I wonder if this could actually write +2GB files before
22863 2005-10-13 Andy Wingo <wingo@pobox.com>
22865 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22866 Fix Timmeke Waymans bug.
22867 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22868 string of the proper length to gst_caps_from_string. There's a
22869 potential for, before this fix, that this could cause someone
22870 connecting over the network to cause a segfault if the payload is
22871 not NUL-terminated.
22873 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22875 * docs/design/draft-push-pull.txt:
22876 * docs/design/part-overview.txt:
22877 * docs/random/TODO-pre-0.9:
22878 * docs/random/old/ChangeLog.gstreamer:
22879 * gst/base/gstpushsrc.c:
22880 * gst/gstclock.c:
22881 fixed typos
22883 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22885 * gst/glib-compat.c: (gst_flags_get_first_value):
22886 * gst/glib-compat.h:
22887 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22888 (gst_value_compare_double), (gst_value_serialize_flags):
22889 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22890 infinite loop
22892 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22894 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22895 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22896 fix up debugging
22897 * tools/gst-launch.c: (event_loop):
22898 print out clock nicely
22900 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22902 * docs/gst/gstreamer-sections.txt:
22903 * gst/gsttaglist.h:
22904 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22905 (gst_tag_list_get_date_index):
22906 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22907 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22909 2005-10-13 Julien MOUTTE <julien@moutte.net>
22911 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22912 (gst_collectpads_chain):
22913 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22914 in CollectData.
22916 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22918 * docs/gst/gstreamer-sections.txt:
22919 * gst/gst.c:
22920 * gst/gsterror.h:
22921 * tools/gst-inspect.c: (main):
22922 * tools/gst-launch.c: (main):
22923 * tools/gst-run.c: (main):
22924 * tools/gst-xmlinspect.c: (main):
22925 fix GOption context leaks
22926 doc fixes
22928 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22930 * gst/gstbus.c:
22931 use HAVE_UNISTD_H
22932 * win32/common/config.h:
22933 update config
22934 * win32/vs6/grammar.dsp:
22935 * win32/vs6/libgstelements.dsp:
22936 * win32/vs6/libgstreamer.dsp:
22937 update vs6 files
22939 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22941 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22942 * gst/base/gstbasesrc.c: (gst_base_src_query):
22943 fix more guint64<->gdouble conversions
22945 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22947 * Makefile.am:
22948 add win32-update target
22949 * win32/common/gstconfig.h:
22950 * win32/common/gstenumtypes.c:
22951 * win32/common/gstenumtypes.h:
22952 * win32/common/gstversion.h:
22953 add files that visual studio can't generate
22955 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22957 * Makefile.am:
22958 add a win32-update target
22959 * configure.ac:
22961 2005-10-12 Wim Taymans <wim@fluendo.com>
22963 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22964 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22965 * gst/gstelement.c: (gst_element_commit_state),
22966 (gst_element_set_state):
22967 Protect flags with proper lock.
22968 unref provided cached clock in dispose.
22970 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22972 * gst/gst.c:
22973 * gst/gstminiobject.h:
22974 * gst/gstpad.h:
22975 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22976 removed unused flags from miniobject
22977 doc fixes
22979 2005-10-12 Wim Taymans <wim@fluendo.com>
22981 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22982 (gst_file_sink_event), (gst_file_sink_render):
22983 Flush before seeking.
22985 2005-10-12 Andy Wingo <wingo@pobox.com>
22987 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22988 always been the case.
22990 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22992 * check/gst/gstbin.c: (GST_START_TEST):
22993 * docs/gst/gstreamer-sections.txt:
22994 * gst/base/gstbasesink.c: (gst_base_sink_init):
22995 * gst/base/gstbasesrc.c: (gst_base_src_init),
22996 (gst_base_src_get_range), (gst_base_src_check_get_range),
22997 (gst_base_src_start), (gst_base_src_stop):
22998 * gst/base/gstbasesrc.h:
22999 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
23000 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
23001 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
23002 (bin_bus_handler):
23003 * gst/gstbin.h:
23004 * gst/gstbuffer.h:
23005 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
23006 * gst/gstbus.h:
23007 * gst/gstelement.c: (gst_element_is_locked_state),
23008 (gst_element_set_locked_state), (gst_element_commit_state),
23009 (gst_element_set_state):
23010 * gst/gstelement.h:
23011 * gst/gstindex.c: (gst_index_init):
23012 * gst/gstindex.h:
23013 * gst/gstminiobject.h:
23014 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
23015 (gst_object_set_parent):
23016 * gst/gstobject.h:
23017 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
23018 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
23019 * gst/gstpad.h:
23020 * gst/gstpadtemplate.h:
23021 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
23022 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
23023 * gst/gstpipeline.h:
23024 * gst/indexers/gstfileindex.c: (gst_file_index_load),
23025 (gst_file_index_commit):
23026 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
23027 * testsuite/pad/link.c: (gst_test_src_init),
23028 (gst_test_filter_init), (gst_test_sink_init):
23029 * testsuite/states/locked.c: (main):
23030 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
23031 moved bitshift from macro to enum definition
23033 2005-10-12 Wim Taymans <wim@fluendo.com>
23035 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
23036 * gst/elements/gstfilesink.c: (gst_file_sink_event),
23037 (gst_file_sink_render):
23038 Some more debugging info.
23040 2005-10-12 Wim Taymans <wim@fluendo.com>
23042 * docs/design/part-states.txt:
23043 * tools/gst-launch.c: (main):
23044 Some doc updates.
23045 Revert non-intentional change.
23047 2005-10-12 Wim Taymans <wim@fluendo.com>
23049 * check/gst/gstbin.c: (GST_START_TEST):
23050 * check/gst/gstelement.c: (GST_START_TEST):
23051 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
23052 * check/gst/gstghostpad.c: (GST_START_TEST):
23053 * check/gst/gstpipeline.c: (GST_START_TEST):
23054 * check/pipelines/simple_launch_lines.c: (run_pipeline):
23055 * check/states/sinks.c: (GST_START_TEST):
23056 * gst/elements/gsttypefindelement.c: (stop_typefinding):
23057 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23058 (gst_bin_remove_func), (gst_bin_get_state_func),
23059 (gst_bin_recalc_state), (gst_bin_change_state_func),
23060 (bin_bus_handler):
23061 * gst/gstelement.c: (gst_element_get_state_func),
23062 (gst_element_get_state), (gst_element_abort_state),
23063 (gst_element_commit_state), (gst_element_set_state),
23064 (gst_element_change_state), (gst_element_change_state_func):
23065 * gst/gstelement.h:
23066 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23067 (gst_pipeline_provide_clock_func):
23068 * gst/gstutils.c: (gst_element_link_pads_filtered):
23069 * tools/gst-launch.c: (main):
23070 * tools/gst-typefind.c: (main):
23071 Use GstClockTime in _get_state() instead of GTimeVal.
23072 Remove old code in gstutils.c
23074 2005-10-12 Andy Wingo <wingo@pobox.com>
23076 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23077 removed.
23079 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23080 there is no task. Shouldn't affect any code, as nothing in our
23081 plugins checks this return value.
23082 (gst_pad_stop_task): Also take the stream lock if the pad has no
23083 task. Docs updated.
23085 2005-10-12 Wim Taymans <wim@fluendo.com>
23087 * gst/gstpad.c: (pre_activate), (post_activate),
23088 (gst_pad_activate_pull), (gst_pad_activate_push):
23089 Cleanup activation code. Reset old state if
23090 activation failed.
23092 2005-10-12 Wim Taymans <wim@fluendo.com>
23094 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23095 (gst_base_sink_change_state):
23096 No need to prerol after receiving EOS.
23098 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23099 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23100 * gst/elements/gstidentity.c: (gst_identity_event):
23101 Print events more verbosely.
23103 2005-10-12 Wim Taymans <wim@fluendo.com>
23105 * check/Makefile.am:
23106 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23107 * check/states/sinks2.c:
23108 Moved sinks2 testcode in sinks check.
23110 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23111 (gst_bin_remove_func), (gst_bin_recalc_state),
23112 (gst_bin_change_state_func), (bin_bus_handler):
23113 Fix potential race condition when _get_state() iterated over an
23114 ASYNC element right before it posted a state completion.
23116 * gst/gstclock.h:
23117 Do proper cast here.
23119 * gst/gstevent.c: (gst_event_new_newsegment),
23120 (gst_event_parse_newsegment):
23121 A playback rate of 0.0 is not allowed.
23123 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23125 * win32/common/config.h:
23126 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23127 (_trewinddir), (_ttelldir), (_tseekdir):
23128 * win32/common/dirent.h:
23129 * win32/common/gtchar.h:
23130 * win32/common/libgstbase.def:
23131 * win32/common/libgstreamer.def:
23132 * win32/vs6/grammar.dsp:
23133 * win32/vs6/gst_inspect.dsp:
23134 * win32/vs6/gst_launch.dsp:
23135 * win32/vs6/gstreamer.dsw:
23136 * win32/vs6/libgstbase.dsp:
23137 * win32/vs6/libgstelements.dsp:
23138 * win32/vs6/libgstreamer.dsp:
23139 Visual Studio 6 project files, and a new common directory.
23140 Phear.
23142 2005-10-11 Wim Taymans <wim@fluendo.com>
23144 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23145 (gst_base_sink_do_sync), (gst_base_sink_query),
23146 (gst_base_sink_change_state):
23147 * gst/base/gstbasesink.h:
23148 Correctly parse newsegment info.
23150 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23152 * gst/gst.c: (init_post):
23153 split plugin paths correctly
23155 2005-10-11 Wim Taymans <wim@fluendo.com>
23157 * check/gst/gstevent.c: (GST_START_TEST):
23158 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23159 (gst_base_sink_change_state):
23160 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23161 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23162 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23163 * gst/gstevent.c: (gst_event_new_newsegment),
23164 (gst_event_parse_newsegment):
23165 * gst/gstevent.h:
23166 Added extra flag to newsegment for future API freeze.
23167 Updated check and base elements.
23169 2005-10-11 Julien MOUTTE <julien@moutte.net>
23171 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23172 (gst_collectpads_add_pad), (gst_collectpads_pop),
23173 (gst_collectpads_event), (gst_collectpads_chain):
23174 * gst/base/gstcollectpads.h: Handle EOS correctly.
23176 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23178 * tools/gst-launch.c: (main):
23179 more null protecting
23181 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23183 * gst/gst-i18n-lib.h:
23184 check for ENABLE_NLS, not GETTEXT_PACKAGE
23185 * gst/gstregistry.c: (gst_registry_add_plugin),
23186 (gst_registry_scan_path_level),
23187 (_gst_registry_remove_cache_plugins):
23188 protect possibly NULL strings
23189 * gst/parse/types.h:
23190 config.h already included before
23191 * tools/gst-inspect.c: (main):
23192 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23193 check for ENABLE_NLS, not GETTEXT_PACKAGE
23194 * tools/gst-launch.c: (main):
23195 check for ENABLE_NLS, not GETTEXT_PACKAGE
23197 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23199 * configure.ac:
23200 if we don't have glib, fail before testing 2.8
23201 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23202 fix a leak, should fix plugins-base testsuite
23204 2005-10-11 Andy Wingo <wingo@pobox.com>
23206 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23207 take the mode we're going to as an arg. Go head and set the mode
23208 and flushing flags now, so that if the activate function starts a
23209 thread all the flags will be in the right state.
23210 (post_activate): Renamed also. Just handle making sure streaming
23211 finishes for the deactivation case, and setting the deactivated
23212 mode.
23213 (gst_pad_set_active): Complain loudly if deactivation fails.
23214 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23215 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23216 remove the terrible hack.
23218 2005-10-11 Wim Taymans <wim@fluendo.com>
23220 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23221 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23222 (gst_bin_recalc_state), (gst_bin_change_state_func),
23223 (gst_bin_dispose), (bin_bus_handler):
23224 * gst/gstbin.h:
23225 Prepare to make current EOS message queue more generic.
23226 Fix some typos.
23228 * gst/gstevent.c: (gst_event_new_newsegment),
23229 (gst_event_parse_newsegment):
23230 * gst/gstevent.h:
23231 Rename base to stream_time.
23233 * gst/gstmessage.h:
23234 Fix typo in docs.
23236 2005-10-11 Wim Taymans <wim@fluendo.com>
23238 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23239 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23240 (gst_bin_change_state_func), (bin_bus_handler):
23241 * gst/gstbin.h:
23242 Work on proper clock selection.
23244 2005-10-11 Edward Hervey <edward@fluendo.com>
23246 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23247 * libs/gst/controller/gstcontroller.h:
23248 Added GList* version of _remove_properties() in order to be able to wrap
23249 it in bindings.
23251 2005-10-11 Wim Taymans <wim@fluendo.com>
23253 * docs/design/part-states.txt:
23254 Some more docs.
23256 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23257 (gst_bin_change_state_func), (bin_bus_handler):
23258 Doc updates. Don't distribute the same clock over and over again.
23260 * gst/gstclock.c:
23261 * gst/gstclock.h:
23262 Doc updates.
23264 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23265 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23266 (gst_pad_send_event):
23267 * gst/gstpad.h:
23268 Make probe emission threadsafe again.
23269 Register quarks and move _get_name() from utils.
23270 Doc updates.
23272 * gst/gstpipeline.c: (gst_pipeline_class_init),
23273 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23274 Only redistribute the clock of it changed.
23276 * gst/gstsystemclock.h:
23277 Doc updates.
23279 * gst/gstutils.c:
23280 * gst/gstutils.h:
23281 Moved the _flow_get_name() to GstPad.
23283 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23285 * check/gst-libs/gdp.c: (GST_START_TEST):
23286 * check/gst/gstcaps.c: (GST_START_TEST):
23287 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23288 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23289 (gst_dp_packet_from_caps):
23290 fix more valgrind warnings before turning up the heat
23292 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23294 * gst/parse/grammar.y:
23295 some cleanup before the hacking
23297 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23299 * gst/base/gstbasesrc.c: (gst_base_src_query):
23300 use conversions
23301 * gst/gstutils.c: (gst_guint64_to_gdouble),
23302 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23303 * gst/gstutils.h:
23304 externalize, basesrc uses it
23305 obviously the implementation needs testing
23307 2005-10-10 Wim Taymans <wim@fluendo.com>
23309 * tests/sched/Makefile.am:
23310 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23311 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23313 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23315 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23316 apparently converting from guint64 to double is not implemented
23317 on MSVC
23319 2005-10-10 Wim Taymans <wim@fluendo.com>
23321 * check/Makefile.am:
23322 * check/generic/states.c: (GST_START_TEST):
23323 * check/gst/gstbin.c: (GST_START_TEST):
23324 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23325 * check/states/sinks.c: (GST_START_TEST):
23326 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23327 (main):
23328 Check fixes, use API as stated in design docs, remove hacks.
23330 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23331 (gst_base_sink_change_state):
23332 Catch stopping our task while we're shutting down.
23334 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23335 (gst_bin_remove_func), (gst_bin_get_state_func),
23336 (gst_bin_recalc_state), (gst_bin_change_state_func),
23337 (bin_bus_handler):
23338 * gst/gstbin.h:
23339 * gst/gstelement.c: (gst_element_init),
23340 (gst_element_get_state_func), (gst_element_abort_state),
23341 (gst_element_commit_state), (gst_element_lost_state),
23342 (gst_element_set_state), (gst_element_change_state),
23343 (gst_element_change_state_func):
23344 * gst/gstelement.h:
23345 New state change algorithm (see #318116)
23347 * gst/gstpipeline.c: (gst_pipeline_class_init),
23348 (gst_pipeline_init), (gst_pipeline_set_property),
23349 (gst_pipeline_get_property), (do_pipeline_seek),
23350 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23351 * gst/gstpipeline.h:
23352 Remove crude state change hacks.
23354 * gst/gstutils.h:
23355 Remove crude hacks.
23357 * tools/gst-launch.c: (main):
23358 Fixes for state change. Needs some more work to fully use the
23359 new stuff.
23361 2005-10-10 Andy Wingo <wingo@pobox.com>
23363 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23365 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23366 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23367 issue.
23369 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23371 * gst/gstiterator.c: (gst_iterator_new):
23372 Fix my previous commit: GTypes passed to gst_iterator_new()
23373 can be fundamental types.
23375 2005-10-10 Wim Taymans <wim@fluendo.com>
23377 * gst/gstelement.c: (gst_element_iterate_pad_list),
23378 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23379 (gst_element_iterate_sink_pads):
23380 Use src/sink pads lists for the respective iterators instead
23381 of filtering.
23383 2005-10-10 Andy Wingo <wingo@pobox.com>
23385 Merged in popt removal + GOption addition patch from Ronald, bug
23386 #169772.
23388 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23389 GstElement macros around, remove popt-related symbols, add goption
23390 stuff.
23392 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23394 * docs/gst/Makefile.am:
23395 * docs/libs/Makefile.am: No POPT_CFLAGS.
23397 * examples/manual/Makefile.am:
23398 * docs/manual/basics-init.xml: Doc updates with an example.
23400 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23401 (gst_init), (parse_one_option), (parse_goption_arg):
23402 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23403 bit of hand merging and debugging to get the GOption stuff working
23404 tho.
23406 * tests/Makefile.am:
23407 * tools/Makefile.am:
23408 * tools/gst-inspect.c: (main):
23409 * tools/gst-launch.c: (main):
23410 * tools/gst-run.c: (main):
23411 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23413 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23415 * gst/gstiterator.c: (gst_iterator_new):
23416 Add assertions to make sure passed GType is likely to really
23417 be a GType (as the compiler won't catch it if the size and
23418 GType arguments get mixed up, see #318447).
23420 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23422 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23424 * gst/gstbin.c: (gst_bin_iterate_sorted):
23425 Pass GType and size arguments to gst_iterator_new() in the right
23426 order (maybe we should make _new() take the GType as first argument
23427 just like _new_list()?) (#318447).
23430 2005-10-10 Wim Taymans <wim@fluendo.com>
23432 * gst/gstelement.c: (gst_element_finalize):
23433 And free the GStaticRecMutex too
23435 2005-10-10 Andy Wingo <wingo@pobox.com>
23437 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23438 Allocate and free the mutex properly.
23440 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23441 New macros.
23442 (GstElement): The state_lock is now recursive. Rebuild your
23443 plugins, suckers. Old macros adapted.
23445 * docs/gst/gstreamer-sections.txt: Doc updates.
23447 * gst/gstutils.h:
23448 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23449 (g_static_rec_cond_wait): Ported from state changes patch, while
23450 we wait on bug #317802 to be solved in a well-distributed GLib.
23452 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23453 gst_element_change_state, variable name changes.
23454 (gst_element_change_state): Split out of gst_element_set_state in
23455 preparation for the state change merge. Doesn't pay attention to
23456 the 'transition' argument.
23457 (gst_element_set_state): Updates, hopefully purely cosmetic.
23458 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23459 state change patch.
23460 (gst_element_get_state_func): Renamed from get_state, cosmetic
23461 changes.
23463 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23465 * gst/elements/gstelements.c:
23466 * win32/GStreamer.vcproj:
23467 * win32/config.h:
23468 * win32/dirent.c: (_tseekdir):
23469 * win32/gst-inspect.vcproj:
23470 * win32/gst-launch.vcproj:
23471 * win32/gstconfig.h:
23472 * win32/gstelements.vcproj:
23473 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23474 * win32/gstreamer.def:
23475 * win32/msvc71.sln:
23476 updates for the win32 build (patch from Sebastien Moutte)
23478 2005-10-10 Andy Wingo <wingo@pobox.com>
23480 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23481 gst_bin_get_state, cleaned up (but no logic changes).
23482 (bin_element_is_sink): Comment updates.
23483 (sink_iterator_filter): Remove needless cast.
23484 (gst_bin_iterate_sinks): Doc update.
23485 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23486 cleaned up (but no logic changes).
23488 * check/states/sinks.c (test_src_sink): Cleanups from the state
23489 change patch.
23490 (test_livesrc_sink): Sync on the state.
23492 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23493 the state change patch.
23495 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23496 change patch.
23498 * check/gst/gstbin.c: Merge in some style fixes and additional
23499 checks from Wim's state change patch.
23501 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23503 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23504 (gst_type_find_helper):
23505 Check whether we have the requested data already in our list of
23506 cached buffers before pulling a new buffer; also make the buffer
23507 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23509 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23511 * gst/gstcaps.c:
23512 * gst/gstevent.c:
23513 doc updates
23514 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23515 don't use long long, it's not portable. Replacing with
23516 gint64 seems to work; let's hope no skeletons fall out of the closet.
23518 2005-10-10 Andy Wingo <wingo@pobox.com>
23520 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23522 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23524 * docs/gst/gstreamer-sections.txt:
23525 * gst/gstevent.c:
23526 * gst/gstevent.h:
23527 * gst/gstinfo.c:
23528 * gst/gstinfo.h:
23529 * gst/gstmessage.c: (gst_message_parse_state_changed):
23530 * gst/gstpad.c:
23531 * gst/gstpad.h:
23532 more docs, fix compilation
23534 2005-10-09 Philippe Khalaf <burger@speedy.org>
23535 * gst/gstmessage.c:
23536 Fixed a few forgotten variables on previous commit
23538 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23540 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23541 Fix evil typefind crasher: getrange() might return a short
23542 buffer at the end of a file, but gst_type_find_peek() must
23543 either return the full data as requested or NULL, but
23544 never a short buffer.
23546 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23548 * gst/gstmessage.c: (gst_message_new_state_changed),
23549 (gst_message_parse_state_changed):
23550 * gst/gstmessage.h:
23551 don't use "new", it's a C++ keyword
23553 2005-10-08 Wim Taymans <wim@fluendo.com>
23555 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23556 * gst/gstelement.c: (gst_element_post_message):
23557 * gst/gstpipeline.c: (gst_pipeline_change_state):
23558 Small docs and debug updates.
23560 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23562 * docs/gst/gstreamer-sections.txt:
23563 * gst/gstelementfactory.c:
23564 * gst/gstevent.c:
23565 * gst/gsttaglist.c:
23566 more docs
23568 2005-10-08 Wim Taymans <wim@fluendo.com>
23570 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23571 (gst_bin_dispose), (bin_bus_handler):
23572 Fix typos, add comments.
23573 Clear EOS list when going to PAUSED from any direction and do it
23574 in a threadsafe way.
23575 Get base time in a threadsafe way too.
23576 Fix confusing debug in the change_state function.
23577 Various other small cleanups.
23579 * gst/gstelement.c: (gst_element_post_message):
23580 Fix very verbose bus posting code.
23582 * gst/gstpipeline.c: (gst_pipeline_class_init),
23583 (gst_pipeline_set_property), (gst_pipeline_get_property),
23584 (gst_pipeline_change_state):
23585 Small ARG_ -> PROP_ cleanup
23587 2005-10-08 Wim Taymans <wim@fluendo.com>
23589 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23590 Do a less CPU demanding EOS check because we can.
23592 2005-10-08 Wim Taymans <wim@fluendo.com>
23594 * libs/gst/dataprotocol/dataprotocol.c:
23595 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23596 (gst_dp_packet_from_event):
23597 * libs/gst/dataprotocol/dataprotocol.h:
23598 * libs/gst/dataprotocol/dp-private.h:
23599 It's about time we bump the version number.
23600 Since event types don't fit in the guint8 anymore describing
23601 the payload type, make payload type 16 bits wide.
23603 2005-10-08 Wim Taymans <wim@fluendo.com>
23605 * docs/design/part-TODO.txt:
23606 * docs/design/part-clocks.txt:
23607 * docs/design/part-events.txt:
23608 * docs/design/part-gstbin.txt:
23609 * docs/design/part-gstelement.txt:
23610 * docs/design/part-gstpipeline.txt:
23611 * docs/design/part-live-source.txt:
23612 * docs/design/part-messages.txt:
23613 * docs/design/part-overview.txt:
23614 * docs/design/part-states.txt:
23615 Many doc updates.
23617 2005-10-08 Wim Taymans <wim@fluendo.com>
23619 * gst/gstevent.c:
23620 * gst/gstevent.h:
23621 Fix event quark registration.
23622 Add some space between events so we can insert them in the
23623 right groups.
23625 2005-10-08 Wim Taymans <wim@fluendo.com>
23627 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23628 (gst_base_sink_handle_buffer):
23629 Better log message.
23631 * gst/gstbus.h:
23632 * gst/gstelement.h:
23633 More docs.
23635 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23636 (gst_queue_set_property), (gst_queue_get_property):
23637 * gst/gstqueue.h:
23638 Remove old unused properties.
23640 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23641 * docs/gst/gstreamer-sections.txt:
23642 * gst/gstmessage.c:
23643 * gst/gstmessage.h:
23644 * gst/gstminiobject.c:
23645 * gst/gstminiobject.h:
23646 * gst/gstobject.h:
23647 * gst/gstpad.h:
23648 * gst/gstutils.h:
23649 lots of new docs and doc fixes
23651 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23653 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23654 * gst/gstplugin.h:
23655 * gst/gstregistry.c: (gst_registry_lookup_locked),
23656 (gst_registry_scan_path_level):
23657 * gst/gstregistryxml.c: (load_plugin):
23658 Only ever load one plugin for a given plugin basename.
23659 This ensures correct overriding of GST_PLUGIN_PATH over
23660 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23661 system installed plugins.
23663 2005-10-08 Wim Taymans <wim@fluendo.com>
23665 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23666 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23667 Prepare for doing QOS.
23669 2005-10-08 Wim Taymans <wim@fluendo.com>
23671 * check/gst/gstbin.c: (GST_START_TEST):
23672 * check/pipelines/cleanup.c: (GST_START_TEST):
23673 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23674 Allow new clock message too.
23676 2005-10-08 Wim Taymans <wim@fluendo.com>
23678 * gst/gstmessage.c: (gst_message_new_error),
23679 (gst_message_new_warning), (gst_message_new_tag),
23680 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23681 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23682 (gst_message_new_segment_start), (gst_message_new_segment_done),
23683 (gst_message_parse_state_changed),
23684 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23685 (gst_message_parse_new_clock):
23686 * gst/gstmessage.h:
23687 Also carry the clock in question.
23689 2005-10-08 Wim Taymans <wim@fluendo.com>
23691 * gst/gstmessage.c: (gst_message_new_custom),
23692 (gst_message_new_eos), (gst_message_new_error),
23693 (gst_message_new_warning), (gst_message_new_tag),
23694 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23695 (gst_message_new_new_clock), (gst_message_new_segment_start),
23696 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23697 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23698 * gst/gstmessage.h:
23699 Clean up.
23700 Added clock related messages.
23702 * gst/gstpipeline.c: (gst_pipeline_change_state):
23703 Post message when the clock changed.
23705 * tools/gst-launch.c: (event_loop):
23706 Print new clock.
23708 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23710 * tools/gst-inspect.c: (print_element_properties_info):
23711 Can't pass NULL strings to g_print() on windows.
23713 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23715 * docs/Makefile.am:
23716 * docs/gst/Makefile.am:
23717 * docs/gst/gstreamer-docs.sgml:
23718 * docs/gst/running.xml:
23719 * docs/version.entities.in:
23720 add a chapter on running GStreamer.
23721 document GST_DEBUG and GST_PLUGIN* env vars
23723 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23725 * Makefile.am:
23726 remove include dir
23727 * configure.ac:
23728 remove PLUGINS_BUILDDIR stuff
23729 * gst/gst.c: (init_post):
23730 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23731 * idiottest.mak:
23732 remove, it was condescending and not needed
23734 2005-10-08 Wim Taymans <wim@fluendo.com>
23736 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23737 (gst_base_sink_handle_object), (gst_base_sink_event),
23738 (gst_base_sink_wait), (gst_base_sink_handle_event),
23739 (gst_base_sink_change_state):
23740 * gst/base/gstbasesink.h:
23741 Repost EOS message while going to PLAYING if still EOS.
23742 Make sure that when receiving a FLUSH_START we don't attempt
23743 to sync on the clock anymore.
23745 2005-10-08 Wim Taymans <wim@fluendo.com>
23747 * tools/gst-launch.c: (event_loop):
23748 Better message printout.
23750 2005-10-08 Wim Taymans <wim@fluendo.com>
23752 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23753 (gst_bin_child_proxy_get_children_count):
23754 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23755 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23756 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23757 (gst_child_proxy_set_valist):
23758 * gst/parse/grammar.y:
23759 Make ChildProxy threadsafe and fix mem leaks.
23761 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23763 * gst/gst.c: (init_post):
23764 debug the GST_PLUGIN_ env vars
23766 2005-10-08 Wim Taymans <wim@fluendo.com>
23768 * check/gst/gstbin.c: (GST_START_TEST):
23769 * check/gst/gstmessage.c: (GST_START_TEST):
23770 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23771 * gst/gstelement.c: (gst_element_commit_state),
23772 (gst_element_lost_state):
23773 * gst/gstmessage.c: (gst_message_new_state_changed),
23774 (gst_message_parse_state_changed):
23775 * gst/gstmessage.h:
23776 * tools/gst-launch.c: (event_loop):
23777 Added extra field to STATE_CHANGE message with the pending
23778 state, which will be different from the new state soon.
23780 2005-10-08 Wim Taymans <wim@fluendo.com>
23782 * gst/gstbus.c: (gst_bus_pop):
23783 * gst/gstclock.c:
23784 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23785 Small cleanups and doc updates.
23787 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23789 * gst/gst.c: (init_pre):
23790 * gst/gstbin.c: (gst_bin_add_func):
23791 log distributing clocks and base time
23792 * gst/gstregistry.c: (gst_registry_add_plugin),
23793 (gst_registry_scan_path_level), (gst_registry_scan_path):
23794 clean up the debugging output a little
23795 * gst/gstutils.c: (gst_element_state_get_name):
23796 warn about a memleak (I've actually seen this be used, though
23797 it was probably a bug)
23799 2005-10-07 Wim Taymans <wim@fluendo.com>
23801 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23802 (gst_base_src_init), (gst_base_src_default_newsegment),
23803 (gst_base_src_newsegment), (gst_base_src_do_seek),
23804 (gst_base_src_loop), (gst_base_src_start):
23805 * gst/base/gstbasesrc.h:
23806 Make the newsegment event customizable by subclasses.
23808 2005-10-07 Wim Taymans <wim@fluendo.com>
23810 * gst/gstevent.c: (gst_event_new_buffersize),
23811 (gst_event_parse_buffersize):
23812 * gst/gstevent.h:
23813 New event for future idea.
23815 2005-10-07 Andy Wingo <wingo@pobox.com>
23817 * gst/gstelement.c (gst_element_post_message): Doc update.
23819 * docs/gst/gstreamer-sections.txt: Update.
23821 * gst/gstmessage.c (gst_message_new_application): Made into a
23822 function like honest API calls.
23823 (gst_message_new_element): New message type.
23825 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23827 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23828 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23829 times.
23831 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23832 NO_PREROLL from gst_element_change_state to fall through.
23834 2005-10-07 Wim Taymans <wim@fluendo.com>
23836 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23837 (gst_ghost_pad_do_activate_push):
23838 Activating a ghostpad with no internal pad in push mode
23839 is ok.
23841 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23843 * gst/gstobject.h:
23844 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23845 Fixes compilation on Windows.
23847 2005-10-07 Michael Smith <msmith@fluendo.com>
23849 * tools/gst-inspect.c:
23850 Print out feature and plugin count at the end when printing out
23851 all features.
23853 2005-10-04 Michael Smith <msmith@fluendo.com>
23855 * gst/gsterror.c: (_gst_stream_errors_init):
23856 Add another error string used in a few existing plugins.
23858 * gst/gstplugin.c:
23859 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23860 * tools/gst-inspect.c: (print_element_info):
23861 When a feature disappears from a plugin (and the feature exists in
23862 the cached registry file), things went horribly wrong. This isn't a
23863 complete fix, we should actually be removing the 'missing' features
23864 from the features list when we load the actual plugin. That's not
23865 yet implemented.
23867 2005-10-04 Johan Dahlin <johan@gnome.org>
23869 * check/gst/gstiterator.c: (GST_START_TEST):
23870 * gst/gstbin.c: (gst_bin_iterate_elements),
23871 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23872 * gst/gstelement.c: (gst_element_iterate_pads):
23873 * gst/gstformat.c: (gst_format_iterate_definitions):
23874 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23875 (gst_iterator_new_list), (gst_iterator_filter):
23876 * gst/gstiterator.h:
23877 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23878 Add a GType to GstIterator, update callsites and tests.
23880 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23882 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23883 give events a chance to be handled by event probes when the pad
23884 is not linked
23886 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23888 * gst/gstevent.c: (gst_event_type_get_name),
23889 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23890 * gst/gstevent.h:
23891 add string representations for event types
23893 2005-10-06 Wim Taymans <wim@fluendo.com>
23895 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23896 Don't use NULL pointers.
23898 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23900 * gst/gst_private.h:
23901 * gst/gstbus.c:
23902 * gst/gstelement.c:
23903 * gst/gstinfo.c:
23904 * gst/gstpluginfeature.c:
23905 widen the debug category in output to fit the biggest one we have
23906 add a bus category and use it
23907 play with the colors
23908 fix up some categories
23910 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23912 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23913 add push activation of sink ghost pads.
23914 Andye, please verify
23916 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23918 * gst/gstutils.c: (gst_element_link_pads):
23919 fix a bug in the case where neither element has a pad
23920 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23921 add a test for that case
23923 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23925 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23926 emit have-data before checking for peers. This allows
23927 for probe handlers to connect elements. This helps autopluggers.
23928 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23929 (gst_pad_suite):
23930 add six checks, linked/unlinked with no/true/false probe
23932 2005-10-04 Wim Taymans <wim@fluendo.com>
23934 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23935 (gst_fake_sink_event), (gst_fake_sink_preroll),
23936 (gst_fake_sink_render), (gst_fake_sink_change_state):
23937 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23938 (gst_fake_src_get_property), (gst_fake_src_create),
23939 (gst_fake_src_stop):
23940 * gst/elements/gstidentity.c: (gst_identity_stop):
23941 Protect last_message with lock.
23943 2005-10-04 Edward Hervey <edward@fluendo.com>
23945 * gst/gstformat.h:
23946 Added precision in the comments for GST_FORMAT_DEFAULT
23948 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23950 * tools/gst-launch.c: (main):
23951 Don't try to run erroneous pipelines.
23953 2005-10-04 Julien MOUTTE <julien@moutte.net>
23955 * gst/gstbus.c: We don't need this header.
23957 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23959 * configure.ac:
23960 back to development
23962 === release 0.9.3 ===
23964 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23966 * README:
23967 * configure.ac:
23968 Releasing 0.9.3, "Unregistered"
23970 2005-10-03 Andy Wingo <wingo@pobox.com>
23972 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23973 whereby calling a pad's activatepush() function can start a thread
23974 that starts to push or pull before the pad gets the FLUSHING flag
23975 unset. Hack around it by holding the stream lock until the flag is
23976 set. Need to replace this with a proper solution. Together with
23977 the ghost pad fixes, this fixes mp3 playing/tagreading.
23979 * docs/design/part-gstghostpad.txt: Add a note about activation of
23980 proxy pads outside of ghost pads.
23982 * gst/gstghostpad.c: Implement the ghost pad activation design.
23984 2005-10-02 Andy Wingo <wingo@pobox.com>
23986 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23987 It is volatile, after all.
23989 * docs/design/part-gstghostpad.txt: Flesh out activation with
23990 ghost pads.
23992 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23993 GST_DEBUG_FUNCPTR.
23995 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23997 * configure.ac:
23998 Fix (unused) AM_CONDITIONAL tests.
24000 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
24002 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24004 * gst/gstutils.c: (gst_pad_query_convert):
24005 Add assertion that makes sure src_val is >=0, just like
24006 gst_query_new_convert() has. (#315895)
24008 2005-09-30 Edward Hervey <edward@fluendo.com>
24010 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
24011 Let's not iterate pads we're not interested in, it avoids getting
24012 sky-high refcounts on sinkpad.
24014 2005-09-30 Wim Taymans <wim@fluendo.com>
24016 * gst/gstelement.c: (gst_element_set_state),
24017 (gst_element_change_state):
24018 Small tweak, element in ASYNC remains ASYNC.
24020 2005-09-30 Wim Taymans <wim@fluendo.com>
24022 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
24023 Only error is an error.
24025 * gst/gstbin.c: (gst_bin_change_state):
24026 Better debugging.
24028 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
24029 Also call pad_block in pad alloc.
24031 * gst/gstutils.c: (gst_flow_get_name):
24032 Better debugging.
24034 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24036 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24037 (gst_base_src_get_range):
24038 Fix documentation typos. Add some more debug info.
24040 2005-09-29 David Schleef <ds@schleef.org>
24042 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
24043 more end-user friendly.
24044 * tools/gst-inspect.c: (main): Check if command-line argument is
24045 a file and attempt to load that file as a plugin.
24047 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24049 * check/gst/gstbin.c:
24050 * check/states/sinks.c:
24051 fix tests for the new warning
24052 * check/gst/gstpipeline.c:
24053 add a test for pipeline and bus interaction
24054 * gst/gstelement.c:
24055 elements should be NULL if they get disposed; add a warning if not
24057 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24059 * gst/gstobject.c:
24060 for 2.6 refcounting, make debug log more correct by printing
24061 the actual refcounts at the time of swap (Wim)
24063 2005-09-29 Andy Wingo <wingo@pobox.com>
24065 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24066 removes signal watches previously added via
24067 gst_bus_add_signal_watch.
24068 (gst_bus_add_signal_watch): Don't return the source id, just store
24069 it on the bus if there wasn't an id already.
24071 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24072 add_signal_watch and remove_signal_watch.
24074 2005-09-29 Edward Hervey <edward@fluendo.com>
24076 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24077 Better if we actually iterate the list :)
24079 2005-09-29 Wim Taymans <wim@fluendo.com>
24081 * check/gst/gstbin.c: (GST_START_TEST):
24082 Change for new bus API.
24084 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24085 (send_messages), (GST_START_TEST), (gstbus_suite):
24086 Change for new bus signal API.
24088 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24089 (gst_bus_source_prepare), (gst_bus_source_check),
24090 (gst_bus_create_watch), (gst_bus_add_watch_full),
24091 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24092 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24093 * gst/gstbus.h:
24094 Remove support for multiple GSources operating on different
24095 message types as it is too complex and unneeded when using
24096 signals.
24097 Added support for receiving signals from the bus.
24099 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24101 * docs/libs/tmpl/gstdataprotocol.sgml:
24102 * docs/manual/advanced-dataaccess.xml:
24103 * gst/elements/gstcapsfilter.c:
24104 * gst/gstutils.c:
24105 rename filter-caps to caps property
24107 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24109 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24110 More robust fraction string parsing.
24112 * docs/pwg/appendix-porting.xml:
24113 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24115 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24117 * gst/gstcaps.c: (gst_caps_do_simplify):
24118 Thou shalt not free a structure and then continue using it
24119 in the next loop iteration.
24121 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24122 (gst_caps_suite):
24123 Add test case for caps simplification.
24125 2005-09-29 Wim Taymans <wim@fluendo.com>
24127 * check/gst/gstbin.c: (GST_START_TEST):
24128 Oops.
24130 2005-09-29 Wim Taymans <wim@fluendo.com>
24132 * check/gst/gstbin.c: (GST_START_TEST):
24133 Add bus to bin.
24135 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24136 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24137 (find_element), (gst_bin_sort_iterator_next),
24138 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24139 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24140 (gst_bin_change_state), (gst_bin_dispose):
24141 A bin does not have a bus, it gets the bus from the parent.
24143 * gst/gstelement.c: (gst_element_requires_clock),
24144 (gst_element_provides_clock), (gst_element_is_indexable),
24145 (gst_element_is_locked_state), (gst_element_change_state),
24146 (gst_element_set_bus_func):
24147 Small cleanups.
24149 * gst/gstpipeline.c: (gst_pipeline_class_init),
24150 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24151 The pipeline provides a bus.
24153 2005-09-28 Johan Dahlin <johan@gnome.org>
24155 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24156 gst_structure_get_enum instead of gst_structure_get_int
24158 * gst/gststructure.c (gst_structure_get_enum): Impl.
24160 * gst/gststructure.h (gst_structure_get_enum): Add
24162 * docs/gst/gstreamer-sections.txt: Ditto
24164 * gst/gstmessage.c (gst_message_new_state_changed): Use
24165 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24166 which does introspection.
24167 Reviewed by Christian Schaller
24169 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24171 * gst/gstinfo.c: (gst_debug_log_default):
24172 don't do dummy g_strdup()s
24173 * libs/gst/controller/gstcontroller.c:
24174 (on_object_controlled_property_changed),
24175 (gst_controlled_property_new), (gst_controller_new_valist),
24176 (gst_controller_new_list),
24177 (gst_controller_remove_properties_valist), (gst_controller_set),
24178 (gst_controller_get), (gst_controller_sync_values),
24179 (gst_controller_get_value_array), (_gst_controller_class_init),
24180 (gst_controller_get_type):
24181 * libs/gst/controller/gstcontroller.h:
24182 * libs/gst/controller/gstinterpolation.c:
24183 (gst_controlled_property_find_timed_value_node):
24184 convert // to /**/ comments
24186 2005-09-28 Wim Taymans <wim@fluendo.com>
24188 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24189 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24190 (gst_bus_sync_signal_handler):
24191 * gst/gstbus.h:
24192 Added async-message and sync-message signals to the bus.
24193 Added helper BusFunc to emit signals for all posted messages.
24195 * gst/gstmessage.c: (gst_message_type_get_name),
24196 (gst_message_type_to_quark), (gst_message_get_type):
24197 * gst/gstmessage.h:
24198 Register quarks for message names.
24200 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24202 * docs/libs/gstreamer-libs-sections.txt:
24203 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24204 (gst_controller_new_list):
24205 * libs/gst/controller/gstcontroller.h:
24206 added another constructor for language bindings
24208 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24210 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24211 add another check
24212 * gst/gstbus.c:
24213 add some doc
24214 * gst/gstinfo.c: (_gst_debug_init):
24215 slightly more readable color for refcount debugging
24217 2005-09-28 Wim Taymans <wim@fluendo.com>
24219 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24220 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24221 (find_element), (gst_bin_sort_iterator_next),
24222 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24223 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24224 (gst_bin_change_state), (gst_bin_dispose):
24225 Small doc fixes. get_clock -> provide_clock.
24227 * gst/gstelement.c: (gst_element_class_init),
24228 (gst_element_provides_clock), (gst_element_provide_clock),
24229 (gst_element_get_clock), (gst_element_commit_state),
24230 (gst_element_lost_state):
24231 * gst/gstelement.h:
24232 Make get/set_clock() symetric. Add provide_clock vmethod since
24233 that is actually what this function does.
24235 * gst/gstpipeline.c: (gst_pipeline_class_init),
24236 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24237 (gst_pipeline_get_clock):
24238 get_clock -> provide_clock.
24240 2005-09-28 Andy Wingo <wingo@pobox.com>
24242 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24243 lieu of real docs...
24245 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24247 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24249 * gst/elements/gstcapsfilter.c:
24250 * gst/elements/gstfakesink.c:
24251 * gst/elements/gstfakesrc.c:
24252 * gst/elements/gstfdsink.c:
24253 * gst/elements/gstfdsrc.c:
24254 * gst/elements/gstfilesink.c:
24255 * gst/elements/gstfilesrc.c:
24256 * gst/elements/gstidentity.c:
24257 * gst/elements/gsttee.c:
24258 * gst/elements/gsttypefindelement.c:
24259 Make element details static.
24261 2005-09-28 Wim Taymans <wim@fluendo.com>
24263 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24264 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24265 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24266 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24267 (gst_bin_change_state), (gst_bin_dispose):
24268 Some documentation updates.
24269 Clean up dispose handlers.
24271 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24272 * gst/gstpad.c: (gst_pad_dispose):
24273 Clean up dispose handler.
24275 * gst/gstpipeline.c: (gst_pipeline_change_state):
24276 Removed spurious UNLOCK.
24278 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24280 * docs/gst/gstreamer-sections.txt:
24281 * gst/base/gstbasesrc.h:
24282 * gst/gstelement.h:
24283 * gst/gstevent.h:
24284 * gst/gstobject.h:
24285 * gst/gstpad.h:
24286 * gst/gstpipeline.c:
24287 * gst/gstpipeline.h:
24288 * gst/gstutils.h:
24289 * gst/gstxml.h:
24290 added two new functions to the docs
24291 documents all undocumented GstXXXFlags
24292 completed some incomplete docs
24294 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24296 * gst/gstbin.c: (gst_bin_dispose):
24297 * gst/gstelement.c: (gst_element_dispose):
24298 remove now useless and leaky resurrection code in dispose
24299 * gst/base/gstbasesrc.c: (gst_base_src_init):
24300 * gst/gstelementfactory.c: (gst_element_factory_create):
24301 * gst/gstobject.c: (gst_object_set_parent):
24302 add some debugging
24304 2005-09-27 Wim Taymans <wim@fluendo.com>
24306 * docs/design/part-TODO.txt:
24307 Update TODO.
24309 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24310 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24311 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24312 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24313 (gst_bin_change_state):
24314 * gst/gstelement.h:
24315 Remove element variable, we keep element info in the iterator now.
24317 2005-09-27 Andy Wingo <wingo@pobox.com>
24319 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24320 values.
24322 2005-09-27 Wim Taymans <wim@fluendo.com>
24324 * check/gst/gstbin.c: (GST_START_TEST):
24325 Enable check that works now.
24327 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24328 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24329 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24330 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24331 (gst_bin_change_state):
24332 * gst/gstbin.h:
24333 Redid the state change algorithm using a topological sort algo.
24334 Handles all cases correctly.
24335 Exposed iterator for state change order.
24337 * gst/gstelement.h:
24338 Temp storage for state changes. Need to get rid of this soon.
24340 2005-09-27 Wim Taymans <wim@fluendo.com>
24342 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24343 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24344 (link_fold_func), (gst_pad_proxy_setcaps):
24345 Leak fixes, the fold functions need to unref the passed object and
24346 _get_parent_*() returns ref to parent.
24348 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24350 * check/gst/gstbuffer.c: (test_make_writable):
24351 Plug leak in test case and fix 'make check-valgrind'
24353 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24355 * gst/gstbuffer.c: (gst_subbuffer_init):
24356 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24357 works correctly in all circumstances (we could have just copied
24358 the parent buffer's readonly flag, but conceptually it seems
24359 cleaner to mark all subbuffers as read-only). (based on patch
24360 by Alessandro Decina, #314710).
24362 * check/gst/gstbuffer.c: (create_read_only_buffer),
24363 (test_make_writable), (test_subbuffer_make_writable),
24364 (gst_test_suite):
24365 Add some tests for gst_buffer_make_writable().
24367 2005-09-27 Wim Taymans <wim@fluendo.com>
24369 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24370 use gst_object_has_ancestor().
24372 * gst/gstobject.c: (gst_object_has_ancestor):
24373 * gst/gstobject.h:
24374 gst_object_has_ancestor() copied from gstbin.c as it is a
24375 useful function.
24377 * tests/instantiate/create.c: (create_all_elements):
24378 * tests/lat.c: (handoff_src), (handoff_sink):
24379 * tests/sched/runxml.c: (main):
24380 * tests/seeking/seeking1.c: (main):
24381 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24382 (main):
24383 Fix compilation of some tests.
24385 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24387 * gst/gsterror.h:
24388 Remove comment. GST_TYPE_G_ERROR is here to stay,
24389 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24390 (#316961, #300610).
24392 2005-09-26 Wim Taymans <wim@fluendo.com>
24394 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24395 Added check that shows error in state change order.
24397 2005-09-26 Wim Taymans <wim@fluendo.com>
24399 * gst/gstbin.c: (gst_bin_change_state):
24400 Make state change function use 3 queues again, we were
24401 adding elements in the wrong order.
24403 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24404 Some debug info,
24406 * gst/gstpad.c: (gst_pad_dispose):
24407 Added some debug info first.
24409 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24411 * docs/design/draft-push-pull.txt:
24412 * docs/design/part-events.txt:
24413 * docs/design/part-overview.txt:
24414 * docs/design/part-scheduling.txt:
24415 Replace all _pull_region() with _pull_range()
24417 2005-09-26 Andy Wingo <wingo@pobox.com>
24419 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24421 * check/gst-libs/controller.c: Update for controller api change.
24423 * configure.ac:
24424 * tests/Makefile.am:
24425 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24426 over by GLib bug 118439.
24428 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24429 routines to a function.
24431 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24433 * libs/gst/controller/gsthelper.c:
24434 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24435 (gst_object_sync_values): Renamed from sink_values. Ugh.
24437 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24439 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24440 Renamed from controller_key, as it is exported.
24442 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24444 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24446 * gst/Makefile.am:
24447 * gst/gst.h:
24448 * gst/gstpad.h:
24449 * gst/gstpadtemplate.h:
24450 * gst/gstquery.c:
24451 * gst/gstquery.h:
24452 * gst/gstqueryutils.c:
24453 * gst/gstqueryutils.h:
24454 remove queryutils headers after moving the two used functions
24455 to gstquery. also fixes build problem for gstsiddec
24457 2005-09-26 Michael Smith <msmith@fluendo.com>
24459 * tools/gst-launch.1.in:
24460 Correct documentation in manpage of debug syntax
24462 2005-09-26 Wim Taymans <wim@fluendo.com>
24464 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24465 (gst_base_src_is_seekable), (gst_base_src_change_state):
24466 Some more debugging info.
24468 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24470 * docs/gst/gstreamer-sections.txt:
24471 * gst/base/gstbasetransform.h:
24472 * gst/gstindex.h:
24473 added more docs
24475 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24477 * docs/gst/.cvsignore:
24478 * docs/gst/tmpl/.cvsignore:
24479 * docs/gst/tmpl/gstpipeline.sgml:
24480 * docs/gst/tmpl/gstplugin.sgml:
24481 * gst/gstpipeline.c:
24482 * gst/gstplugin.c:
24483 * gst/gstplugin.h:
24484 inlined the last two docs files
24485 removed the tmpl directory from cvs (no more conflicts here!)
24487 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24489 * docs/gst/gstreamer-sections.txt:
24490 * docs/gst/tmpl/.cvsignore:
24491 * docs/gst/tmpl/gstpad.sgml:
24492 * docs/gst/tmpl/gstpadtemplate.sgml:
24493 * gst/Makefile.am:
24494 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24495 (gst_pad_finalize), (gst_pad_set_pad_template):
24496 * gst/gstpad.h:
24497 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24498 (gst_pad_template_class_init), (gst_pad_template_init),
24499 (gst_pad_template_dispose), (name_is_valid),
24500 (gst_static_pad_template_get), (gst_pad_template_new),
24501 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24502 (gst_pad_template_pad_created):
24503 * gst/gstpadtemplate.h:
24504 inlined two more docs
24505 factored gstpadtemplate out of gstpad
24507 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24509 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24510 (test_children_state_change_order_semi_sink):
24511 Fix test case: we can't rely on a fixed state change order when
24512 going from READY => PAUSED because the sink might commit its
24513 new state first when the first buffer created by the source
24514 reaches the sink before the source has finished its change state.
24515 (Test case still fails at times, see #316856, comment 5 onwards)
24517 2005-09-24 Wim Taymans <wim@fluendo.com>
24519 * docs/design/part-events.txt:
24520 * docs/design/part-gstbus.txt:
24521 * docs/design/part-gstpipeline.txt:
24522 * docs/design/part-messages.txt:
24523 * docs/design/part-overview.txt:
24524 * docs/design/part-segments.txt:
24525 * gst/gstbin.c:
24526 * gst/gstbuffer.c:
24527 * gst/gstclock.c:
24528 * gst/gstelement.c:
24529 * gst/gstevent.c:
24530 * gst/gstfilter.c:
24531 * gst/gstiterator.c:
24532 Various documentation updates.
24534 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24536 * gst/gstclock.h:
24537 Well, that's embarassing. Luckily we weren't using
24538 GST_CLOCK_DIFF anywhere.
24540 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24542 * common/gtk-doc.mak:
24543 don't fail on building XML, FC4 slave shows a bunch of doc
24544 missing bits that I don't get
24545 * gst/gstpad.c:
24546 * gst/gstpipeline.c:
24547 * gst/gststructure.c:
24548 some doc updates
24550 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24552 * docs/design/part-gstbin.txt:
24553 * docs/design/part-gstbus.txt:
24554 * gst/gstbus.c:
24555 Add blurb about how the bus goes into flushing mode and
24556 drops all messages when its bin goes from READY into NULL
24557 state.
24559 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24561 * docs/gst/gstreamer-sections.txt:
24562 * gst/gststructure.c: (gst_structure_get_clock_time):
24563 * gst/gststructure.h:
24564 add a method to get a GstClockTime out of a structure
24566 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24568 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24569 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24570 Added test to check state change order in bins (can still be made
24571 to fail here under heavy disk load; bails out with 'Push on pad
24572 fakesink:sink0, but it was not activated in push mode').
24574 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24575 Fix state change order when there is only a semi sink (#316856)
24577 * gst/gstbus.c: (gst_bus_class_init):
24578 Use _class_peek_parent(), not _class_ref(); fix docs to say
24579 'default main context' instead of 'mainloop' where that is
24580 what's meant.
24582 * gst/gstelement.c: (gst_element_commit_state),
24583 (gst_element_set_state):
24584 Fix typos in debug messages
24586 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24588 * docs/README:
24589 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24590 * gst/gstpluginfeature.c:
24591 * gst/gstutils.c:
24592 various doc updates
24593 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24594 change an assert into an error until it gets fixed properly
24596 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24598 * docs/gst/gstreamer-sections.txt:
24599 * docs/gst/tmpl/.cvsignore:
24600 * docs/gst/tmpl/gstelement.sgml:
24601 * docs/gst/tmpl/gstinfo.sgml:
24602 * docs/gst/tmpl/gstobject.sgml:
24603 * gst/gstelement.c:
24604 * gst/gstelement.h:
24605 * gst/gstinfo.c:
24606 * gst/gstinfo.h:
24607 * gst/gstobject.c: (gst_object_class_init):
24608 * gst/gstobject.h:
24609 inlined 3 more biiiig doc files and added some missing docs on the fly
24611 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24613 * check/gst/.cvsignore:
24614 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24615 * gst/gstregistryxml.c: (load_plugin),
24616 (gst_registry_xml_save_plugin):
24617 put back source in registry. add checks for find_plugin.
24618 * testsuite/states/bin.c: (assert_state), (empty_bin),
24619 (test_adding_one_element), (main):
24620 * testsuite/states/locked.c: (main):
24621 some compile/run fixes
24623 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24625 * check/gst/gstvalue.c: (GST_START_TEST):
24626 fix leaks in the test itself
24628 2005-09-22 Wim Taymans <wim@fluendo.com>
24630 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24631 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24632 (gst_base_sink_query):
24633 Prepare for more accurate position reporting and query
24634 handling.
24636 * gst/gstelement.c: (gst_element_send_event),
24637 (gst_element_set_state):
24638 Add some comment.
24640 2005-09-22 Wim Taymans <wim@fluendo.com>
24642 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24643 (gst_query_parse_segment):
24644 * gst/gstquery.h:
24645 More documentation.
24646 Add segment query for future use.
24648 2005-09-22 Wim Taymans <wim@fluendo.com>
24650 * gst/gstbin.c: (gst_bin_add_func):
24651 Some more debug info.
24653 * gst/gstelement.c: (gst_element_send_event):
24654 Simplify send_event
24656 * gst/gstelement.h:
24657 Don't know how flags got broken.
24659 * gst/gstquery.h:
24660 Added new query.
24662 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24664 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24665 Add simplistic test suite for GST_TYPE_DATE serialisation and
24666 deserialisation.
24668 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24670 * docs/gst/gstreamer-sections.txt:
24671 * gst/gststructure.c: (gst_structure_set_valist),
24672 (gst_structure_get_date):
24673 * gst/gststructure.h:
24674 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24675 (gst_date_copy), (gst_value_compare_date),
24676 (gst_value_serialize_date), (gst_value_deserialize_date),
24677 (gst_value_transform_date_string),
24678 (gst_value_transform_string_date), (_gst_value_initialize):
24679 * gst/gstvalue.h:
24680 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24681 bunch of utility functions along with a hack that checks that
24682 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24683 is required. Part of the grand scheme in #170777.
24685 2005-09-22 Andy Wingo <wingo@pobox.com>
24687 * gst/gstconfig.h.in: Psych out gtk-doc.
24689 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24691 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24693 * tools/gst-inspect.c (print_element_list): Plug some
24694 inconsequential leaks.
24696 * gst/gstregistry.c (gst_registry_get_default): Doc.
24698 * check/gst/gstplugin.c:
24699 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24700 * gst/gstelementfactory.c (gst_element_factory_create):
24701 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24702 refcount changes.
24704 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24705 (gst_plugin_feature_load): Doc, don't eat refs.
24707 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24708 (gst_plugin_list_free): Doc.
24709 (gst_plugin_load_file): Doc updates.
24711 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24712 accessors returning refcounted objects, return a ref.
24714 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24715 accessor for caps. IDEMPOTENCE. Oh yes.
24717 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24719 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24721 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24722 (_gst_debug_register_funcptr):
24723 Add mutex to serialise access to the hash table with
24724 the function pointer => function name string mapping;
24725 make that hash table static scope (#316809).
24727 * gst/registries/.cvsignore:
24728 Remove left-over file.
24730 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24732 * docs/pwg/appendix-porting.xml:
24733 And something about newsegment events and caps-on-buffers to
24734 the porting guide (feel free to improve).
24736 2005-09-21 Andy Wingo <wingo@pobox.com>
24738 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24739 data and event probes on the same pad.
24740 (test_buffer_probe_once): Test that removing probes from within
24741 the probe functions works.
24743 2005-09-21 Andy Wingo <wingo@pobox.com>
24745 * check/gst/gstutils.c: New file.
24746 (test_buffer_probe_n_times): A simple buffer probe test. More to
24747 come, foolios.
24749 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24750 have-data::buffer, not have-data.
24751 (gst_pad_add_event_probe): Likewise for have-data::event.
24752 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24753 peer' isn't quite right yet though.
24754 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24755 (gst_pad_remove_data_probe): Change to take the guint handler_id
24756 as their arg, not the function+data, which is more glib-like.
24758 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24759 the signal emission to indicate if the data is a buffer or an
24760 event.
24761 (gst_pad_get_type): Initialize buffer and event quarks.
24762 (gst_pad_class_init): have-data is now a detailed signal, yes it
24763 is.
24765 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24767 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24768 * gst/gstutils.c: (gst_util_set_value_from_string),
24769 (gst_util_set_object_arg):
24770 Don't put functional code in g_return_if_fail() or
24771 g_return_val_if_fail() statements, otherwise things will
24772 break when G_DISABLE_CHECKS is defined during compilation.
24774 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24776 * docs/gst/tmpl/.cvsignore:
24777 * docs/gst/tmpl/gstvalue.sgml:
24778 * gst/gstvalue.c:
24779 * gst/gstvalue.h:
24780 inlied another one and added some obvious docs
24782 2005-09-21 Wim Taymans <wim@fluendo.com>
24784 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24785 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24786 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24787 (gst_fdsrc_get_property), (gst_fdsrc_create):
24788 * gst/elements/gstfdsrc.h:
24789 Properly implement fdsrc. Removed signal and timeout,
24790 better implemented somewhere else.
24792 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24794 * docs/gst/tmpl/.cvsignore:
24795 * docs/gst/tmpl/gstimplementsinterface.sgml:
24796 * gst/gstinterface.c:
24797 inlined more docs
24799 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24801 * docs/gst/gstreamer-sections.txt:
24802 * docs/gst/tmpl/.cvsignore:
24803 * docs/gst/tmpl/gstenumtypes.sgml:
24804 remove obsolete doc file
24806 2005-09-21 David Schleef <ds@schleef.org>
24808 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24809 little beer, fix a little leak.
24811 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24813 * docs/gst/gstreamer-docs.sgml:
24814 * docs/gst/gstreamer-sections.txt:
24815 * docs/gst/tmpl/.cvsignore:
24816 * gst/Makefile.am:
24817 * gst/gst.h:
24818 * gst/gstbin.c:
24819 * gst/gstelement.h:
24820 * gst/gstindex.c: (gst_index_class_init):
24821 * gst/gstindex.h:
24822 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24823 (gst_index_factory_class_init), (gst_index_factory_init),
24824 (gst_index_factory_finalize), (gst_index_factory_new),
24825 (gst_index_factory_destroy), (gst_index_factory_find),
24826 (gst_index_factory_create), (gst_index_factory_make):
24827 * gst/gstindexfactory.h:
24828 * gst/gstpluginfeature.c:
24829 * gst/gstpluginfeature.h:
24830 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24831 more docs inlined, splitted gstindex.{c,h}
24833 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24835 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24836 fix a leak
24838 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24840 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24841 Set sync to FALSE by default.
24843 2005-09-20 Wim Taymans <wim@fluendo.com>
24845 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24846 (gst_base_sink_init):
24847 Make sync property settable from subclass.
24849 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24850 (gst_fake_sink_change_state):
24851 Set sync to FALSE by default.
24853 2005-09-20 Wim Taymans <wim@fluendo.com>
24855 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24856 * tools/gst-launch.c: (main):
24857 The timeout handler should have lower priority than the source
24858 so we don't timeout before popping a message with 0 timeout.
24859 Dump error messages after failed state change.
24861 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24863 * tools/gst-inspect.c: (print_element_properties_info):
24864 Fix two typos.
24866 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24868 * check/gst/gstevent.c:
24869 * gst/elements/gstfakesink.c:
24870 * gst/elements/gstfakesink.h:
24871 remove the sync property from fakesink.
24872 has the side effect of setting sync TRUE
24873 for fakesink, which is a change. Anyone who knows how
24874 to fix this nicely in a GObject-y way, feel free.
24876 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24878 * docs/gst/gstreamer-docs.sgml:
24879 remove probe refsection
24881 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24883 * check/Makefile.am:
24884 disable valgrinding the controller test again
24885 * docs/gst/gstreamer-sections.txt:
24886 update for api-changes
24888 2005-09-20 Wim Taymans <wim@fluendo.com>
24890 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24891 (gst_base_sink_set_property), (gst_base_sink_get_property),
24892 (gst_base_sink_do_sync):
24893 * gst/base/gstbasesink.h:
24894 Added sync property to basesink to disable clock sync.
24896 2005-09-20 Andy Wingo <wingo@pobox.com>
24898 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24899 eating the caller's refcount.
24901 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24902 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24903 refcount.
24905 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24906 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24907 of GLib 2.8 public, so we can know which refcount to check in
24908 tests.
24910 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24911 (gst_object_init): Only set the gst refcount if we're going ahead
24912 with the refcount hack.
24914 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24916 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24917 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24918 more leaks plumbed, added more debug-logging
24919 * gst/gstmacros.h:
24920 whitespace fix
24922 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24924 * gst/gstmessage.c:
24925 remove include of gstmemchunk.h
24927 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24929 * gst/gstclock.c: (_gst_clock_id_free):
24930 Commit from the Political Party For More Atomic CVS Commits,
24931 so that people don't waste too much of their day fishing
24932 out obvious leaks out of massive commits.
24933 Oh, and fix a pretty damn obvious leak in the memchunk
24934 removal code.
24936 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24938 * check/Makefile.am:
24939 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24940 plug mem-leak, re-add to valgrindable tests
24942 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24944 * gst/gstplugin.h:
24945 unbreak the build for those who have chronic arthritis
24946 and typing "make check" is just too taxing on the hands
24948 2005-09-20 Andy Wingo <wingo@pobox.com>
24950 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24951 really want it out, you should fix plugins at the same time.
24953 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24955 * configure.ac:
24956 * docs/gst/gstreamer-sections.txt:
24957 * gst/gstobject.c:
24958 added missing symbols to api docs
24959 disable ref-count hack if we have glib >= 2.8
24961 2005-09-19 David Schleef <ds@schleef.org>
24963 * docs/gst/Makefile.am: Ignore a few more internal headers
24964 * docs/gst/gstreamer-docs.sgml: Remove old sections
24965 * docs/gst/gstreamer-sections.txt: Remove old sections
24966 * docs/gst/tmpl/gstobject.sgml: update
24967 * docs/gst/tmpl/gstplugin.sgml: update
24968 * docs/gst/tmpl/gstpluginfeature.sgml: update
24969 * docs/random/ds/0.9-suggested-changes: update.
24970 * gst/Makefile.am: remove memchunk and trashstack, since they're
24971 not used.
24972 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24973 * gst/gst.h: don't include some headers
24974 * gst/gstchildproxy.c: add gstmarshal.h
24975 * gst/gstclock.c: Don't use memchunks
24976 * gst/gstminiobject.c: Add some docs
24977 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24978 * gst/gstobject.h: same
24979 * gst/gstplugin.c: include gstmacros.h
24980 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24981 * gst/gstquery.c: don't use memchunks
24982 * gst/gstregistry.c: rename gst_registry_deinit()
24983 * gst/gstregistry.h: same
24985 2005-09-19 David Schleef <ds@schleef.org>
24987 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24988 * docs/libs/gstreamer-libs-sections.txt:
24989 * docs/libs/tmpl/gstgetbits.sgml:
24990 * docs/libs/tmpl/gstputbits.sgml:
24992 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24994 * win32/gstenumtypes.c:
24995 * win32/gstenumtypes.h:
24996 Update.
24998 2005-09-19 Wim Taymans <wim@fluendo.com>
25000 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
25001 Automatically PAUSE and RESUME a pipeline when a flushing seek
25002 is performed.
25004 2005-09-19 Andy Wingo <wingo@pobox.com>
25006 * gst/gstregistry.h: Spacing fixen.
25008 2005-09-19 Wim Taymans <wim@fluendo.com>
25010 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
25011 Handle state change failure more correctly.
25013 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25015 * check/Makefile.am:
25016 * check/pipelines/cleanup.c: (run_pipeline):
25017 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25018 (GST_START_TEST):
25019 enable cleanup again after fixing the leak
25020 * docs/README:
25021 some more info on docs
25023 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25025 * check/Makefile.am:
25026 re-enable tests now that leaks are plugged
25027 * check/gst/gst.c:
25028 * check/gst/gstbin.c:
25029 * check/gst/gstpipeline.c:
25030 add some more tests while fixing leaks
25031 * common/check.mak:
25032 make sure binaries are uptodate when valgrinding/gdbing
25033 * gst/gst.c:
25034 * gst/gstelementfactory.c:
25035 remove a ref too many, and add a FIXME for when we get
25036 round to disposing of classes
25037 * gst/gstplugin.c:
25038 fix the refcounting when loading a plugin from a file and
25039 the code pretends that the pointer is the same even though
25040 of course it can change
25041 * gst/gstpluginfeature.c:
25042 unref plugins marked cached (a bit confusing as a name)
25043 as the docs state should be done
25044 various doc additions to explain refcounting
25045 * gst/gstregistry.c:
25046 * gst/gstregistryxml.c:
25047 debugging
25049 2005-09-19 Wim Taymans <wim@fluendo.com>
25051 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
25052 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
25053 (send_messages), (GST_START_TEST), (gstbus_suite):
25054 * check/gst/gstpipeline.c: (GST_START_TEST):
25055 * check/pipelines/cleanup.c: (run_pipeline):
25056 * check/pipelines/simple_launch_lines.c: (run_pipeline),
25057 (GST_START_TEST):
25058 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
25059 (gst_bus_source_check), (gst_bus_source_dispatch),
25060 (gst_bus_create_watch), (gst_bus_add_watch_full),
25061 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25062 * gst/gstbus.h:
25063 * tools/gst-launch.c: (event_loop):
25064 * tools/gst-md5sum.c: (event_loop):
25065 GstBusHandler -> GstBusFunc, return value has the same meaning as
25066 any other GSource (FALSE == remove source).
25067 _add_watch() and _add_watch_full() now take a MessageType mask to
25068 only handle specific types of messages.
25069 _poll() returns the GstMessage instead of the message type to avoid
25070 race conditions.
25071 _have_pending() takes a MessageType mask now too.
25072 Added testsuite for multiple bus watches.
25073 Fix testsuites and applications for new bus API.
25075 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25077 * check/Makefile.am:
25078 mark a bunch of the tests as to fix until we fix them
25080 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25082 * common/check.mak:
25083 use GST_PLUGIN settings for valgrind tests as well, so we're
25084 valgrinding the correct thing
25085 * gst/gst.c: (init_post):
25086 plug another leak
25088 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25090 * gst/gst.c: (init_post), (gst_deinit):
25091 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25092 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25093 * gst/gstindex.c: (gst_index_factory_class_init),
25094 (gst_index_factory_finalize):
25095 * gst/gstobject.c: (gst_object_dispose):
25096 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25097 (gst_plugin_load_file), (gst_plugin_desc_free):
25098 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25099 (gst_plugin_feature_finalize):
25100 * gst/gstregistry.c: (gst_registry_class_init),
25101 (gst_registry_init), (gst_registry_finalize),
25102 (gst_registry_get_default), (gst_registry_deinit):
25103 * gst/gstregistry.h:
25104 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25105 various cleanups and memleak plugging. make valgrind is happy now.
25107 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25109 * common/check.mak:
25110 add a check-valgrind target
25112 2005-09-18 David Schleef <ds@schleef.org>
25114 * tools/gst-inspect.c: Revert the GOption code.
25116 2005-09-17 David Schleef <ds@schleef.org>
25118 * check/Makefile.am: Fix environment variables.
25119 * check/gst/gstplugin.c: Fix for API changes.
25120 * tools/gst-inspect.c: Fix for API changes.
25121 * tools/gst-xmlinspect.c: Fix for API changes.
25122 * gst/gstelementfactory.c:
25123 * gst/gstplugin.c:
25124 * gst/gstplugin.h:
25125 * gst/gstpluginfeature.c:
25126 * gst/gstpluginfeature.h:
25127 * gst/gstregistry.c:
25128 * gst/gstregistry.h:
25129 * gst/gstregistryxml.c:
25130 * gst/gsttypefind.c:
25131 * gst/gsttypefindfactory.c:
25132 * gst/indexers/gstfileindex.c:
25133 * gst/indexers/gstmemindex.c:
25134 * gst/schedulers/Makefile.am:
25135 Change registry to keep track of both plugins and features,
25136 removing the feature tracking from plugins themselves.
25138 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25140 * check/Makefile.am:
25141 * tools/gst-register.1.in:
25142 remove gst-register
25144 2005-09-15 David Schleef <ds@schleef.org>
25146 * check/gst/gstplugin.c:
25147 * gst/gstelementfactory.c:
25148 * gst/gstplugin.c:
25149 * gst/gstpluginfeature.c:
25150 * gst/gstregistry.c:
25151 Getting tired of debugging. Disabled all the unreffing of
25152 plugins and features, which fixes the segfaults, but of
25153 course leaks like crazy. At least playbin works.
25155 2005-09-15 David Schleef <ds@schleef.org>
25157 * check/gst/gstplugin.c: (register_check_elements),
25158 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25159 More testing
25160 * gst/elements/gsttypefindelement.c: Fix refcounting.
25161 * gst/gsttypefind.c:
25162 * gst/gsttypefindfactory.c:
25163 * gst/gsttypefindfactory.h:
25165 2005-09-15 David Schleef <ds@schleef.org>
25167 * gst/gstindex.c: get refcounting correct.
25168 * gst/gstregistry.c: Handle the case where a feature/plugin is
25169 not found.
25171 2005-09-15 David Schleef <ds@schleef.org>
25173 * check/Makefile.am:
25174 * check/gst/gstplugin.c: Add test
25175 * gst/gstplugin.c: Fix problems noticed by testsuite
25176 * gst/gstplugin.h:
25177 * gst/gstregistry.c:
25178 * gst/gstregistry.h:
25180 2005-09-15 David Schleef <ds@schleef.org>
25182 * gst/gstplugin.c: Implement semi-decent recounting and locking
25183 in plugins and plugin features.
25184 * gst/gstplugin.h:
25185 * gst/gstpluginfeature.c:
25186 * gst/gstpluginfeature.h:
25187 * gst/gstregistry.c:
25189 2005-09-15 Michael Smith <msmith@fluendo.com>
25191 * gst/gstregistry.c: (gst_registry_get_feature_list):
25192 Implement this. Makes oggdemux work; decodebin still broken.
25194 2005-09-14 David Schleef <ds@schleef.org>
25196 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25197 #316076)
25198 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25199 * gst/check/Makefile.am:
25200 * libs/gst/controller/Makefile.am:
25201 * libs/gst/dataprotocol/Makefile.am:
25203 2005-09-14 David Schleef <ds@schleef.org>
25205 * configure.ac: Remove getbits library. Nothing uses it, and
25206 it should be in something like liboil if someone did want
25207 to use it.
25208 * libs/gst/Makefile.am:
25209 * libs/gst/getbits/Makefile.am:
25210 * libs/gst/getbits/gbtest.c:
25211 * libs/gst/getbits/getbits.c:
25212 * libs/gst/getbits/getbits.h:
25213 * libs/gst/getbits/gstgetbits_generic.c:
25214 * libs/gst/getbits/gstgetbits_i386.s:
25215 * libs/gst/getbits/gstgetbits_inl.h:
25217 2005-09-14 David Schleef <ds@schleef.org>
25219 * gst/Makefile.am: Dist glib-compat.h
25221 2005-09-14 David Schleef <ds@schleef.org>
25223 * configure.ac: Remove gst/registries, since it's no longer used.
25224 * gst/registries/Makefile.am:
25225 * gst/registries/gstlibxmlregistry.c:
25226 * gst/registries/gstlibxmlregistry.h:
25227 * gst/registries/gstxmlregistry.c:
25228 * gst/registries/gstxmlregistry.h:
25229 * gst/registries/registrytest.c:
25231 2005-09-14 David Schleef <ds@schleef.org>
25233 * gst/glib-compat.h:
25234 * gst/gstregistryxml.c:
25235 Convergence is near. Seriously.
25237 2005-09-14 David Schleef <ds@schleef.org>
25239 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25240 * gst/glib-compat.h:
25241 Attempt #4 to appease the buildbots.
25243 2005-09-14 David Schleef <ds@schleef.org>
25245 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25246 Attempt #3.
25248 2005-09-14 David Schleef <ds@schleef.org>
25250 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25251 Attempt #2.
25253 2005-09-14 David Schleef <ds@schleef.org>
25255 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25256 the new functions.
25258 2005-09-14 David Schleef <ds@schleef.org>
25260 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25261 * gst/glib-compat.h: Add some functions that are in newer versions
25262 of glib than we care to require.
25263 * gst/gstregistryxml.c: Use them.
25265 2005-09-14 David Schleef <ds@schleef.org>
25267 * po/POTFILES.in: remove gst-register.c
25269 2005-09-14 David Schleef <ds@schleef.org>
25271 * docs/gst/gstreamer-docs.sgml:
25272 * docs/gst/gstreamer-sections.txt:
25273 * docs/gst/gstreamer.types:
25274 * docs/gst/tmpl/gstelement.sgml:
25275 * docs/gst/tmpl/gstplugin.sgml:
25276 * docs/gst/tmpl/gstpluginfeature.sgml:
25277 Documentation updates for registry changes.
25279 2005-09-14 David Schleef <ds@schleef.org>
25281 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25282 because we don't require glib-2.8.
25284 2005-09-14 David Schleef <ds@schleef.org>
25286 * gst/gstregistryxml.c: Added. Essentially moved out of the
25287 registries directory.
25289 2005-09-14 David Schleef <ds@schleef.org>
25291 * check/Makefile.am:
25292 * check/generic/states.c:
25293 * gst/Makefile.am:
25294 * gst/gst.c:
25295 * gst/gst.h:
25296 * gst/gst_private.h:
25297 * gst/gstelementfactory.c:
25298 * gst/gstindex.c:
25299 * gst/gstinfo.c:
25300 * gst/gstplugin.c:
25301 * gst/gstplugin.h:
25302 * gst/gstpluginfeature.c:
25303 * gst/gstpluginfeature.h:
25304 * gst/gstregistry.c:
25305 * gst/gstregistry.h:
25306 * gst/gstregistrypool.c: remove
25307 * gst/gstregistrypool.h: remove
25308 * gst/gsttypefind.c:
25309 * gst/gsttypefindfactory.c:
25310 * gst/gsturi.c:
25311 * tools/Makefile.am:
25312 * tools/gst-compprep.c:
25313 * tools/gst-inspect.c:
25314 * tools/gst-register.c: remove
25315 * tools/gst-xmlinspect.c:
25316 Registry rewrite. Changes registry from being a file created
25317 by a tool into a simple cache file created automatically by
25318 libgstreamer. Removed gst-register (because it's no longer
25319 needed). Remove registry pools, because we only have one
25320 registry implementation (XML). Fix up other subsystems as
25321 necessary.
25323 2005-09-13 Michael Smith <msmith@fluendo.com>
25325 * gst/gstconfig.h.in:
25326 Don't Use windows linking attributes for MinGW. Fixes #316157
25328 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25330 * gst/gstutils.c: (set_state_async_thread_func),
25331 (gst_element_set_state_async):
25332 Apparently people think it's better if this function doesn't
25333 try to set the state to whatever state was asked for on the first
25334 call to this function for any object. Seriously.
25336 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25338 * check/gst/gstpipeline.c: (GST_START_TEST):
25339 * docs/gst/gstreamer-sections.txt:
25340 * gst/gstutils.c: (set_state_async_thread_func),
25341 (gst_element_set_state_async):
25342 * gst/gstutils.h:
25343 add a "gst_element_set_state_async" method that
25344 sets the state and starts a thread to make sure the state
25345 change completes as best as it can
25347 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25349 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25350 codify design+behaviour in testsuite after discussion
25352 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25354 * docs/gst/tmpl/gstelement.sgml:
25355 * docs/manual/appendix-quotes.xml:
25356 add a quote
25357 * gst/gstelement.c: (gst_element_set_state):
25358 add some debug
25360 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25362 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25363 (gst_base_transform_prepare_output_buf),
25364 (gst_base_transform_handle_buffer):
25365 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25366 (gst_capsfilter_prepare_buf):
25367 Remove the requirement for sub-classes to call the parent
25368 implementation of prepare_output_buffer with a wrapper function.
25370 * gst/gsttaglist.h:
25371 * gst/gsttagsetter.h:
25372 Fix #define wrapper
25374 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25376 * docs/gst/gstreamer-sections.txt:
25377 more doc cleanups
25379 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25381 * docs/gst/gstreamer-sections.txt:
25382 * docs/gst/tmpl/gstelement.sgml:
25383 * docs/gst/tmpl/gstplugin.sgml:
25384 * gst/gstminiobject.c:
25385 * gst/gstvalue.h:
25386 docs now stop throwing warnings
25388 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25390 * docs/gst/gstreamer-sections.txt:
25391 * docs/gst/gstreamer.types:
25392 * docs/gst/tmpl/gstpad.sgml:
25393 * docs/gst/tmpl/gsttypes.sgml:
25394 * gst/base/gstadapter.h:
25395 * gst/base/gstbasesink.h:
25396 * gst/base/gstbasesrc.h:
25397 * gst/gstbin.h:
25398 * gst/gstbuffer.h:
25399 * gst/gstbus.h:
25400 * gst/gstcaps.h:
25401 * gst/gstclock.h:
25402 * gst/gstelement.h:
25403 * gst/gstevent.h:
25404 * gst/gstmessage.h:
25405 * gst/gstpad.h:
25406 * gst/gststructure.c:
25407 * gst/registries/gstlibxmlregistry.h:
25408 various documentation fixes
25410 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25412 * docs/gst/gstreamer-sections.txt:
25413 * docs/gst/tmpl/gstvalue.sgml:
25414 rearrange gstvalue section
25415 * gst/gstutils.c: (gst_element_state_get_name):
25416 NONE -> VOID
25417 * gst/gstvalue.c: (_gst_value_initialize):
25418 * gst/gstvalue.h:
25419 doc updates
25421 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25423 * check/gst-libs/controller.c:
25424 Header include fix.
25425 * gst/base/gstbasetransform.c:
25426 (gst_base_transform_default_prepare_buf),
25427 (gst_base_transform_handle_buffer):
25428 * gst/base/gstbasetransform.h:
25429 Some more basetransform changes and fixes to enable sub-classes
25430 that modify buffer metadata only.
25431 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25432 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25433 (gst_capsfilter_prepare_buf):
25434 If the output pad has fixed allowed caps and input buffers
25435 don't have any, set the fixed caps on outgoing buffers.
25437 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25438 * check/elements/identity.c: (GST_START_TEST):
25439 Make the error a little clearer when the test fails because
25440 identity made a copy of the buffer.
25441 * docs/gst/gstreamer-sections.txt:
25442 New symbols in gstbasetransform.h
25443 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25444 (gst_base_transform_init), (gst_base_transform_transform_size),
25445 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25446 (gst_base_transform_default_prepare_buf),
25447 (gst_base_transform_get_unit_size),
25448 (gst_base_transform_buffer_alloc),
25449 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25450 (gst_base_transform_change_state),
25451 (gst_base_transform_set_passthrough),
25452 (gst_base_transform_set_in_place),
25453 (gst_base_transform_is_in_place):
25454 * gst/base/gstbasetransform.h:
25455 Change BaseTransform to separate in_place operate from same_caps
25456 output. in_place implies that the element can perform the transform
25457 on incoming buffers in-place, even if the caps on the output are
25458 different.
25459 Sub-class elements can now implement special buffer allocation
25460 methods for outgoing buffers if they wish to.
25461 Big documentation addition.
25462 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25463 * gst/elements/gstelements.c:
25464 Changes for basetransform modifications.
25465 * gst/elements/Makefile.am:
25466 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25467 Compile fix. Extra debug output.
25469 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25471 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25472 (gst_pad_suite):
25473 add tests for valid pad naming
25474 * gst/check/gstcheck.c: (gst_check_log_message_func),
25475 (gst_check_log_critical_func):
25476 add ASSERT_WARNING
25477 remove printing of code, it is fragile when the code contains
25478 % and the line number is enough info
25479 * gst/check/gstcheck.h:
25480 * gst/gstpad.c: (gst_pad_template_new):
25481 fix memleaks
25483 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25485 * configure.ac:
25486 say what CHECK flags we use
25487 * docs/libs/gstreamer-libs.types:
25488 * libs/gst/controller/Makefile.am:
25489 * libs/gst/controller/gst-controller.c:
25490 * libs/gst/controller/gst-controller.h:
25491 * libs/gst/controller/gst-helper.c:
25492 * libs/gst/controller/gst-interpolation.c:
25493 * libs/gst/controller/gstcontroller.c:
25494 * libs/gst/controller/gsthelper.c:
25495 * libs/gst/controller/gstinterpolation.c:
25496 * tools/gst-inspect.c: (print_plugin_info):
25497 we don't use dashes in header names
25499 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25501 * check/Makefile.am:
25502 * check/gst/.cvsignore:
25503 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25504 (gst_pipeline_suite), (main):
25505 adding a test for pipelines and state changes
25506 * gst/gstutils.c: (get_state_func):
25507 add some debugging
25508 * gstreamer.spec.in:
25509 fix up spec file
25511 2005-09-08 Michael Smith <msmith@fluendo.com>
25513 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25514 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25515 (gst_file_src_is_seekable), (gst_file_src_get_size),
25516 (gst_file_src_start):
25517 * gst/elements/gstfilesrc.h:
25518 Various fixes for unseekable, unmmapable, and non-normal files, so
25519 that fallback to read() rather than mmap() works.
25520 * gst/gstevent.c: (gst_event_new_newsegment):
25521 Allow newsegment events with segment_start == segment_end, as will
25522 correctly happen if you use filesrc on a zero-size file, for
25523 example.
25525 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25527 * gst/gstplugin.c: (gst_plugin_load_file):
25528 Call g_module_close when we don't load the module
25530 * gst/registries/gstlibxmlregistry.c:
25531 (gst_xml_registry_get_property):
25532 Port leak fix from 0.8
25534 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25536 * docs/gst/gstreamer-docs.sgml:
25537 * docs/gst/tmpl/.cvsignore:
25538 * docs/gst/tmpl/gsttrace.sgml:
25539 * docs/gst/tmpl/gsttrashstack.sgml:
25540 * gst/Makefile.am:
25541 * gst/gst.h:
25542 * gst/gstelement.h:
25543 * gst/gstevent.h:
25544 * gst/gstmessage.c:
25545 * gst/gstmessage.h:
25546 * gst/gsttag.c:
25547 * gst/gsttag.h:
25548 * gst/gsttaginterface.c:
25549 * gst/gsttaginterface.h:
25550 * gst/gsttaglist.c:
25551 * gst/gsttaglist.h:
25552 * gst/gsttagsetter.c:
25553 * gst/gsttagsetter.h:
25554 * gst/gsttrace.c:
25555 * gst/gsttrace.h:
25556 * gst/gsttrashstack.c:
25557 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25558 inlined docs for gsttrace, gsttrashstack
25560 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25562 * gst/Makefile.am:
25563 * gst/elements/gstbufferstore.h:
25564 * gst/elements/gsttypefindelement.c:
25565 * gst/elements/gsttypefindelement.h:
25566 * gst/gst.h:
25567 * gst/gsttypefind.c:
25568 * gst/gsttypefind.h:
25569 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25570 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25571 (gst_type_find_factory_dispose),
25572 (gst_type_find_factory_unload_thyself),
25573 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25574 (gst_type_find_factory_get_caps),
25575 (gst_type_find_factory_get_extensions),
25576 (gst_type_find_factory_call_function):
25577 * gst/gsttypefindfactory.h:
25578 * gst/registries/gstlibxmlregistry.c:
25579 * gst/registries/gstxmlregistry.c:
25580 splitted gsttypefind into gsttypefind, gsttypefindfactory
25582 2005-09-07 Andy Wingo <wingo@pobox.com>
25584 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25585 condition whereby the pad's task function is entered before the
25586 pad_mode variable was set.
25588 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25590 * gst/gstpad.c: (gst_pad_alloc_buffer):
25591 Catch misbehaving pad_alloc functions that don't
25592 set up caps and do it for them.
25594 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25596 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25597 test for pipe!=NULL
25598 * docs/gst/tmpl/.cvsignore:
25599 * docs/gst/tmpl/gstmemchunk.sgml:
25600 * docs/gst/tmpl/gstparse.sgml:
25601 * docs/gst/tmpl/gsttaglist.sgml:
25602 * docs/gst/tmpl/gsttagsetter.sgml:
25603 * docs/gst/tmpl/gsttypefind.sgml:
25604 * docs/gst/tmpl/gsttypefindfactory.sgml:
25605 * gst/gstmemchunk.c:
25606 * gst/gstparse.c:
25607 * gst/gsttag.c:
25608 * gst/gsttaginterface.c:
25609 * gst/gsttypefind.c:
25610 * gst/gsttypefind.h:
25611 inlined more docs
25613 === release 0.9.2 ===
25615 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25617 * NEWS:
25618 * RELEASE:
25619 * configure.ac:
25620 releasing 0.9.2, "South"
25622 2005-09-05 Andy Wingo <wingo@pobox.com>
25624 * gst/registries/gstxmlregistry.h:
25625 * gst/registries/gstxmlregistry.c: Um... resurrect...
25627 * gst/registries/gstxmlregistry.h:
25628 * gst/registries/gstxmlregistry.c: and update to newer API.
25629 Incidentally they should be a bit faster now that they don't have
25630 to parse the caps.
25632 2005-09-05 Andy Wingo <wingo@pobox.com>
25634 * gst/registries/gstxmlregistry.h:
25635 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25636 replaced by the libxml registry a while back
25638 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25640 * docs/gst/tmpl/gstplugin.sgml:
25641 * gst/elements/gstelements.c:
25642 * gst/gst.c:
25643 * gst/gstplugin.c: (gst_plugin_register_func),
25644 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25645 (gst_plugin_get_source):
25646 * gst/gstplugin.h:
25647 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25648 (gst_xml_registry_save_plugin):
25649 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25650 (gst_xml_registry_save_plugin):
25651 * tools/gst-inspect.c: (print_plugin_info):
25652 add a "source" plugin description field, to represent the source
25653 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25654 will set it to PACKAGE, which is automake's idea of the name of
25655 the source project.
25657 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25659 * Makefile.am:
25660 * autogen.sh:
25661 * configure.ac:
25662 * docs/Makefile.am:
25663 * docs/faq/Makefile.am:
25664 * docs/gst/tmpl/gstelement.sgml:
25665 * docs/gst/tmpl/gsttypes.sgml:
25666 * docs/htmlinstall.mak:
25667 * docs/manual/Makefile.am:
25668 * docs/pwg/Makefile.am:
25669 reorganize doc build a little
25670 split out docbook and gtk-doc stuff
25671 have two separate --enable's and enable them through autogen
25672 but disable by default in configure (to be similar to other
25673 projects)
25674 * gstreamer.spec.in:
25675 clean up docs install
25676 * po/af.po:
25677 * po/az.po:
25678 * po/ca.po:
25679 * po/cs.po:
25680 * po/de.po:
25681 * po/en_GB.po:
25682 * po/fr.po:
25683 * po/it.po:
25684 * po/nb.po:
25685 * po/nl.po:
25686 * po/ru.po:
25687 * po/sq.po:
25688 * po/sr.po:
25689 * po/sv.po:
25690 * po/tr.po:
25691 * po/uk.po:
25692 * po/vi.po:
25693 translation updates
25695 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25697 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25698 Add comment.
25700 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25701 (gst_fake_sink_change_state):
25702 Make state change function thread-safe.
25704 * gst/gstpad.c: (gst_pad_alloc_buffer):
25705 Set offset on generic buffer allocated by fallback.
25707 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25709 * docs/gst/gstreamer-sections.txt:
25710 * docs/gst/tmpl/gstelement.sgml:
25711 * gst/gstpad.c:
25712 * libs/gst/controller/gst-controller.c:
25713 (gst_controlled_property_set_interpolation_mode),
25714 (gst_controlled_property_new),
25715 (gst_controller_find_controlled_property):
25716 run the wingo-magic script against the docs
25718 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25720 * docs/gst/gstreamer-docs.sgml:
25721 * docs/gst/gstreamer-sections.txt:
25722 * docs/gst/tmpl/.cvsignore:
25723 * docs/gst/tmpl/gstelementdetails.sgml:
25724 * docs/gst/tmpl/gstelementfactory.sgml:
25725 * gst/gst.c:
25726 * gst/gstbus.c:
25727 * gst/gstelementfactory.c:
25728 * gst/gstelementfactory.h:
25729 merged elementdetails docs into elementfactory docs
25730 inlined both
25732 2005-09-02 Andy Wingo <wingo@pobox.com>
25734 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25735 consider this enum an enum and not a flags.
25737 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25739 * docs/gst/gstreamer-docs.sgml:
25740 * docs/gst/tmpl/.cvsignore:
25741 * docs/gst/tmpl/gstghostpad.sgml:
25742 * docs/gst/tmpl/gstiterator.sgml:
25743 * docs/gst/tmpl/gstmacros.sgml:
25744 * docs/gst/tmpl/gstrealpad.sgml:
25745 * docs/gst/tmpl/gstregistry.sgml:
25746 * docs/gst/tmpl/gstregistrypool.sgml:
25747 * docs/gst/tmpl/gststructure.sgml:
25748 * docs/gst/tmpl/gstsystemclock.sgml:
25749 * docs/gst/tmpl/gsttrace.sgml:
25750 * gst/gstghostpad.c:
25751 * gst/gstmacros.h:
25752 * gst/gstmemchunk.c:
25753 * gst/gstmemchunk.h:
25754 * gst/gstqueue.c:
25755 * gst/gstregistry.c:
25756 * gst/gstregistrypool.c:
25757 * gst/gststructure.c:
25758 * gst/gstsystemclock.c:
25759 more docs inlined
25761 2005-09-02 Andy Wingo <wingo@pobox.com>
25763 * gst/gstelement.h (GstState): Renamed from GstElementState,
25764 changed to be a normal enum instead of flags.
25765 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25766 munged to be GST_STATE_CHANGE_*.
25767 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25768 work with the new state representation.
25769 (GstStateChange): New enumeration of possible state transitions.
25770 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25771 (GstElementClass::change_state): Pass the GstStateChange along as
25772 an argument. Helps language bindings, so they don't have to use
25773 tricky lock-needing macros like GST_STATE_CHANGE ().
25775 * scripts/update-states (file): New script. Run it on a file to
25776 update it for state naming and API changes. Updates files in
25777 place.
25779 * All files updated for the new API.
25781 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25783 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25784 * gst/gstutils.c: (gst_util_set_value_from_string),
25785 (gst_util_set_object_arg):
25786 fix a bunch of unchecked return values
25787 * tools/gst-complete.c: (main):
25788 * gstreamer.spec.in:
25789 clean up a little
25791 2005-09-01 Wim Taymans <wim@fluendo.com>
25793 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25794 (gst_base_sink_event), (gst_base_sink_do_sync),
25795 (gst_base_sink_handle_event):
25796 * gst/base/gstbasesink.h:
25797 Handle newsegments more correctly.
25799 * gst/gstbus.c:
25800 Fix docs.
25802 * gst/gstevent.c: (gst_event_new_newsegment):
25803 A newsegment cannot have a start_time of -1
25805 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25807 * win32/gstenumtypes.c:
25808 * win32/gstenumtypes.h:
25809 Update
25811 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25813 * libs/gst/controller/gst-controller.c:
25814 (gst_controlled_property_set_interpolation_mode),
25815 (gst_controlled_property_new):
25816 fixed boolean again
25818 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25820 * docs/faq/gst-uninstalled:
25821 add -good
25822 * gst/gstevent.c:
25823 * gst/gstevent.h:
25824 remove wrong docs
25825 * gst/gstutils.c: (gst_element_link_filtered):
25826 * gst/gstutils.h:
25827 add gst_element_link_filtered
25829 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25831 * docs/gst/gstreamer-docs.sgml:
25832 * docs/gst/gstreamer-sections.txt:
25833 * docs/gst/tmpl/.cvsignore:
25834 * docs/gst/tmpl/gsterror.sgml:
25835 * docs/gst/tmpl/gstfilter.sgml:
25836 * docs/gst/tmpl/gsturihandler.sgml:
25837 * docs/gst/tmpl/gsturitype.sgml:
25838 * docs/gst/tmpl/gstutils.sgml:
25839 * docs/gst/tmpl/gstxml.sgml:
25840 * gst/gsterror.c:
25841 * gst/gsterror.h:
25842 * gst/gstfilter.c:
25843 * gst/gsturi.c:
25844 * gst/gsturitype.c:
25845 * gst/gstutils.c:
25846 * gst/gstxml.c:
25847 inlined more docs, fixed double id-ref
25849 2005-08-31 Wim Taymans <wim@fluendo.com>
25851 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25852 (gst_base_transform_handle_buffer):
25853 Passthrough elements don't need the caps as they don't care.
25855 2005-08-31 Wim Taymans <wim@fluendo.com>
25857 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25858 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25859 Don't leak refcounts on buffers.
25861 2005-08-31 Wim Taymans <wim@fluendo.com>
25863 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25864 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25865 (gst_base_transform_chain), (gst_base_transform_change_state):
25866 * gst/base/gstbasetransform.h:
25867 Handle the case where we are not negotiated more gracefully.
25869 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25871 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25872 (gst_file_src_map_region):
25873 Set READONLY flag on mmap'ed buffers, otherwise
25874 gst_buffer_make_writable() won't work properly (#314708).
25876 2005-08-31 Wim Taymans <wim@fluendo.com>
25878 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25879 passthrough elements can even do inplace on non writable
25880 buffers (as they don't touch them).
25882 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25884 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25885 (gst_test_mono_source_set_property),
25886 (gst_test_mono_source_class_init), (GST_START_TEST),
25887 (gst_controller_suite):
25888 more tests (hehe I have the most)
25889 * gst/gstbus.c:
25890 describe popping messages whenusing mulltiple sources
25891 * libs/gst/controller/gst-controller.c:
25892 (gst_controlled_property_set_interpolation_mode),
25893 (gst_controlled_property_new):
25894 * libs/gst/controller/gst-controller.h:
25895 * libs/gst/controller/gst-interpolation.c:
25896 implement boolean properties
25898 2005-08-31 Wim Taymans <wim@fluendo.com>
25900 * gst/gstminiobject.c: (gst_mini_object_ref):
25901 Cannot assert that the refcount has to be positive
25902 since a disposed object can be resurrected.
25904 2005-08-31 Wim Taymans <wim@fluendo.com>
25906 * gst/gstpad.c: (gst_pad_init):
25907 Revert change, need to first fix badly behaving
25908 apps.
25910 2005-08-30 Wim Taymans <wim@fluendo.com>
25912 * check/elements/fakesrc.c: (setup_fakesrc):
25913 * check/elements/identity.c: (setup_identity):
25914 Activate pads before using them.
25916 2005-08-30 Wim Taymans <wim@fluendo.com>
25918 * gst/base/gstadapter.c: (gst_adapter_flush):
25919 Flushing out 0 bytes is ok for this function.
25921 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25922 no newsegment gives a warning and sets the start/stop to
25923 invalid.
25925 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25926 (gst_base_transform_set_passthrough):
25927 Some debug info.
25929 * gst/gstminiobject.c: (gst_mini_object_ref):
25930 Check refcount here too.
25932 * gst/gstpad.c: (gst_pad_init):
25933 Pads are initially flushing and refusing data.
25935 * gst/gstutils.c: (gst_element_link_pads_filtered):
25936 When adding a capsfilter element make sure it has the
25937 same state as the parent bin.
25939 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25941 * docs/gst/tmpl/.cvsignore:
25942 * docs/gst/tmpl/gstformat.sgml:
25943 * docs/gst/tmpl/gstversion.sgml:
25944 * gst/gstbus.h:
25945 * gst/gstformat.c:
25946 * gst/gstformat.h:
25947 * gst/gstversion.h.in:
25948 more docs and two more inlined
25950 2005-08-30 Wim Taymans <wim@fluendo.com>
25952 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25953 Don't sync to clock.
25955 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25957 * docs/gst/gstreamer-sections.txt:
25958 ultral33t func10ns deserve to appear in the docs actually
25959 * docs/gst/tmpl/.cvsignore:
25960 * docs/gst/tmpl/gstcompat.sgml:
25961 * docs/gst/tmpl/gstconfig.sgml:
25962 * gst/check/gstcheck.c:
25963 * gst/gstcompat.h:
25964 * gst/gstconfig.h.in:
25965 inlined more docs
25967 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25969 * docs/gst/tmpl/.cvsignore:
25970 * docs/gst/tmpl/gstquery.sgml:
25971 * docs/gst/tmpl/gstutils.sgml:
25972 * gst/gstquery.c:
25973 * gst/gstquery.h:
25974 inlined and extended docs
25976 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25978 * check/gst-libs/controller.c: (GST_START_TEST),
25979 (gst_controller_suite):
25980 more tests
25981 * docs/gst/tmpl/gstutils.sgml:
25982 * docs/libs/gstreamer-libs-sections.txt:
25983 * docs/libs/tmpl/gstdataprotocol.sgml:
25984 include path fixes
25985 * examples/controller/audio-example.c: (main):
25986 controller example works now
25987 * gst/gstclock.h:
25988 doc fixes
25989 * tools/gst-inspect.c: (print_element_properties_info):
25990 show param spec flags
25992 2005-08-29 Andy Wingo <wingo@pobox.com>
25994 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25996 2005-08-28 Andy Wingo <wingo@pobox.com>
25998 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25999 as having two arguments instead of just one. Allows superclasses
26000 to access information on subclasses -- see the terrible for() loop
26001 in gtype.c:g_type_create_instance for the reason why. All callers
26002 changed.
26004 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26006 * docs/design/part-messages.txt:
26007 update info
26008 * docs/gst/tmpl/.cvsignore:
26009 * docs/gst/tmpl/gstcaps.sgml:
26010 * docs/gst/tmpl/gstclock.sgml:
26011 * gst/gstbus.c:
26012 * gst/gstcaps.c:
26013 * gst/gstcaps.h:
26014 * gst/gstclock.c:
26015 * gst/gstclock.h:
26016 * gst/gstmessage.c:
26017 added descriptions for bus and message
26018 inline caps and clock docs
26020 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26022 * gst/gstmessage.c:
26023 * gst/gstmessage.h:
26024 doc fixes
26026 2005-08-27 Stefan Kost <ensonic@users.sf.net>
26028 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
26029 fix div-by-zero
26031 2005-08-26 Andy Wingo <wingo@pobox.com>
26033 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
26034 element_set_state's return val.
26035 (test_2_elements): Add test that's been disabled for months.
26037 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
26038 can-activate-pull properties.
26040 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
26041 can-activate-pull properties. Implement is_seekable so fakesrc can
26042 operate in pull mode.
26044 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
26045 properties.
26046 (gst_base_sink_activate, gst_base_sink_activate_pull)
26047 (gst_base_sink_activate_push): Make activation mode choosing work.
26048 Cleanups.
26049 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
26050 is right. Make pull mode work. Post an eos before pausing in pull
26051 mode.
26052 (gst_base_sink_change_state): Pay attention to the core's
26053 change_state() return val.
26055 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
26056 has-getrange properties. Cleanups.
26058 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
26059 has_getrange and replace with can_activate_pull and
26060 can_activate_push.
26062 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26063 locking comments. Remove has_loop, has_chain and replace with
26064 can_activate_pull and can_activate_push.
26066 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26068 * configure.ac:
26069 * examples/Makefile.am:
26070 * examples/metadata/Makefile.am:
26071 * examples/metadata/read-metadata.c: (message_loop),
26072 (have_pad_handler), (make_pipeline), (print_tag), (main):
26073 Add metadata reading example that loops over a list of filenames,
26074 dumping any tags found.
26076 * gst/gstbus.c: (gst_bus_dispose):
26077 * gst/gstelement.c: (gst_element_dispose):
26078 Release a few potentially-held references in dispose.
26080 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26082 * docs/gst/tmpl/gstminiobject.sgml:
26083 do *not* add tmpl/*.sgml files to CVS!
26085 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26087 * libs/gst/bytestream/.cvsignore:
26088 * libs/gst/bytestream/Makefile.am:
26089 * libs/gst/bytestream/adapter.c:
26090 * libs/gst/bytestream/adapter.h:
26091 * libs/gst/bytestream/bytestream.c:
26092 * libs/gst/bytestream/bytestream.h:
26093 * libs/gst/bytestream/filepad.c:
26094 * libs/gst/bytestream/filepad.h:
26095 removing obsolete files
26097 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26099 * docs/gst/gstreamer-docs.sgml:
26100 * docs/libs/gstreamer-libs-docs.sgml:
26101 disabed additional index entries again, as this makes docs-gen just
26102 slow and they aren't useful yet
26103 * docs/libs/gstreamer-libs-sections.txt:
26104 little -section.txt cleanup for libs
26106 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26108 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26109 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26110 fix up some debugging
26111 (gst_base_transform_get_unit_size),
26112 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26113 (gst_base_transform_handle_buffer):
26114 * gst/base/gstbasetransform.h:
26115 handle and store timed NEWSEGMENT events so that subclasses that
26116 calculate time by counting samples have a segment_start time they
26117 need to add to their timestamps - see audioresample
26119 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26121 * gst/gstbin.h:
26122 removed ';' from the end of macro defs
26123 * docs/gst/gstreamer-docs.sgml:
26124 * docs/gst/gstreamer-sections.txt:
26125 * docs/gst/tmpl/.cvsignore:
26126 * gst/gstbus.h:
26127 * gst/gstelement.c: (gst_element_class_init),
26128 (gst_element_set_state), (activate_pads),
26129 (gst_element_save_thyself):
26130 * gst/gstevent.c: (gst_event_new_newsegment):
26131 * gst/gstevent.h:
26132 * gst/gstiterator.c:
26133 * gst/gstiterator.h:
26134 * gst/gstpad.c:
26135 * gst/gstprobe.h:
26136 * gst/gstutils.c: (gst_pad_query_convert):
26137 * gst/gstutils.h:
26138 fixed parameter name mismatches between source, header and docs
26139 added some more docs, resolved the last batch of unused elements in
26140 docs (now someone needs to doc them)
26142 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26144 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26145 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26146 don't walk through the plugins backwards. Where is all this
26147 reversed logic coming from ?
26149 2005-08-25 Wim Taymans <wim@fluendo.com>
26151 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26152 (gst_base_transform_transform_size),
26153 (gst_base_transform_configure_caps),
26154 (gst_base_transform_get_unit_size),
26155 (gst_base_transform_buffer_alloc),
26156 (gst_base_transform_change_state):
26157 * gst/base/gstbasetransform.h:
26158 Cache caps unit_size.
26159 Make sure we cannot negotiate up and downstream at the
26160 same time.
26162 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26164 * gst/gst.c: (init_pre), (init_post):
26165 register the installed plugin path after the env var
26166 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26167 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26168 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26169 directories, so the tests can prefer uninstalled over installed
26171 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26173 * gst/base/gstbasetransform.h:
26174 comment
26175 * gst/gstpad.c:
26176 add to docs
26178 2005-08-25 Wim Taymans <wim@fluendo.com>
26180 * gst/gstbin.c: (bin_bus_handler):
26181 Be a bit more conservative about the posted message.
26183 * gst/gstbus.c: (gst_bus_post):
26184 Some cleanups, warn wrong return values.
26186 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26188 * check/gst/gstbin.c: (GST_START_TEST):
26189 * gst/gstbin.c: (bin_bus_handler):
26190 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26191 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26192 (gst_message_new_warning), (gst_message_new_tag),
26193 (gst_message_new_state_changed), (gst_message_new_segment_start),
26194 (gst_message_new_segment_done), (gst_message_new_custom):
26195 * gst/gstmessage.h:
26196 * tools/gst-launch.c: (event_loop):
26197 * tools/gst-md5sum.c: (event_loop):
26198 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26200 2005-08-25 Wim Taymans <wim@fluendo.com>
26202 * check/generic/states.c: (GST_START_TEST):
26203 Cleanup can be done at the end.
26205 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26206 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26207 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26208 Oh boy.. Thanks for finding this, Thomas.
26210 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26212 * docs/gst/gstreamer.types:
26213 added missing types
26215 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26217 * docs/gst/gstreamer-docs.sgml:
26218 * docs/gst/gstreamer-sections.txt:
26219 * docs/gst/tmpl/.cvsignore:
26220 * gst/gstbin.c:
26221 * gst/gstiterator.c:
26222 * gst/gstutils.c:
26223 * gst/registries/gstxmlregistry.h:
26224 added missing classes and symbols (123 more to go)
26225 removed removed symbols from section file
26226 fixed many doc-comments
26228 2005-08-24 Wim Taymans <wim@fluendo.com>
26230 * check/generic/states.c: (GST_START_TEST):
26231 Make sure all tasks are stopped.
26233 * check/gst/gstbin.c: (GST_START_TEST):
26234 Unref after usage for proper valgrinding.
26236 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26237 Really wait for the task to stop before destroying the
26238 mutex.
26240 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26241 (gst_queue_src_activate_push):
26242 Small cleanups. Don't stop the task when we did not start
26243 it.
26245 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26246 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26247 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26248 (gst_task_join):
26249 * gst/gsttask.h:
26250 Protect the stream lock with the object lock.
26251 Disallow setting the stream lock when running.
26252 Add cleanup_all to wait for the threadpool to finish.
26253 Remove code to autoallocate a mutex if none was provided.
26254 Add _join() to wait for a task to stop.
26255 Protect the thread pool with a global lock.
26257 2005-08-24 Wim Taymans <wim@fluendo.com>
26259 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26260 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26261 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26262 * gst/base/gstbasesink.h:
26263 Handle newsegment events correctly.
26264 Drop buffers out of the segment range.
26266 2005-08-22 Andy Wingo <wingo@pobox.com>
26268 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26269 macro, implements an interface and gstimplementsinterface for a
26270 new type.
26272 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26274 * check/Makefile.am:
26275 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26276 add a test that does a bunch of state changes on elements
26277 needs some fixing for valgrind
26278 * check/states/sinks.c: (gst_object_suite):
26279 whitespace
26280 * gst/gstcaps.h:
26281 add prototype for gst_caps_is_equal_fixed
26282 * gst/gstplugin.c:
26283 * gst/gstregistrypool.c:
26284 doc fixes
26286 2005-08-24 Andy Wingo <wingo@pobox.com>
26288 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26289 convert a negative value. Doesn't make much sense. Mostly this is
26290 here to force callers to ensure -1 maps to -1.
26292 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26294 * docs/pwg/advanced-types.xml:
26295 Well done to Michael for catching my deliberate introduction
26296 of this spelling mistake.
26297 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26298 * gst/gstelement.h:
26299 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26300 unlink pads before removing the element from the bin.
26302 2005-08-24 Andy Wingo <wingo@pobox.com>
26304 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26305 the same thing as GST_DEBUG=*:4.
26306 (parse_debug_level, parse_debug_category): New helper parsers.
26308 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26310 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26311 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26312 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26313 (gst_base_transform_buffer_alloc),
26314 (gst_base_transform_handle_buffer):
26315 use gboolean return values and pointers to size so we can use the
26316 full GST_BUFFER_SIZE range (guint) for buffer sizes
26317 use GstPadDirection for transform_caps
26318 * gst/base/gstbasetransform.h:
26319 rename get_size to get_unit_size since that's what it is
26320 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26321 use GstPadDirection for transform_caps
26322 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26323 * gst/gstutils.h:
26324 cleanup and debugging
26326 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26328 * gst/gstelement.c: (gst_element_class_init),
26329 (gst_element_set_state), (activate_pads),
26330 (gst_element_save_thyself):
26331 * tools/gst-compprep.c: (main):
26332 * tools/gst-inspect.c: (print_element_properties_info):
26333 * tools/gst-xmlinspect.c: (print_element_properties):
26334 Fixed long standing mem-leak
26336 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26338 * check/gst/gstbin.c: (GST_START_TEST):
26339 * gst/gstbin.c: (bin_bus_handler):
26340 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26341 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26342 (gst_message_new_warning), (gst_message_new_tag),
26343 (gst_message_new_state_changed), (gst_message_new_segment_start),
26344 (gst_message_new_segment_done), (gst_message_new_custom):
26345 * gst/gstmessage.h:
26346 * tools/gst-launch.c: (event_loop):
26347 * tools/gst-md5sum.c: (event_loop):
26348 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26349 that applications can sensibly post custom messages with references
26350 to their own objects.
26352 2005-08-24 Andy Wingo <wingo@pobox.com>
26354 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26355 already.
26357 2005-08-24 Wim Taymans <wim@fluendo.com>
26359 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26360 (gst_base_transform_transform_caps),
26361 (gst_base_transform_transform_size),
26362 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26363 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26364 (gst_base_transform_handle_buffer):
26365 * gst/base/gstbasetransform.h:
26366 Many fixes and new features added by Thomas. Can now also do
26367 transforms with variable sizes and a custom fixate_caps function.
26369 2005-08-24 Wim Taymans <wim@fluendo.com>
26371 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26372 Some debugging.
26374 * gst/gstclock.h:
26375 Cast to ClockTime before formatting to time.
26377 * gst/gstutils.h:
26378 Cleanups.
26380 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26382 * check/gst-libs/controller.c: (GST_START_TEST),
26383 (gst_controller_suite):
26384 * docs/gst/tmpl/gstcaps.sgml:
26385 * docs/gst/tmpl/gstghostpad.sgml:
26386 * docs/gst/tmpl/gstquery.sgml:
26387 * docs/gst/tmpl/gstutils.sgml:
26388 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26389 (gst_object_sink_values), (gst_object_get_value_arrays),
26390 (gst_object_get_value_array):
26391 gracefully handle helper method calls to objects that are not beeing
26392 controlled, added test case for that
26394 2005-08-23 Wim Taymans <wim@fluendo.com>
26396 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26397 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26398 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26399 (gst_event_parse_qos), (gst_event_new_seek),
26400 (gst_event_parse_seek):
26401 * gst/gstevent.h:
26402 Some more debugging output and doc cleanups.
26404 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26405 Fix possible deadlock.
26407 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26409 * docs/gst/gstreamer-docs.sgml:
26410 * docs/gst/gstreamer-sections.txt:
26411 * docs/gst/gstreamer.types:
26412 * docs/gst/tmpl/.cvsignore:
26413 * gst/gstbin.h:
26414 * gst/gstbus.c:
26415 * gst/gstelement.c:
26416 * gst/gstevent.h:
26417 added 100 symbols from gstreamer-unused.txt to the right sections
26418 fixed more broken comments
26419 added GstBus to docs
26421 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26423 * docs/gst/gstreamer-sections.txt:
26424 * docs/gst/tmpl/.cvsignore:
26425 * docs/gst/tmpl/gstbin.sgml:
26426 * docs/gst/tmpl/gstbuffer.sgml:
26427 * gst/base/gstbasesrc.c:
26428 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26429 * gst/gstbuffer.c:
26430 * gst/gstbuffer.h:
26431 * tools/gst-launch.1.in:
26432 inlined more doc comments, added missing comments and fixed comments
26433 fixed typos
26435 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26437 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26438 some debugging
26439 * gst/gstcaps.h:
26440 whitespace fixes
26441 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26442 more debugging
26443 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26444 * gst/gststructure.h:
26445 add a fixate function for booleans; add a FIXME that these func
26446 names should probably be gst_structure_fixate_*
26448 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26450 * docs/gst/gstreamer-docs.sgml:
26451 * docs/gst/gstreamer-sections.txt:
26452 * gst/Makefile.am:
26453 * gst/gstbin.c: (gst_bin_get_type),
26454 (gst_bin_child_proxy_get_child_by_index),
26455 (gst_bin_child_proxy_get_children_count),
26456 (gst_bin_child_proxy_init):
26457 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26458 (gst_child_proxy_get_child_by_index),
26459 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26460 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26461 (gst_child_proxy_get), (gst_child_proxy_set_property),
26462 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26463 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26464 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26465 * gst/gstchildproxy.h:
26466 * gst/parse/grammar.y:
26467 * tools/gst-inspect.c: (print_interfaces),
26468 (print_element_properties_info), (print_element_info):
26469 ported gstchildproxy over from 0.8
26470 ported gst-inspect fixes and enhancements over from 0.8
26472 2005-08-22 Wim Taymans <wim@fluendo.com>
26474 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26475 (gst_base_transform_handle_buffer):
26476 Also call the transform function if we have ANY caps.
26478 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26479 Fix debug info.
26481 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26483 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26484 Don't pretend to handle seek events if the source is not seekable
26486 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26488 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26489 Remove extra parameter to debug output
26491 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26492 (gst_base_src_do_seek), (gst_base_src_activate_push):
26493 Fix seek event handling.
26495 * gst/gstpipeline.c: (gst_pipeline_change_state):
26496 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26497 (gst_queue_src_activate_push):
26498 Don't start the src pad task on FLUSH_STOP if the pad
26499 isn't linked.
26500 Debug changes.
26502 2005-08-22 Wim Taymans <wim@fluendo.com>
26504 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26505 Added check for gst_static_caps_get() refcounting.
26507 2005-08-22 Wim Taymans <wim@fluendo.com>
26509 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26510 Make _static_caps_get() refcounting sane.
26512 * gst/gstelement.c: (gst_element_set_state):
26513 Add g_return_val_if_fail() to protect against segfaults.
26515 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26517 * docs/gst/tmpl/gstevent.sgml:
26518 * gst/gstevent.c:
26519 * gst/gstevent.h:
26520 inlined remaining docs, added missing doc comments
26522 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26524 * check/gst/gstbin.c: (GST_START_TEST):
26525 since we don't know when preroll is done, use refcount range
26526 check for the sink
26527 * gst/check/gstcheck.h:
26528 add macro for checking refcount range
26530 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26532 * check/Makefile.am:
26533 clean up environment for when registry gets built versus
26534 when actual tests are run; valgrind seems to not report
26535 leaks if GST_PLUGIN_PATH is set to some specific values
26536 * check/gst/gstbin.c: (GST_START_TEST):
26537 add more refcounting checks; maybe this exposes a
26538 preroll lock bug ?
26539 * common/check.mak:
26540 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26541 * gst/check/gstcheck.h:
26542 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26543 (gst_bin_change_state):
26544 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26545 add/fix debugging/whitespace
26547 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26549 * check/gst/gstevent.c: (event_probe), (test_event),
26550 (GST_START_TEST):
26551 Er, don't call gst_bin_watch_for_state_change you idiot.
26553 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26555 * check/Makefile.am:
26556 Use CHECK_CFLAGS and CHECK_LIBS
26557 * check/gst/gstevent.c: (event_probe), (test_event),
26558 (GST_START_TEST):
26559 Don't leak events.
26560 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26561 (gst_base_src_start), (gst_base_src_stop),
26562 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26563 (gst_base_src_change_state):
26564 Sprinkle gst_base_src_stop liberally around error paths to fix
26565 problems reusing a source after failed state changes.
26566 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26567 (helper_find_suggest), (gst_type_find_helper):
26568 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26569 * gst/gstevent.h:
26570 * docs/gst/tmpl/gstevent.sgml:
26571 Migrate part of the docs from the SGML file. Wait for ensonic to
26572 tell me how I did it wrong ;)
26573 * tools/gst-typefind.c: (main):
26574 Extra robustness to state changes between files.
26576 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26578 * check/Makefile.am:
26579 don't valgrind the controller test - it's leaking - Stefan, HELP
26580 * gst/check/gstcheck.c: (gst_check_message_error),
26581 (gst_check_chain_func), (gst_check_setup_element),
26582 (gst_check_teardown_element), (gst_check_setup_src_pad),
26583 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26584 (gst_check_teardown_sink_pad):
26585 * gst/check/gstcheck.h:
26586 add a bunch of methods to set up elements, and src and sink pads
26587 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26588 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26589 (GST_START_TEST):
26590 use them
26591 * gst/gstmessage.c:
26592 * gst/gsttag.h:
26593 whitespace/doc fixes
26595 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26597 * gst/gstelement.h:
26598 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26599 be handled by the application and not always printed as well
26601 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26603 * check/Makefile.am:
26604 set GST_TOOLS_DIR
26605 * gst/check/gstcheck.c: (gst_check_message_error):
26606 * gst/check/gstcheck.h:
26607 add a fail_unless_equals_int
26608 add fail_unless for error messages
26610 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26612 * check/Makefile.am:
26613 * check/gst.supp:
26614 * common/Makefile.am:
26615 * common/check.mak:
26616 * common/gst.supp:
26617 factor out some of the common stuff so we can use it
26619 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26621 * check/Makefile.am:
26622 * check/gst/gstiterator.c: (GST_START_TEST):
26623 * check/gst/gstsystemclock.c: (GST_START_TEST),
26624 (gst_systemclock_suite):
26625 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26626 * gst/gstclock.c:
26627 valgrind more tests
26629 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26631 * check/elements/.cvsignore:
26632 * check/elements/gstfakesrc.c:
26633 rename to name of element
26634 * check/elements/identity.c: (chain_func), (event_func),
26635 (setup_identity), (cleanup_identity), (GST_START_TEST),
26636 (identity_suite), (main):
26637 add a test for identity
26638 * check/Makefile.am:
26639 * pkgconfig/Makefile.am:
26640 * pkgconfig/gstreamer-check.pc.in:
26641 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26642 * gst/check:
26643 * gst/Makefile.am:
26644 * configure.ac:
26645 move the check stuff to a library that gets installed
26646 * check/gst-libs/controller.c: (GST_START_TEST):
26647 * check/gst-libs/gdp.c:
26648 * check/gst/gst.c: (GST_START_TEST):
26649 * check/gst/gstbin.c:
26650 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26651 * check/gst/gstbus.c:
26652 * check/gst/gstcaps.c: (GST_START_TEST):
26653 * check/gst/gstelement.c:
26654 * check/gst/gstghostpad.c:
26655 * check/gst/gstiterator.c:
26656 * check/gst/gstmessage.c:
26657 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26658 * check/gst/gstobject.c:
26659 * check/gst/gstpad.c: (GST_START_TEST):
26660 * check/gst/gststructure.c: (GST_START_TEST):
26661 * check/gst/gstsystemclock.c: (GST_START_TEST),
26662 (gst_systemclock_suite):
26663 * check/gst/gsttag.c: (gst_tag_suite):
26664 * check/gst/gstvalue.c:
26665 * check/pipelines/cleanup.c:
26666 * check/pipelines/simple_launch_lines.c:
26667 * check/states/sinks.c:
26668 change include statement
26670 * docs/gst/gstreamer-sections.txt:
26671 * docs/gst/tmpl/gstpad.sgml:
26672 document more pad stuff
26673 * gst/gstminiobject.c: (gst_mini_object_ref),
26674 (gst_mini_object_unref):
26675 debug refcounting
26677 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26679 * docs/gst/tmpl/gst.sgml:
26680 * gst/gst.c:
26681 eliminate another tmpl file, fix spelling in the long-description
26683 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26685 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26686 (test_event), (timediff), (gstevents_suite):
26687 Should fix build on 64-bit arch's
26689 2005-08-18 Andy Wingo <wingo@pobox.com>
26691 Make sure that when a pipeline goes to PLAYING, that data has
26692 actually hit the sink.
26694 * check/states/sinks.c (test_sink): A sink that doesn't get any
26695 data shouldn't return SUCCESS for going to either PLAYING or
26696 PAUSED. Test also the return values on the way back down.
26698 * gst/gstelement.c (gst_element_set_state): When changing the
26699 state of an element currently changing state asynchronously, go to
26700 lost-state after commiting the pending state. Makes future calls
26701 to get_state continue to return ASYNC.
26703 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26704 ASYNC when going to PLAYING if we still don't have preroll, as can
26705 happen with live sources.
26707 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26709 * docs/pwg/advanced-types.xml:
26710 Hack long paragraph into 2 chunks as a workaround for buggy
26711 jadetex version in sid and breezy that loops infinitely and
26712 eats all RAM.
26714 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26716 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26717 (test_event), (timediff), (gstevents_suite):
26718 Provide more error margin in clock measurements to allow for
26719 g_get_current_time inaccuracies.
26721 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26723 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26724 (test_event), (timediff), (gstevents_suite):
26725 Fix error message output so I might be able to tell why the
26726 test works here but fails on the build farm.
26728 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26730 * check/Makefile.am:
26731 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26732 (test_event), (timediff), (gstevents_suite), (main):
26733 I wrote a test!
26735 * docs/design/part-seeking.txt:
26736 Spelling correction
26738 * docs/gst/tmpl/gstevent.sgml:
26739 * docs/gst/tmpl/gstfakesrc.sgml:
26740 Docs updates.
26742 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26743 Treat a buffer-without-newsegment the same as a receiving
26744 a newsegment not in time format, and disable syncing to the clock
26745 with a warning.
26747 * gst/gstbus.c: (gst_bus_set_sync_handler):
26748 Assert if anyone tries to replace the existing sync_handler for bus,
26749 as only the owner should be setting it.
26751 * gst/gstevent.h:
26752 Have a fixed set of custom event enums with events identified by
26753 their structure name (as in 0.8), rather than a free-for-all
26754 allowing collisions between enum values from different plugins.
26756 * gst/gstpad.c: (gst_pad_class_init):
26757 Docs change.
26759 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26760 Handle out-of-band downstream events from the sending thread.
26762 2005-08-17 Andy Wingo <wingo@pobox.com>
26764 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26765 play-timeout==0 to mean no timeout at all. In that case, don't
26766 bother with a get_state or a warning, just return directly, even
26767 if it's ASYNC.
26769 * gst/base/gstbasetransform.c: Debug changes.
26771 * gst/gstutils.h:
26772 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26773 ensure bins post state change messages. A bit of a hack but I can't
26774 think of a way to avoid it.
26776 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26778 2005-08-16 Andy Wingo <wingo@pobox.com>
26780 * gst/base/gstadapter.h:
26781 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26782 peek() but you own the data. Not terribly efficient atm.
26784 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26786 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26787 (gst_element_found_tags):
26788 * gst/gstutils.h:
26789 Add two utility functions for tag handling.
26791 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26793 * docs/manual/advanced-dataaccess.xml:
26794 * docs/manual/basics-helloworld.xml:
26795 Fix docs to use _bin_add() before _link(), which fixes the examples
26796 with recent core versions (reported by Madhan Raj M
26797 <raj_madan@rediffmail.com>, #313199).
26799 2005-08-16 Wim Taymans <wim@fluendo.com>
26801 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26802 Added subtract checks.
26804 * docs/design/part-events.txt:
26805 Some more docs about newsegment
26807 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26808 Fix FIXME
26810 * gst/gstcaps.c: (gst_caps_to_string):
26811 Add comments, cleanups.
26813 * gst/gstelement.c: (gst_element_save_thyself):
26814 cleanups
26816 * gst/gstvalue.c: (gst_value_collect_int_range),
26817 (gst_string_unwrap), (gst_value_union_int_int_range),
26818 (gst_value_union_int_range_int_range),
26819 (gst_value_intersect_int_int_range),
26820 (gst_value_intersect_int_range_int_range),
26821 (gst_value_intersect_double_double_range),
26822 (gst_value_intersect_double_range_double_range),
26823 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26824 (gst_value_subtract_int_range_int),
26825 (gst_value_subtract_double_range_double),
26826 (gst_value_subtract_double_range_double_range),
26827 (gst_value_subtract_from_list), (gst_value_subtract_list),
26828 (gst_value_can_compare), (gst_value_compare_fraction):
26829 Cleanups, add comments, remove unneeded asserts.
26831 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26833 * tools/gst-launch.c: (event_loop):
26834 don't convert NULL structures to strings
26836 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26838 * docs/gst/gstreamer-sections.txt:
26839 made some defines private
26840 * docs/gst/tmpl/gstconfig.sgml:
26841 * docs/gst/tmpl/gstqueue.sgml:
26842 * docs/gst/tmpl/gsttaglist.sgml:
26843 * docs/gst/tmpl/gsttypes.sgml:
26844 * docs/gst/tmpl/gstutils.sgml:
26845 * docs/pwg/appendix-porting.xml:
26846 * gst/base/gstbasesink.h:
26847 * gst/base/gstbasesrc.c:
26848 * gst/base/gstbasesrc.h:
26849 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26850 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26851 * gst/gstelement.c: (gst_element_class_init):
26852 * gst/gstpad.c: (gst_pad_class_init):
26853 * gst/gstqueue.c: (gst_queue_class_init):
26854 * gst/gstxml.c: (gst_xml_class_init):
26855 documented all undocumented signal inline
26856 * libs/gst/controller/gst-controller.h:
26857 added padding
26859 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26861 * docs/pwg/appendix-porting.xml:
26862 Document _set_link_function -> _set_setcaps_function.
26864 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26866 * check/Makefile.am:
26867 add a .check target for running the check
26868 * check/gst-libs/controller.c: (GST_START_TEST):
26869 cosmetic fixups
26870 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26871 complete checks for gstbuffer; would be nice if I could get the
26872 gcov stuff to work so I can see if I actually completed gstbuffer.c
26873 * check/gstcheck.h:
26874 add ASSERT_BUFFER_REFCOUNT
26876 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26878 * docs/gst/gstreamer-sections.txt:
26879 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26880 * gst/gsttag.h:
26881 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26882 spew out a warning if a tag that is already registered
26883 is re-registered, unless it is re-registered with a
26884 different type (#308438).
26886 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26888 * docs/pwg/appendix-porting.xml:
26889 * docs/pwg/building-state.xml:
26890 Add some paragraphs about state changes in 0.9 to the PWG
26891 and the porting guide, in particular about the new meaning
26892 of GST_STATE_PAUSED and how to write state change functions
26893 with concurrent access by multiple threads in mind.
26895 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26897 * docs/gst/gstreamer-docs.sgml:
26898 * docs/libs/gstreamer-libs-docs.sgml:
26899 added deprecation and since indexes
26900 * libs/gst/controller/gst-controller.c:
26901 * libs/gst/controller/gst-helper.c:
26902 added since tags
26905 2005-08-11 Wim Taymans <wim@fluendo.com>
26907 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26908 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26909 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26910 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26911 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26912 (gst_ghost_pad_set_target):
26913 Actually implement (re)setting the target on a ghostpad
26914 as described in the docs.
26916 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26918 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26919 Check whether GST_DEBUG_NO_COLOR environment variable is
26920 set and disable coloured debug output if that is the case.
26922 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26924 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26925 (gst_type_find_helper):
26926 The memory returned by gst_type_find_peek() needs to
26927 stay valid until the end of a typefind function, and
26928 typefind functions may keep results from different
26929 offsets around, so we can't just unref the buffer from
26930 the previous _peek(), but have to save all buffers
26931 returned by _peek() until typefinding is done and only
26932 free them then.
26934 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26936 * docs/gst/gstreamer-sections.txt:
26937 * gst/gstutils.h:
26938 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26940 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26942 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26943 Fix a pretty good memleak.
26945 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26947 * gst/gstiterator.h:
26948 Fix wrong include and 'make distcheck'.
26950 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26952 * gst/gstbin.c: (bin_bus_handler):
26953 Use gst_element_post_message() instead.
26955 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26957 * gst/base/gstadapter.h:
26958 * gst/base/gstbasesink.h:
26959 * gst/base/gstbasesrc.h:
26960 * gst/base/gstbasetransform.h:
26961 * gst/base/gstcollectpads.h:
26962 * gst/base/gstpushsrc.h:
26963 * gst/gstiterator.h:
26964 Add padding to our base elements' class and instance structs and
26965 to GstIterator (you will need to rebuild all plugins and apps!)
26967 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26969 * gst/gstbin.c: (bin_bus_handler):
26970 Make default message forwarding from child->bus to bin->bus
26971 threadsafe and make it not emit warnings if the parent has no bus.
26973 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26975 * gst/gstelement.c: (activate_pads):
26976 On paused->ready, set pad->caps to NULL, as is the documented
26977 behaviour in this state change. Fixes playback of series of
26978 media files when visualization is enabled in Totem.
26980 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26982 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26983 Allow NULL as filter-caps (which means "any").
26985 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26987 * docs/libs/gstreamer-libs-sections.txt:
26988 * libs/gst/controller/gst-controller.c:
26989 * libs/gst/controller/gst-controller.h:
26990 * libs/gst/controller/gst-helper.c:
26991 adding more entries to the docs and fix small doc-bugs
26993 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26995 * docs/gst/gstreamer-docs.sgml:
26996 * docs/gst/gstreamer-sections.txt:
26997 * docs/gst/gstreamer.types:
26998 * docs/gst/tmpl/gstbasesink.sgml:
26999 * docs/gst/tmpl/gstbasesrc.sgml:
27000 * docs/gst/tmpl/gstbasetransform.sgml:
27001 * docs/gst/tmpl/gstfakesrc.sgml:
27002 * gst/base/gstcollectpads.c:
27003 * gst/base/gstcollectpads.h:
27004 * libs/gst/controller/gst-controller.c:
27005 * libs/gst/controller/gst-controller.h:
27006 * libs/gst/controller/gst-helper.c:
27007 * libs/gst/controller/gst-interpolation.c:
27008 * libs/gst/controller/lib.c:
27009 added long/short desc for controller docs
27010 added collectpads base class docs
27011 added correct includes to base-class docs
27013 2005-08-05 Stefan Kost <ensonic@users.sf.net>
27015 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
27016 (gst_test_mono_source_set_property),
27017 (gst_test_mono_source_class_init), (GST_START_TEST),
27018 (gst_controller_suite):
27019 * docs/gst/gstreamer-docs.sgml:
27020 * docs/gst/gstreamer-sections.txt:
27021 * docs/gst/gstreamer.types:
27022 * docs/libs/gstreamer-libs-docs.sgml:
27023 * docs/libs/gstreamer-libs-sections.txt:
27024 * gst/base/gstadapter.c:
27025 * libs/gst/controller/gst-controller.c:
27026 (gst_controlled_property_new), (gst_controlled_property_free),
27027 (gst_controller_new_valist),
27028 (gst_controller_remove_properties_valist),
27029 (gst_controller_sink_values), (_gst_controller_finalize):
27030 * libs/gst/controller/gst-controller.h:
27031 * libs/gst/controller/gst-helper.c:
27032 (gst_object_control_properties), (gst_object_uncontrol_properties),
27033 (gst_object_get_controller), (gst_object_set_controller),
27034 (gst_object_sink_values), (gst_object_get_value_arrays),
27035 (gst_object_get_value_array):
27036 more tests (and fixes) for the controller
27037 more docs for the controller
27038 integrated companies docs for the adapter
27040 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
27042 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
27043 (GST_START_TEST), (fakesrc_suite):
27044 add tests for sizetype
27046 2005-08-04 Andy Wingo <wingo@pobox.com>
27048 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
27049 fixes buffer_alloc proxying among other things.
27051 * gst/base/gstbasetransform.c:
27052 * gst/base/gstbasetransform.h:
27053 Revert patch to gstbasetransform from 7-28 removing
27054 delay_configure.
27056 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
27057 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
27058 Semantics changed, should return not the size of the output buffer
27059 but the byte size of a buffer with a given caps.
27061 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27062 debug object.
27063 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27064 out) are not the pad caps until setcaps finishes.
27065 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27066 not-in-place case as well. Deal with changing from in-place to
27067 not-in-place within calling pad_alloc_buffer. Still a bit
27068 concerned about the overhead here...
27070 2005-08-03 Andy Wingo <wingo@pobox.com>
27072 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27073 fixating is an error.
27075 2005-08-04 Edward Hervey <edward@fluendo.com>
27077 * gst/base/gstadapter.h:
27078 Added gst_adapter_get_type() to the header
27080 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27082 * check/Makefile.am:
27083 * check/gst-libs/controller.c:
27084 * libs/gst/controller/gst-controller.c:
27085 (gst_controller_new_valist):
27086 added check test suite for the controller
27087 * gst/base/gstpushsrc.c:
27088 fixed a doc typo
27090 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27092 * docs/gst/Makefile.am:
27093 * docs/gst/gstreamer-docs.sgml:
27094 * docs/gst/gstreamer-sections.txt:
27095 * docs/gst/gstreamer.types:
27096 * docs/gst/tmpl/gstfakesrc.sgml:
27097 * gst/base/README:
27098 * gst/base/gstbasesink.c:
27099 * gst/base/gstbasesink.h:
27100 * gst/base/gstbasesrc.c:
27101 * gst/base/gstbasesrc.h:
27102 * gst/base/gstbasetransform.c:
27103 * gst/base/gstpushsrc.c:
27104 * gst/base/gstpushsrc.h:
27105 add short/long description docs to base classes
27106 add pushsrc to the docs
27107 remove consolidated doc fragments
27109 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27111 * configure.ac:
27112 * docs/libs/Makefile.am:
27113 * docs/libs/gstreamer-libs-docs.sgml:
27114 * docs/libs/gstreamer-libs-sections.txt:
27115 * docs/libs/gstreamer-libs.types:
27116 * examples/Makefile.am:
27117 * examples/controller/.cvsignore:
27118 * examples/controller/Makefile.am:
27119 * examples/controller/audio-example.c: (main):
27120 * libs/gst/Makefile.am:
27121 * libs/gst/controller/.cvsignore:
27122 * libs/gst/controller/Makefile.am:
27123 * libs/gst/controller/gst-controller.c:
27124 (on_object_controlled_property_changed), (gst_timed_value_compare),
27125 (gst_timed_value_find),
27126 (gst_controlled_property_set_interpolation_mode),
27127 (gst_controlled_property_new), (gst_controlled_property_free),
27128 (gst_controller_find_controlled_property),
27129 (gst_controller_new_valist), (gst_controller_new),
27130 (gst_controller_remove_properties_valist),
27131 (gst_controller_remove_properties), (gst_controller_set),
27132 (gst_controller_set_from_list), (gst_controller_unset),
27133 (gst_controller_get), (gst_controller_get_all),
27134 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27135 (gst_controller_get_value_array),
27136 (gst_controller_set_interpolation_mode),
27137 (_gst_controller_finalize), (_gst_controller_init),
27138 (_gst_controller_class_init), (gst_controller_get_type):
27139 * libs/gst/controller/gst-controller.h:
27140 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27141 (g_object_uncontrol_properties), (g_object_get_controller),
27142 (g_object_set_controller), (g_object_sink_values),
27143 (g_object_get_value_arrays), (g_object_get_value_array):
27144 * libs/gst/controller/gst-interpolation.c:
27145 (gst_controlled_property_find_timed_value_node),
27146 (interpolate_none_get), (interpolate_trigger_get),
27147 (interpolate_trigger_get_value_array):
27148 * libs/gst/controller/lib.c: (gst_controller_init):
27149 * pkgconfig/Makefile.am:
27150 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27151 * pkgconfig/gstreamer-control.pc.in:
27152 * testsuite/Makefile.am:
27153 * testsuite/controller/.cvsignore:
27154 * testsuite/controller/Makefile.am:
27155 * testsuite/controller/interpolator.c: (main):
27156 added controller code
27157 removed dparam pc files
27159 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27160 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27161 (gst_collectpads_stop):
27162 Broadcast the condition when shutting down, to make sure we wake all
27163 threads up. Shut down pads on finalize, for safety.
27165 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27166 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27167 (gst_base_transform_handle_buffer),
27168 (gst_base_transform_change_state):
27169 Handle PAUSED->READY->PAUSED transition after negotiation
27170 occurred already.
27171 * gst/gstmessage.c: (gst_message_init):
27172 Extra piece of debug for new messages.
27174 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27176 * configure.ac:
27177 * docs/gst/tmpl/gstbasesrc.sgml:
27178 * docs/gst/tmpl/gstelement.sgml:
27179 * docs/gst/tmpl/gstevent.sgml:
27180 * docs/gst/tmpl/gstfakesrc.sgml:
27181 * docs/gst/tmpl/gstformat.sgml:
27182 * docs/gst/tmpl/gstghostpad.sgml:
27183 * docs/gst/tmpl/gstpad.sgml:
27184 * docs/gst/tmpl/gstquery.sgml:
27185 * docs/gst/tmpl/gststructure.sgml:
27186 * docs/gst/tmpl/gsttaglist.sgml:
27187 * docs/gst/tmpl/gstvalue.sgml:
27188 * docs/libs/gstreamer-libs-docs.sgml:
27189 * docs/libs/gstreamer-libs-sections.txt:
27190 * docs/libs/gstreamer-libs.types:
27191 * libs/gst/Makefile.am:
27192 * libs/gst/control/.cvsignore:
27193 * libs/gst/control/Makefile.am:
27194 * libs/gst/control/control.c:
27195 * libs/gst/control/control.h:
27196 * libs/gst/control/dparam.c:
27197 * libs/gst/control/dparam.h:
27198 * libs/gst/control/dparam_smooth.c:
27199 * libs/gst/control/dparam_smooth.h:
27200 * libs/gst/control/dparamcommon.h:
27201 * libs/gst/control/dparammanager.c:
27202 * libs/gst/control/dparammanager.h:
27203 * libs/gst/control/dplinearinterp.c:
27204 * libs/gst/control/dplinearinterp.h:
27205 * libs/gst/control/unitconvert.c:
27206 * libs/gst/control/unitconvert.h:
27207 * testsuite/Makefile.am:
27208 * testsuite/dynparams/.cvsignore:
27209 * testsuite/dynparams/Makefile.am:
27210 * testsuite/dynparams/dparamstest.c:
27211 * tools/Makefile.am:
27212 * tools/gst-inspect.c: (print_element_info), (main):
27213 * tools/gst-xmlinspect.c: (print_element_info), (main):
27214 deactivate and remove dparams (libgstcontrol)
27216 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27218 * gst/elements/gsttypefindelement.c:
27219 (gst_type_find_element_have_type), (gst_type_find_element_init),
27220 (stop_typefinding), (gst_type_find_element_handle_event),
27221 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27222 * gst/elements/gsttypefindelement.h:
27223 Set caps on all outgoing buffers, not just the first one.
27225 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27227 * gst/elements/gsttypefindelement.c:
27228 (gst_type_find_element_have_type),
27229 (gst_type_find_element_check_set_buffer_caps),
27230 (gst_type_find_element_init), (stop_typefinding),
27231 (gst_type_find_element_handle_event),
27232 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27233 * gst/elements/gsttypefindelement.h:
27234 Set caps on first outgoing buffer when we've found the type.
27236 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27238 * docs/gst/gstreamer-docs.sgml:
27239 * docs/gst/gstreamer-sections.txt:
27240 * docs/gst/tmpl/gstscheduler.sgml:
27241 * docs/gst/tmpl/gstschedulerfactory.sgml:
27242 Remove some old cruft from docs.
27244 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27246 * gst/gstpad.h:
27247 Fix inline docs for GstPadLinkReturn.
27249 * gst/gststructure.c: (gst_structure_has_name):
27250 * gst/gststructure.h:
27251 * docs/gst/gstreamer-sections.txt:
27252 New API: gst_structure_has_name().
27254 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27256 * configure.ac:
27257 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27258 and _LARGEFILE_SOURCE in config.h as required. Do not
27259 export those flags in our .pc files any longer (#142209).
27261 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27263 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27264 (gst_file_sink_do_seek), (gst_file_sink_event),
27265 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27266 Redo seek/tell calls with large file support in mind; add some
27267 debugging messages; add log message that tells us when large
27268 file support is unavailable or not enabled for some reason.
27270 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27271 Add log message that tells us when large file support
27272 is unavailable or not enabled for some reason.
27274 2005-07-29 Wim Taymans <wim@fluendo.com>
27276 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27277 Added test for removing an element with ghostpad from a bin.
27278 Fixed test as current implementation does the right thing.
27280 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27281 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27282 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27283 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27284 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27285 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27286 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27287 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27288 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27289 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27290 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27291 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27292 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27293 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27294 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27295 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27296 * gst/gstghostpad.h:
27297 Clean up ghostpads, remove properties for internal stuff.
27298 Make threadsafe.
27299 Fix refcounting.
27300 Prepare for switching targets, not all use cases work yet.
27302 2005-07-29 Wim Taymans <wim@fluendo.com>
27304 * docs/design/part-gstghostpad.txt:
27305 Small update.
27307 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27308 (gst_bin_remove_func):
27309 Unlinking pads while holding the bin LOCK is not a good
27310 idea.
27312 * gst/gstpad.c: (gst_pad_class_init),
27313 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27314 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27315 No prob setting template after creating the pad.
27317 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27319 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27320 (gst_bus_peek), (gst_bus_source_dispatch),
27321 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27322 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27323 gst_bus_poll may be called from other threads. Handle
27324 this nicely by not making poll_data disappear off the
27325 stack once gst_bus_poll returns.
27326 gst_bus_peek now increments the refcount on the returned
27327 message.
27329 2005-07-29 Wim Taymans <wim@fluendo.com>
27331 * docs/design/part-gstghostpad.txt:
27332 Overview of current GhostPad datastructures and use
27333 cases for changing the target.
27335 2005-07-28 Wim Taymans <wim@fluendo.com>
27337 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27338 Added checks for hierarchy consistency whan adding linked
27339 elements to bins.
27341 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27342 Added check to test element scheduling without bin/pipeline.
27344 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27345 First add elements to bin, then link.
27347 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27348 (gst_bin_remove_func):
27349 Unlink pads from elements added/removed from bin to maintain
27350 hierarchy consistency.
27352 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27354 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27355 (gst_base_transform_handle_buffer):
27356 * gst/base/gstbasetransform.h:
27357 Remove broken delay_configure (fixes renegotiation of software
27358 scaling pipelines); remove some leftover printf()s.
27360 2005-07-28 Wim Taymans <wim@fluendo.com>
27362 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27363 Added some more tests for wrong hierarchy
27365 * docs/design/part-overview.txt:
27366 Some updates.
27368 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27369 Cleanups.
27371 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27372 (gst_element_dispose):
27373 Some more cleanups.
27375 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27376 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27377 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27378 (gst_pad_set_caps), (gst_pad_send_event):
27379 Check for correct hierarchy when linking pads. Moving to
27380 strict requirement for ghostpads when linking elements in
27381 different bins.
27383 * gst/gstpad.h:
27384 Clean ups. Added WRONG_HIERARCHY return value.
27386 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27388 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27389 Better debug if no transform is possible.
27391 2005-07-27 Wim Taymans <wim@fluendo.com>
27393 * docs/random/wtay/network-transp:
27394 Some old doc I had.
27396 2005-07-27 Wim Taymans <wim@fluendo.com>
27398 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27399 (gst_dp_event_from_packet):
27400 Fix serialization of seek events.
27402 2005-07-27 Wim Taymans <wim@fluendo.com>
27404 * check/gst-libs/gdp.c: (GST_START_TEST):
27405 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27406 Fix compilation and fix event serialization.
27408 2005-07-27 Wim Taymans <wim@fluendo.com>
27410 * CHANGES-0.9:
27411 * docs/design/part-TODO.txt:
27412 * docs/design/part-events.txt:
27413 Some docs updates
27415 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27416 (gst_base_sink_event), (gst_base_sink_do_sync),
27417 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27418 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27419 (gst_base_src_do_seek), (gst_base_src_event_handler),
27420 (gst_base_src_loop):
27421 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27422 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27423 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27424 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27425 (gst_base_transform_set_passthrough),
27426 (gst_base_transform_is_passthrough):
27427 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27428 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27429 Event updates.
27431 * gst/gstbuffer.h:
27432 Use faster casts.
27434 * gst/gstelement.c: (gst_element_seek):
27435 * gst/gstelement.h:
27436 Update gst_element_seek.
27438 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27439 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27440 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27441 (gst_event_new_eos), (gst_event_new_newsegment),
27442 (gst_event_parse_newsegment), (gst_event_new_tag),
27443 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27444 (gst_event_parse_qos), (gst_event_new_seek),
27445 (gst_event_parse_seek), (gst_event_new_navigation):
27446 * gst/gstevent.h:
27447 Make GstEvent use GstStructure. Add parsing code, make sure the
27448 API is sufficiently generic.
27449 Mark possible directions of events and serialization.
27451 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27452 (_gst_message_copy), (gst_message_new_segment_start),
27453 (gst_message_new_segment_done), (gst_message_new_custom),
27454 (gst_message_parse_segment_start),
27455 (gst_message_parse_segment_done):
27456 Small cleanups.
27458 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27459 (gst_pad_set_caps), (gst_pad_send_event):
27460 Update for new events.
27461 Catch events sent in wrong directions.
27463 * gst/gstqueue.c: (gst_queue_link_src),
27464 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27465 (gst_queue_handle_src_query):
27466 Event updates.
27468 * gst/gsttag.c:
27469 * gst/gsttag.h:
27470 Remove event code from this file.
27472 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27473 (gst_dp_event_from_packet):
27474 Event updates.
27476 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27478 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27479 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27480 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27481 Make debugging actually useful.
27483 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27485 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27486 (gst_pad_fixate_caps):
27487 Implement default fixation once again, so that gst_pad_fixate()
27488 actually does anything at all. This probably needs to be some
27489 sort of a last resort, and use profile-based fixation first, but
27490 since that doesn't exist yet, this is the best we have. Fixes
27491 visualization in Totem.
27493 2005-07-22 Wim Taymans <wim@fluendo.com>
27495 * docs/design/part-events.txt:
27496 Small update.
27498 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27499 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27500 (gst_base_sink_activate_pull):
27501 Some more comments.
27503 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27504 (gst_fake_src_create):
27505 Fix handoff marshall.
27507 * gst/elements/gstidentity.c: (gst_identity_class_init),
27508 (gst_identity_transform_ip):
27509 We're a real inplace element.
27511 * gst/gstbus.c: (gst_bus_post):
27512 Added some comments.
27514 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27515 * tests/muxing/case1.c: (main):
27516 * tests/sched/dynamic-pipeline.c: (main):
27517 * tests/sched/interrupt1.c: (main):
27518 * tests/sched/interrupt2.c: (main):
27519 * tests/sched/interrupt3.c: (main):
27520 * tests/sched/runxml.c: (main):
27521 * tests/sched/sched-stress.c: (main):
27522 * tests/seeking/seeking1.c: (event_received), (main):
27523 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27524 (main):
27525 * tests/threadstate/threadstate3.c: (main):
27526 * tests/threadstate/threadstate4.c: (main):
27527 * tests/threadstate/threadstate5.c: (main):
27528 Fix the tests.
27530 2005-07-21 Wim Taymans <wim@fluendo.com>
27532 * docs/design/part-seeking.txt:
27533 Some small additions.
27535 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27536 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27537 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27538 * gst/base/gstbasesink.h:
27539 discont values are gint64, handle the math correctly.
27541 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27542 Make the basesrc report error if the source pad is not linked.
27544 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27545 (gst_queue_loop), (gst_queue_handle_src_query),
27546 (gst_queue_src_activate_push):
27547 Make queue collect data even if the srcpad is not linked.
27548 Start pushing out data as soon as it is linked.
27550 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27551 * gst/gstutils.h:
27552 Added gst_flow_get_name() to ease error reporting.
27554 2005-07-20 Wim Taymans <wim@fluendo.com>
27556 * gst/gstmessage.c: (gst_message_new_segment_start),
27557 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27558 (gst_message_parse_segment_done):
27559 * gst/gstmessage.h:
27560 Added a bunch of messages for advanced seeking.
27562 * gst/parse/grammar.y:
27563 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27564 (gst_dpman_state_changed):
27565 Fix some new-pad -> pad-added signals
27567 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27569 * docs/manual/appendix-porting.xml:
27570 * docs/pwg/appendix-porting.xml:
27571 Document new-pad/state-change signal renames and the FixedList
27572 type rename.
27574 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27576 * docs/manual/advanced-autoplugging.xml:
27577 * docs/manual/basics-helloworld.xml:
27578 * docs/manual/basics-pads.xml:
27579 * docs/random/ds/0.9-suggested-changes:
27580 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27581 * gst/gstelement.h:
27582 * gst/gstevent.h:
27583 * gst/gstformat.h:
27584 * gst/gstquery.h:
27585 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27586 (gst_structure_parse_array), (gst_structure_parse_value):
27587 * gst/gstvalue.c: (gst_type_is_fixed),
27588 (gst_value_list_prepend_value), (gst_value_list_append_value),
27589 (gst_value_list_get_size), (gst_value_list_get_value),
27590 (gst_value_transform_array_string), (gst_value_serialize_array),
27591 (gst_value_deserialize_array), (gst_value_intersect_array),
27592 (gst_value_is_fixed), (_gst_value_initialize):
27593 * gst/gstvalue.h:
27594 GstElement::new-pad -> pad-added, GstElement::state-change ->
27595 state-changed, GstValueFixedList -> GstValueArray, add format and
27596 flags as their own arguments in gst_element_seek() (should improve
27597 "bindeability"), remove function generators since they don't work
27598 under a whole bunch of compilers (they were deprecated already
27599 anyway).
27601 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27603 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27604 (_gst_debug_register_funcptr):
27605 * gst/gstinfo.h:
27606 Fix illegal cast on some platforms (#309253).
27608 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27610 * gst/gstmessage.c: (gst_message_new_custom):
27611 * gst/gstmessage.h:
27612 Add _new_custom, make _new_application a macro to _new_custom.
27614 2005-07-20 Wim Taymans <wim@fluendo.com>
27616 * gst/base/gstbasesrc.c: (gst_base_src_init),
27617 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27618 * gst/base/gstbasesrc.h:
27619 Add a gboolean to decide when to push out a discont.
27621 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27622 (gst_queue_loop), (gst_queue_handle_src_query),
27623 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27624 (gst_queue_set_property), (gst_queue_get_property):
27625 Some cleanups.
27627 * tests/threadstate/threadstate1.c: (main):
27628 Make a thread test compile and run... very silly..
27631 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27633 * docs/manual/appendix-porting.xml:
27634 Mention removal of libgstgconf-0.9.la and existence of gconf
27635 elements.
27637 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27639 * docs/pwg/advanced-clock.xml:
27640 * docs/pwg/appendix-porting.xml:
27641 * docs/pwg/intro-preface.xml:
27642 * docs/pwg/other-base.xml:
27643 * docs/pwg/other-manager.xml:
27644 * docs/pwg/other-nton.xml:
27645 * docs/pwg/other-ntoone.xml:
27646 * docs/pwg/other-oneton.xml:
27647 * docs/pwg/pwg.xml:
27648 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27649 demuxer), remove n-to-n (was never written), fix some code examples
27650 and links and update the porting section to include all this.
27652 2005-07-19 Wim Taymans <wim@fluendo.com>
27654 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27655 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27656 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27657 (gst_queue_src_activate_push), (gst_queue_change_state),
27658 (gst_queue_get_property):
27659 * gst/gstqueue.h:
27660 Propagate GstFlowReturn more intelligently upstream and output
27661 an ERROR/EOS when streaming stopped due to fatal error.
27663 2005-07-19 Wim Taymans <wim@fluendo.com>
27665 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27666 Don't block forever for the state change to complete, the
27667 pipeline already did with a sensible timeout.
27669 2005-07-19 Wim Taymans <wim@fluendo.com>
27671 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27672 Make sure we never call the create function is we
27673 got deactivated.
27675 2005-07-19 Andy Wingo <wingo@pobox.com>
27677 * gst/parse/parse.l: Attempt to solve bug #172815.
27679 2005-07-19 Wim Taymans <wim@fluendo.com>
27681 * docs/design/part-clocks.txt:
27682 * docs/design/part-events.txt:
27683 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27684 Small docs updates.
27685 Only update the seeking values when we are not
27686 busy streaming.
27688 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27690 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27691 Oops, ignore the result of gst_pad_push_event here.
27693 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27695 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27696 (gst_base_src_activate_push):
27697 Send discont event from the loop function, as pads
27698 aren't activated yet in the activate_push handler.
27700 * gst/gstbin.c: (bin_bus_handler):
27701 Don't leak element name.
27703 2005-07-18 Andy Wingo <wingo@pobox.com>
27705 * configure.ac: Use AS_LIBTOOL_TAGS.
27707 2005-07-18 Wim Taymans <wim@fluendo.com>
27709 * docs/gst/gstreamer.types:
27710 Remove deleted types.
27712 2005-07-18 Wim Taymans <wim@fluendo.com>
27714 * check/elements/gstfakesrc.c: (GST_START_TEST):
27715 * configure.ac:
27716 * gst/Makefile.am:
27717 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27718 (init_popt_callback):
27719 * gst/gst.h:
27720 * gst/gst_private.h:
27721 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27722 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27723 * gst/gstbin.h:
27724 * gst/gstbus.h:
27725 * gst/gstconfig.h.in:
27726 * gst/gstelement.c: (gst_element_class_init),
27727 (gst_element_set_base_time), (gst_element_get_base_time),
27728 (iterator_fold_with_resync), (gst_element_change_state),
27729 (gst_element_dispose), (gst_element_get_bus):
27730 * gst/gstelement.h:
27731 * gst/gstelementfactory.h:
27732 * gst/gsterror.c: (_gst_core_errors_init):
27733 * gst/gsterror.h:
27734 * gst/gstevent.h:
27735 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27736 * gst/gstindex.c:
27737 * gst/gstinfo.c: (_gst_debug_init):
27738 * gst/gstmessage.c: (_gst_message_copy):
27739 * gst/gstmessage.h:
27740 * gst/gstminiobject.h:
27741 * gst/gstobject.c:
27742 * gst/gstobject.h:
27743 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27744 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27745 * gst/gstpad.h:
27746 * gst/gstparse.h:
27747 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27748 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27749 (gst_pipeline_get_last_stream_time):
27750 * gst/gstpipeline.h:
27751 * gst/gstpluginfeature.h:
27752 * gst/gstquery.h:
27753 * gst/gstscheduler.c:
27754 * gst/gstscheduler.h:
27755 * gst/gststructure.h:
27756 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27757 (gst_task_finalize), (gst_task_func), (gst_task_create),
27758 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27759 (gst_task_stop), (gst_task_pause):
27760 * gst/gsttask.h:
27761 * gst/gsttypefind.h:
27762 * gst/gsttypes.h:
27763 * gst/registries/gstlibxmlregistry.c: (load_feature),
27764 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27765 * gst/registries/gstxmlregistry.c:
27766 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27767 * gst/schedulers/threadscheduler.c:
27768 * libs/gst/control/dparammanager.h:
27769 * tools/gst-inspect.c: (print_element_list),
27770 (print_plugin_features), (print_element_features):
27771 * tools/gst-xmlinspect.c: (print_element_list),
27772 (print_plugin_info), (main):
27773 Removed plugable schedulers.
27774 Removed Scheduler/Manager from elements.
27775 Removed gsttypes.h, rearranged includes.
27776 Removed dependency pad<->element, element<>pipeline, and
27777 various others, fix includes.
27778 implement gst_pad_get_parent() with gst_object_get_parent()
27779 Make GstTask sefcontained.
27780 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27781 timeout.
27782 Fix endless loop in iterator_fold_with_resync.
27785 2005-07-18 Wim Taymans <wim@fluendo.com>
27787 * gst/Makefile.am:
27788 * gst/gstarch.h:
27789 Remove old file.
27791 2005-07-18 Wim Taymans <wim@fluendo.com>
27793 * gst/Makefile.am:
27794 No more cothreads.h
27796 2005-07-18 Wim Taymans <wim@fluendo.com>
27798 * gst/cothreads.c:
27799 * gst/cothreads.h:
27800 Let's remove these.
27802 2005-07-18 Wim Taymans <wim@fluendo.com>
27804 * docs/design/part-dynamic.txt:
27805 * docs/design/part-events.txt:
27806 * docs/design/part-seeking.txt:
27807 Some more docs in the works.
27809 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27810 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27811 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27812 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27813 (gst_base_transform_handle_buffer),
27814 (gst_base_transform_sink_activate_push),
27815 (gst_base_transform_src_activate_pull),
27816 (gst_base_transform_set_passthrough),
27817 (gst_base_transform_is_passthrough):
27818 Refcounting fixes.
27820 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27821 Cleanups.
27823 * gst/gstevent.c: (gst_event_finalize):
27824 Set SRC to NULL.
27826 * gst/gstutils.c: (gst_element_unlink),
27827 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27828 (gst_pad_proxy_setcaps):
27829 * gst/gstutils.h:
27830 Add _get_parent_element() to get a pads parent as an element.
27832 2005-07-18 Wim Taymans <wim@fluendo.com>
27834 * check/gst/gstbin.c: (GST_START_TEST):
27835 Remove bogus test.
27837 2005-07-18 Wim Taymans <wim@fluendo.com>
27839 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27840 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27841 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27842 (gst_base_sink_event), (gst_base_sink_do_sync),
27843 (gst_base_sink_chain), (gst_base_sink_loop),
27844 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27845 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27846 Refcounting fixes.
27847 Fix logic for returning ASYNC when not prerolled.
27849 2005-07-18 Wim Taymans <wim@fluendo.com>
27851 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27852 Fix nasty refcount bug.
27854 2005-07-16 Philippe Khalaf <burger@speedy.org>
27856 * gst/elements/gstfdsrc.c:
27857 * gst/elements/gstfdsrc.h:
27858 * gst/elements/gstelements.c:
27859 * gst/elements/Makefile.am:
27860 Ported fdsrc to 0.9.
27862 2005-07-16 Wim Taymans <wim@fluendo.com>
27864 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27865 (gst_base_sink_do_sync):
27866 Fix compile error.
27868 2005-07-16 Wim Taymans <wim@fluendo.com>
27870 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27871 (gst_base_sink_event), (gst_base_sink_get_times),
27872 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27873 * gst/base/gstbasesink.h:
27874 Store and use discont values when syncing buffers as described
27875 in design docs.
27877 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27878 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27879 (gst_base_src_activate_push):
27880 Push discont event when starting.
27882 * gst/elements/gstidentity.c: (gst_identity_transform):
27883 Small cleanups.
27885 * gst/gstbin.c: (gst_bin_change_state):
27886 Small cleanups in base_time distribution.
27888 * gst/gstelement.c: (gst_element_set_base_time),
27889 (gst_element_get_base_time), (gst_element_change_state):
27890 * gst/gstelement.h:
27891 Added methods for the base_time of the element.
27892 Some MT fixes.
27894 * gst/gstpipeline.c: (gst_pipeline_send_event),
27895 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27896 (gst_pipeline_get_last_stream_time):
27897 * gst/gstpipeline.h:
27898 MT fixes.
27899 Handle seeking as described in design doc, remove stream_time
27900 hack.
27901 Cleanups clock and stream_time selection code. Added accessors
27902 for the stream_time.
27905 2005-07-16 Andy Wingo <wingo@pobox.com>
27907 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27908 (#305291).
27910 2005-07-16 Wim Taymans <wim@fluendo.com>
27912 * check/gst/gstbin.c: (GST_START_TEST):
27913 Make elements silent as the deep_notify refs the
27914 parent, which might make the test fail.
27916 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27917 Don't hold the lock for too long.
27919 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27921 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27922 Don't unref the caps we passed to gst_caps_make_writable() after
27923 passing them. gst_caps_make_writable() will do that for us.
27925 2005-07-15 Andy Wingo <wingo@pobox.com>
27927 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27928 (#157311).
27930 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27931 own marshalling function for the handoff signal. Properly type the
27932 buffer as a buffer. Fixes some warnings. Should do a more general
27933 solution.
27934 (gst_identity_class_init): Plug into the right marshaller.
27936 2005-07-15 Wim Taymans <wim@fluendo.com>
27938 * docs/design/part-TODO.txt:
27939 * docs/design/part-clocks.txt:
27940 * docs/design/part-element-sink.txt:
27941 * docs/design/part-events.txt:
27942 * docs/design/part-gstpipeline.txt:
27943 Updated docs, mostly DISCONT related.
27945 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27947 * docs/pwg/building-pads.xml:
27948 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27950 2005-07-15 Andy Wingo <wingo@pobox.com>
27952 * tools/gst-typefind.c: Update, add copyright block.
27954 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27955 Normalize and truncate caps before fixation.
27957 * gst/gstcaps.h:
27958 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27959 discards all but the first structure from its argument.
27961 2005-07-15 Wim Taymans <wim@fluendo.com>
27963 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27964 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27965 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27966 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27967 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27968 (gst_base_transform_chain), (gst_base_transform_change_state),
27969 (gst_base_transform_set_passthrough),
27970 (gst_base_transform_is_passthrough):
27971 * gst/base/gstbasetransform.h:
27972 Make passthrough work using the bufferpools.
27973 Changed API a bit, subclasses have to write into a buffer
27974 provided by the base class.
27975 More debug info in nego functions.
27977 * gst/elements/gstidentity.c: (gst_identity_init),
27978 (gst_identity_transform):
27979 Port to new base class.
27981 2005-07-15 Wim Taymans <wim@fluendo.com>
27983 * gst/gstmessage.c: (gst_message_new_state_changed):
27984 * tools/gst-launch.c: (event_loop), (main):
27985 Totally dump messages in -launch with the -m option.
27986 Fix message name for State messages,
27988 2005-07-14 Wim Taymans <wim@fluendo.com>
27990 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27991 Post error messages on errors.
27993 2005-07-14 Wim Taymans <wim@fluendo.com>
27995 * gst/gstcaps.c: (gst_caps_do_simplify):
27996 Remove debug info.
27998 * gst/gsterror.h:
27999 Define error for stream stopped.
28001 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28002 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
28003 Do proper return values.
28005 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
28006 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
28007 (gst_pad_get_range):
28008 Better return values.
28010 * gst/gstpad.h:
28011 Reorganise return values, add macro to check for fatal errors.
28013 * gst/gstqueue.c: (gst_queue_chain):
28014 Return proper GstFlowReturn values,
28016 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
28018 * docs/gst/gstreamer-sections.txt:
28019 * docs/gst/gstreamer.types:
28020 * docs/gst/tmpl/gst.sgml:
28021 * docs/gst/tmpl/gstbasesink.sgml:
28022 * docs/gst/tmpl/gstbasesrc.sgml:
28023 * docs/gst/tmpl/gstbasetransform.sgml:
28024 * docs/gst/tmpl/gstbin.sgml:
28025 * docs/gst/tmpl/gstbuffer.sgml:
28026 * docs/gst/tmpl/gstcaps.sgml:
28027 * docs/gst/tmpl/gstclock.sgml:
28028 * docs/gst/tmpl/gstcompat.sgml:
28029 * docs/gst/tmpl/gstconfig.sgml:
28030 * docs/gst/tmpl/gstelement.sgml:
28031 * docs/gst/tmpl/gstelementdetails.sgml:
28032 * docs/gst/tmpl/gstelementfactory.sgml:
28033 * docs/gst/tmpl/gstenumtypes.sgml:
28034 * docs/gst/tmpl/gsterror.sgml:
28035 * docs/gst/tmpl/gstevent.sgml:
28036 * docs/gst/tmpl/gstfakesink.sgml:
28037 * docs/gst/tmpl/gstfakesrc.sgml:
28038 * docs/gst/tmpl/gstfilesink.sgml:
28039 * docs/gst/tmpl/gstfilesrc.sgml:
28040 * docs/gst/tmpl/gstfilter.sgml:
28041 * docs/gst/tmpl/gstformat.sgml:
28042 * docs/gst/tmpl/gstghostpad.sgml:
28043 * docs/gst/tmpl/gstimplementsinterface.sgml:
28044 * docs/gst/tmpl/gstindex.sgml:
28045 * docs/gst/tmpl/gstindexfactory.sgml:
28046 * docs/gst/tmpl/gstinfo.sgml:
28047 * docs/gst/tmpl/gstiterator.sgml:
28048 * docs/gst/tmpl/gstmacros.sgml:
28049 * docs/gst/tmpl/gstmemchunk.sgml:
28050 * docs/gst/tmpl/gstminiobject.sgml:
28051 * docs/gst/tmpl/gstobject.sgml:
28052 * docs/gst/tmpl/gstpad.sgml:
28053 * docs/gst/tmpl/gstpadtemplate.sgml:
28054 * docs/gst/tmpl/gstparse.sgml:
28055 * docs/gst/tmpl/gstpipeline.sgml:
28056 * docs/gst/tmpl/gstplugin.sgml:
28057 * docs/gst/tmpl/gstpluginfeature.sgml:
28058 * docs/gst/tmpl/gstquery.sgml:
28059 * docs/gst/tmpl/gstqueue.sgml:
28060 * docs/gst/tmpl/gstregistry.sgml:
28061 * docs/gst/tmpl/gstregistrypool.sgml:
28062 * docs/gst/tmpl/gstscheduler.sgml:
28063 * docs/gst/tmpl/gstschedulerfactory.sgml:
28064 * docs/gst/tmpl/gststructure.sgml:
28065 * docs/gst/tmpl/gstsystemclock.sgml:
28066 * docs/gst/tmpl/gsttaglist.sgml:
28067 * docs/gst/tmpl/gsttagsetter.sgml:
28068 * docs/gst/tmpl/gsttrace.sgml:
28069 * docs/gst/tmpl/gsttrashstack.sgml:
28070 * docs/gst/tmpl/gsttypefind.sgml:
28071 * docs/gst/tmpl/gsttypefindfactory.sgml:
28072 * docs/gst/tmpl/gsttypes.sgml:
28073 * docs/gst/tmpl/gsturihandler.sgml:
28074 * docs/gst/tmpl/gsturitype.sgml:
28075 * docs/gst/tmpl/gstutils.sgml:
28076 * docs/gst/tmpl/gstvalue.sgml:
28077 * docs/gst/tmpl/gstversion.sgml:
28078 * docs/gst/tmpl/gstxml.sgml:
28079 * docs/libs/tmpl/gstcontrol.sgml:
28080 * docs/libs/tmpl/gstdataprotocol.sgml:
28081 * docs/libs/tmpl/gstdparam.sgml:
28082 * docs/libs/tmpl/gstdplinint.sgml:
28083 * docs/libs/tmpl/gstdpman.sgml:
28084 * docs/libs/tmpl/gstdpsmooth.sgml:
28085 * docs/libs/tmpl/gstgetbits.sgml:
28086 * docs/libs/tmpl/gstunitconvert.sgml:
28087 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28088 (gst_push_src_base_init), (gst_push_src_class_init),
28089 (gst_push_src_init), (gst_push_src_create):
28090 * gst/base/gstpushsrc.h:
28091 * gst/elements/gstelements.c:
28092 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28093 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28094 (gst_fake_sink_init), (gst_fake_sink_set_property),
28095 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28096 (gst_fake_sink_event), (gst_fake_sink_preroll),
28097 (gst_fake_sink_render), (gst_fake_sink_change_state):
28098 * gst/elements/gstfakesink.h:
28099 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28100 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28101 (gst_fake_src_base_init), (gst_fake_src_class_init),
28102 (gst_fake_src_init), (gst_fake_src_event_handler),
28103 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28104 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28105 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28106 (gst_fake_src_create_buffer), (gst_fake_src_create),
28107 (gst_fake_src_start), (gst_fake_src_stop):
28108 * gst/elements/gstfakesrc.h:
28109 * gst/elements/gstfilesink.c: (_do_init),
28110 (gst_file_sink_base_init), (gst_file_sink_class_init),
28111 (gst_file_sink_init), (gst_file_sink_dispose),
28112 (gst_file_sink_set_location), (gst_file_sink_set_property),
28113 (gst_file_sink_get_property), (gst_file_sink_open_file),
28114 (gst_file_sink_close_file), (gst_file_sink_query),
28115 (gst_file_sink_event), (gst_file_sink_render),
28116 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28117 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28118 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28119 * gst/elements/gstfilesink.h:
28120 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28121 (gst_file_src_class_init), (gst_file_src_init),
28122 (gst_file_src_finalize), (gst_file_src_set_location),
28123 (gst_file_src_set_property), (gst_file_src_get_property),
28124 (gst_file_src_map_region), (gst_file_src_map_small_region),
28125 (gst_file_src_create_mmap), (gst_file_src_create_read),
28126 (gst_file_src_create), (gst_file_src_is_seekable),
28127 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28128 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28129 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28130 (gst_file_src_uri_handler_init):
28131 * gst/elements/gstfilesrc.h:
28132 more autistic cleanliness in functions/names/defines
28134 2005-07-13 Andy Wingo <wingo@pobox.com>
28136 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28137 source couldn't negotiate.
28139 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28140 connections again.
28142 * gst/gstutils.h:
28143 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28144 function. I am channeling Hades. Put your boots on suckers!!!
28146 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28148 * testsuite/caps/Makefile.am:
28149 * testsuite/caps/value_compare.c:
28150 * testsuite/caps/value_intersect.c:
28151 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28152 move two testsuite apps over to the check dir
28154 2005-07-12 Wim Taymans <wim@fluendo.com>
28156 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28157 Added more debug info in the negotiate process.
28159 * gst/gstmessage.h:
28160 Prepare for segment playback.
28162 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28163 Better debugging.
28165 * gst/gstutils.c:
28166 Some more docs.
28168 * tools/gst-launch.c: (main):
28169 NULL pipeline on errors.
28171 2005-07-12 Andy Wingo <wingo@pobox.com>
28173 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28174 not it comes from a malloc region. Make sure our copy gets freed.
28176 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28178 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28179 * check/gst/gstmessage.c: (GST_START_TEST):
28180 * check/gst/gststructure.c: (GST_START_TEST),
28181 (gst_structure_suite), (main):
28182 more testing
28183 * gst/gstelement.c: (gst_element_message_full):
28184 clean up GError and debug string now that they get copied
28185 * gst/gstmessage.c: (gst_message_new_error),
28186 (gst_message_new_warning), (gst_message_parse_error),
28187 (gst_message_parse_warning):
28188 use GST_TYPE_G_ERROR for structure_new, and take copies of
28189 arguments, so that we don't mess up refcounting
28191 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28193 * check/Makefile.am:
28194 add per-test valgrind targets
28195 * check/gst-libs/gdp.c: (GST_START_TEST),
28196 (gst_data_protocol_suite), (main):
28197 clean up
28199 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28201 * check/Makefile.am:
28202 instate more valgrindable tests
28203 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28204 (GST_START_TEST), (fakesrc_suite):
28205 * check/gst/gstpad.c: (GST_START_TEST):
28206 * check/gst/gststructure.c: (GST_START_TEST):
28207 fix test leaks
28208 * docs/gst/tmpl/gstminiobject.sgml:
28209 * gst/gstpad.c: (gst_pad_finalize):
28210 fix the static mutex leak
28212 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28214 * check/Makefile.am:
28215 add two more tests for valgrinding
28216 * check/gst/gstvalue.c: (GST_START_TEST):
28217 test refcount of deserialized buffer, found a leak
28218 * docs/gst/gstreamer-docs.sgml:
28219 * docs/gst/gstreamer-sections.txt:
28220 * docs/gst/gstreamer.types:
28221 * docs/gst/tmpl/gstminiobject.sgml:
28222 add miniobject to docs
28223 * gst/gstminiobject.c:
28224 add some docs
28225 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28226 (gst_string_unwrap):
28227 fix a hard-to-find invalid write for one of the tests
28228 fix a leak for deserialized buffers
28230 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28232 * docs/pwg/advanced-events.xml:
28233 * docs/pwg/advanced-request.xml:
28234 * docs/pwg/advanced-scheduling.xml:
28235 * docs/pwg/appendix-porting.xml:
28236 * docs/pwg/building-boiler.xml:
28237 * docs/pwg/intro-preface.xml:
28238 * docs/pwg/other-ntoone.xml:
28239 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28240 of example code and explanation for pad activation, loop() and
28241 getrange() functions and a bit more. Remove old comments pointing
28242 to loop-functions.
28243 * examples/pwg/Makefile.am:
28244 Add loop/getrange examples.
28246 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28248 * configure.ac:
28249 check for valgrind binary + some fixes
28250 * check/gst.supp:
28251 valgrind suppressions for the tests
28252 * check/Makefile.am:
28253 add a valgrind: target that valgrinds the unit tests
28254 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28255 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28256 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28257 * check/gst/gstghostpad.c:
28258 added some cleanup
28259 * check/gst/gstdata.c:
28260 removed
28261 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28262 (thread_unref), (gst_mini_object_suite), (main):
28263 added
28264 * gst/gst.c: (gst_deinit):
28265 * gst/gst.h:
28266 add a method to clean up.
28267 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28268 (gst_system_clock_obtain):
28269 allow for disposing the system clock.
28270 * tools/gst-launch.c: (main):
28271 deinit
28273 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28275 * docs/gst/tmpl/gstbasesrc.sgml:
28276 * docs/gst/tmpl/gstfakesrc.sgml:
28277 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28278 (gst_base_src_init), (gst_base_src_set_property),
28279 (gst_base_src_get_property), (gst_base_src_get_range),
28280 (gst_base_src_start):
28281 * gst/base/gstbasesrc.h:
28282 add num-buffers property
28283 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28284 (gst_fakesrc_init), (gst_fakesrc_set_property),
28285 (gst_fakesrc_get_property), (gst_fakesrc_create),
28286 (gst_fakesrc_start):
28287 remove num-buffers property
28289 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28291 * docs/gst/gstreamer-sections.txt:
28292 * docs/gst/tmpl/gstbasesink.sgml:
28293 * docs/gst/tmpl/gstbasesrc.sgml:
28294 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28295 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28296 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28297 (gst_base_sink_set_property), (gst_base_sink_get_property),
28298 (gst_base_sink_handle_object), (gst_base_sink_event),
28299 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28300 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28301 (gst_base_sink_loop), (gst_base_sink_deactivate),
28302 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28303 (gst_base_sink_change_state):
28304 * gst/base/gstbasesink.h:
28305 * gst/base/gstbasesrc.h:
28306 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28307 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28308 (gst_filesink_init):
28309 more macro splitting
28311 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28313 * gst/gstelement.c: (gst_element_get_bus):
28314 add debug
28315 * tools/gst-launch.c: (check_intr), (event_loop):
28316 fix bus leaks
28318 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28320 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28321 fix a caps leak
28323 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28325 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28326 (gst_base_src_finalize):
28327 add finalize method and clean up properly
28328 * gst/gstpipeline.c: (gst_pipeline_dispose):
28329 add debug
28331 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28333 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28334 (gst_bin_suite):
28335 add more things to check
28336 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28337 * gst/gstelement.c:
28338 more debug
28340 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28342 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28343 (GST_START_TEST), (fakesrc_suite):
28344 * check/gst-libs/gdp.c: (GST_START_TEST):
28345 * check/gst/gst.c: (GST_START_TEST):
28346 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28347 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28348 * check/gst/gstbus.c: (GST_START_TEST):
28349 * check/gst/gstcaps.c: (GST_START_TEST):
28350 * check/gst/gstdata.c: (GST_START_TEST):
28351 * check/gst/gstelement.c: (GST_START_TEST):
28352 * check/gst/gstghostpad.c: (GST_START_TEST):
28353 * check/gst/gstiterator.c: (GST_START_TEST):
28354 * check/gst/gstmessage.c: (GST_START_TEST):
28355 * check/gst/gstobject.c: (GST_START_TEST):
28356 * check/gst/gstpad.c: (GST_START_TEST):
28357 * check/gst/gststructure.c: (GST_START_TEST):
28358 * check/gst/gstsystemclock.c: (GST_START_TEST),
28359 (gst_systemclock_suite):
28360 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28361 * check/gst/gstvalue.c: (GST_START_TEST):
28362 * check/pipelines/cleanup.c: (GST_START_TEST):
28363 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28364 * check/states/sinks.c: (GST_START_TEST):
28365 * check/gstcheck.c: (gst_check_init):
28366 * check/gstcheck.h:
28367 add debugging category
28368 use GST_START_TEST now, so we add a debug line
28370 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28372 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28373 add test for state change message on a bin
28374 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28375 add another test
28376 * gst/gstbin.c: (gst_bin_init):
28377 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28378 * gst/gstelement.c: (gst_element_post_message),
28379 (gst_element_set_state):
28380 * gst/gstelementfactory.c: (gst_element_factory_create):
28381 * gst/gstmessage.c: (gst_message_new):
28382 * gst/gstscheduler.c:
28383 various debugging additions and cleanups
28385 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28387 * check/Makefile.am:
28388 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28389 (main):
28390 adding tests for elements
28391 * gst/gstelement.c: (gst_element_dispose):
28393 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28395 * gst/registries/gstlibxmlregistry.c: (load_feature):
28396 plug more leaks. A simple gst_init() now is leakfree, yay.
28398 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28400 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28401 (gst_xml_registry_load):
28402 plug another memleak
28404 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28406 * configure.ac:
28407 use GST_SET_ERROR_CFLAGS
28408 * docs/faq/cvs.xml:
28409 change to ERROR_CFLAGS
28411 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28413 * configure.ac:
28414 make GST_ERROR_CFLAGS overridable and re-enable Werror
28415 * docs/faq/cvs.xml:
28416 add a note about error CFLAGS
28417 * docs/gst/tmpl/gstfakesrc.sgml:
28418 * gst/elements/gstfakesrc.c:
28419 comment out some unused code
28420 * gst/gst.c: (split_and_iterate):
28421 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28422 (load_feature):
28423 plug some memleaks
28425 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28427 * common/Makefile.am:
28428 * common/gtk-doc.mak:
28429 * docs/gst/Makefile.am:
28430 factor out gtk-doc.mak
28432 2005-07-07 Wim Taymans <wim@fluendo.com>
28434 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28435 (gst_thread_scheduler_dispose):
28436 Unlock the STREAM_LOCK completely.
28438 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28440 * check/Makefile.am:
28441 * check/elements/.cvsignore:
28442 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28443 (START_TEST), (fakesrc_suite), (main):
28444 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28445 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28446 (gst_fakesrc_create), (gst_fakesrc_start):
28447 * gst/elements/gstfakesrc.h:
28448 adding a first element test
28450 2005-07-07 Andy Wingo <wingo@pobox.com>
28452 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28453 debug message.
28455 2005-07-07 Wim Taymans <wim@fluendo.com>
28457 * gst/gstquery.c:
28458 * gst/gstquery.h:
28459 Remove old types
28461 2005-07-07 Wim Taymans <wim@fluendo.com>
28463 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28464 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28465 Allow subclasses to implement their own negotiation.
28467 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28469 * docs/design/part-gstbin.txt:
28470 * docs/design/part-gstpipeline.txt:
28471 Update design notes to reflect the movement of
28472 responsibility for bus handling from GstPipeline to
28473 GstBin
28475 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28477 * configure.ac:
28478 Remove unnecessary queue2/3/4 examples.
28480 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28482 * examples/Makefile.am:
28483 * examples/helloworld/helloworld.c: (event_loop), (main):
28484 * examples/queue/queue.c: (event_loop), (main):
28485 * examples/queue2/queue2.c: (main):
28486 Update a couple of the examples to work again.
28488 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28489 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28490 Spelling corrections and extra debug.
28492 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28493 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28494 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28495 * gst/gstbin.h:
28496 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28497 (gst_pipeline_change_state):
28498 * gst/gstpipeline.h:
28499 Move the bus handler for children to the GstBin, and create a
28500 separate bus for receiving messages from children to the one the
28501 bus sends 'upwards' on.
28503 2005-07-06 Wim Taymans <wim@fluendo.com>
28505 * gst/base/README:
28506 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28507 (gst_base_sink_handle_object), (gst_base_sink_loop),
28508 (gst_base_sink_change_state):
28509 * gst/base/gstbasesink.h:
28510 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28511 (gst_base_src_init), (gst_base_src_setcaps),
28512 (gst_base_src_getcaps), (gst_base_src_loop),
28513 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28514 (gst_base_src_start), (gst_base_src_change_state):
28515 * gst/base/gstbasesrc.h:
28516 Make basesrc negotiate.
28517 Handle the case where preroll fails in basesink.
28518 Update README.
28520 2005-07-06 Wim Taymans <wim@fluendo.com>
28522 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28523 Implement the fixate function.
28524 Clean up acceptcaps.
28526 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28528 * docs/pwg/building-filterfactory.xml:
28529 * docs/pwg/pwg.xml:
28530 Remove never-written filter-factory chapter; I'll add the various
28531 base classes to part 4 ("other element types") later on.
28533 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28535 * docs/pwg/advanced-negotiation.xml:
28536 * docs/pwg/building-boiler.xml:
28537 * docs/pwg/building-pads.xml:
28538 * docs/pwg/pwg.xml:
28539 * examples/pwg/Makefile.am:
28540 Add a chapter on caps negotiation, simplify the original code
28541 samples a bit w.r.t. caps negotiation, add link to the advanced
28542 section. Add a bunch of examples showing different use cases of
28543 different types of caps negotiation. Upstream renegotiation isn't
28544 fully documented yet since nobody knows how that works.
28546 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28548 * check/gst/gstpad.c:
28549 * check/gstcheck.c:
28550 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28551 if pad has no parent, return NULL as list of internal links
28553 2005-07-05 Andy Wingo <wingo@pobox.com>
28555 * gst/elements/gstfilesrc.c:
28556 * gst/elements/gstfakesrc.c:
28557 * gst/base/gstpushsrc.c:
28558 * gst/base/gstbasesrc.h:
28559 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28561 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28563 * Makefile.am:
28564 better report generation target (lcov needs a patch)
28566 2005-07-05 Andy Wingo <wingo@pobox.com>
28568 * gst/elements, testsuite: Null if we got it...
28570 2005-07-05 Wim Taymans <wim@fluendo.com>
28572 * configure.ac:
28573 * libs/gst/dataprotocol/Makefile.am:
28574 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28575 * libs/gst/dataprotocol/dataprotocol.h:
28576 * pkgconfig/Makefile.am:
28577 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28578 * pkgconfig/gstreamer-dataprotocol.pc.in:
28579 Ported dataprotol to 0.9.
28580 Added pkgconfig files.
28582 2005-07-05 Andy Wingo <wingo@pobox.com>
28584 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28585 Default to returning TRUE for the case when tranform_caps returns
28586 a fixed caps, like for identity or volume.
28588 * check/gst/gstbus.c (pound_bus_with_messages):
28589 * check/gst/gstmessage.c (START_TEST):
28590 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28591 message API change.
28593 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28594 logic weaks here: always run transform_caps, trying passthrough
28595 operation only if the original caps intersects with the transform.
28597 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28598 source and sink caps.
28600 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28601 Intersect the peer caps with the pad template before going into
28602 transform_caps.
28603 (gst_base_transform_transform_caps): More debugging.
28605 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28606 src argument.
28608 2005-07-04 Edward Hervey <edward@fluendo.com>
28610 * gst/gstutils.c:
28611 * gst/gstutils.h:
28612 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28613 in bindings.
28615 2005-07-04 Andy Wingo <wingo@pobox.com>
28617 * check/gst/gstpad.c: Only set explicit caps on pads.
28619 2005-07-01 Andy Wingo <wingo@pobox.com>
28621 * tests/network-clock.scm: Commentary update.
28623 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28624 Didn't really make sense, not implementable with basetransform,
28625 etc.
28626 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28627 attempt at implementing the sync property, needs an unlock method.
28629 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28630 New func, by default returns the same caps (the identity
28631 transformation).
28632 (gst_base_transform_getcaps): Uses transform_caps to return
28633 something sensible.
28634 (gst_base_transform_setcaps): Complicated logic to get caps on
28635 both pads, even if they are different, and to call set_caps once
28636 for every time both pads get their caps set.
28637 (gst_base_transform_handle_buffer): Give the ref to the transform
28638 function. Allows in-place modification of the buffer.
28640 * gst/base/gstbasetransform.h (transform_caps): New class method.
28641 Given caps on one side, what can I do on the other.
28642 (set_caps): Take two caps, one for each side of the element.
28644 * gst/gstpad.h:
28645 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28646 caps in place. This is safe because we can check the mutability of
28647 the caps, and a good idea because fixate functions are just called
28648 as a matter of last resort. (Not actually implemented.)
28649 (gst_pad_set_caps): If the caps we're setting is actually the same
28650 as the existing pad caps, just update the pointer without calling
28651 setcaps. Assert that caps is either NULL or fixed, as per the
28652 docs.
28654 * gst/gstghostpad.c: Update for fixate changes.
28656 2005-07-02 Andy Wingo <wingo@pobox.com>
28658 * gst/gstcaps.c:
28659 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28660 two refcounts makes it immutable, which is enough. Doc more.
28662 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28664 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28665 Put the mini_object into GValue as a mini_object,
28666 not a gpointer, since that's how we declared
28667 the signal.
28669 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28671 * examples/pwg/Makefile.am:
28672 Fix buildbot again.
28674 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28676 * docs/pwg/building-testapp.xml:
28677 Add extra check.
28678 * examples/pwg/Makefile.am:
28679 Fix buildbot.
28681 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28683 * configure.ac:
28684 * examples/Makefile.am:
28685 * examples/pwg/Makefile.am:
28686 * examples/pwg/extract.pl:
28687 Enable building the PWG examples.
28688 * docs/pwg/advanced-interfaces.xml:
28689 Add URI interface stub.
28690 * docs/pwg/advanced-types.xml:
28691 * docs/pwg/other-autoplugger.xml:
28692 * docs/pwg/appendix-porting.xml:
28693 * docs/pwg/pwg.xml:
28694 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28695 * docs/pwg/building-boiler.xml:
28696 * docs/pwg/building-chainfn.xml:
28697 * docs/pwg/building-pads.xml:
28698 * docs/pwg/building-props.xml:
28699 * docs/pwg/building-state.xml:
28700 * docs/pwg/building-testapp.xml:
28701 Update the building-*.xml parts for 0.9 changes. All examples
28702 code blocks compile in examples/pwg/*.
28704 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28706 * docs/manual/advanced-autoplugging.xml:
28707 * docs/manual/appendix-checklist.xml:
28708 * docs/manual/appendix-integration.xml:
28709 * docs/manual/highlevel-components.xml:
28710 Fix playbin/decodebin examples, update docs a bit, mention bus
28711 instead of signals in various places, mention kmplayer and
28712 kaffeine since they have a working GStreamer backend in the KDE
28713 section.
28715 2005-06-30 Wim Taymans <wim@fluendo.com>
28717 * CHANGES-0.9:
28718 * docs/design/draft-ghostpads.txt:
28719 * docs/design/draft-push-pull.txt:
28720 * docs/design/draft-query.txt:
28721 * docs/design/part-TODO.txt:
28722 * docs/design/part-query.txt:
28723 Added CHANGES-0.9 doc, updated status of other docs.
28725 * gst/gstquery.h:
28726 Remove "hmm" macro
28728 2005-06-30 Wim Taymans <wim@fluendo.com>
28730 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28731 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28732 (gst_base_sink_change_state):
28733 * gst/base/gstbasesink.h:
28734 Some tweaks, only EOS and a buffer complete a preroll.
28736 2005-06-30 Andy Wingo <wingo@pobox.com>
28738 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28739 activate_push down to the internal pad as well.
28741 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28743 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28745 * gst/gsttaginterface.c:
28746 Some documentation fixes (#307394 and #307397).
28748 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28750 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28752 * gst/gstvalue.c: (gst_value_intersect_list):
28753 Fix memleak (#309125).
28755 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28757 * docs/manual/advanced-dataaccess.xml:
28758 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28759 * docs/manual/basics-pads.xml:
28760 Add reference for filtered caps to above chapter.
28762 2005-06-30 Wim Taymans <wim@fluendo.com>
28764 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28765 (gst_bin_change_state):
28766 Probes are gone.
28767 Lame attempt at making the state change function a bit
28768 more readable.
28770 2005-06-30 Wim Taymans <wim@fluendo.com>
28772 * docs/design/part-clocks.txt:
28773 * docs/design/part-element-sink.txt:
28774 * docs/design/part-events.txt:
28775 * docs/design/part-preroll.txt:
28776 * docs/design/part-states.txt:
28777 Some more tweeks and additions to the docs.
28779 2005-06-30 Wim Taymans <wim@fluendo.com>
28781 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28782 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28783 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28784 (gst_pad_check_pull_range), (gst_pad_get_range),
28785 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28786 * gst/gstpad.h:
28787 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28788 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28789 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28790 (gst_pad_remove_buffer_probe):
28791 Removed atomic operations, use existing LOCK.
28792 Move exception handling out of main code path.
28794 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28796 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28797 (silly_return_true_function), (gst_pad_class_init),
28798 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28799 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28800 (gst_pad_send_event):
28801 Fix accumulator, add default value by using _emitv() instead
28802 of _emit() for signal emission.
28804 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28806 * docs/manual/advanced-dataaccess.xml:
28807 * examples/manual/Makefile.am:
28808 Add probe example.
28809 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28810 Make work (??).
28812 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28814 * gst/elements/gstfilesink.c: (gst_filesink_render):
28815 Simplify code so that we don't have to handle short
28816 writes and return GST_FLOW_ERROR if an error occured.
28818 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28820 * docs/gst/gstreamer-docs.sgml:
28821 Remove probes more.
28823 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28825 * docs/gst/gstreamer-sections.txt:
28826 * docs/gst/tmpl/gstpad.sgml:
28827 * docs/gst/tmpl/gstprobe.sgml:
28828 * gst/Makefile.am:
28829 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28830 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28831 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28832 (gst_pad_push_event), (gst_pad_send_event):
28833 * gst/gstpad.h:
28834 * gst/gstutils.c: (gst_pad_add_data_probe),
28835 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28836 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28837 (gst_pad_remove_buffer_probe):
28838 * gst/gstutils.h:
28839 Remove old probes, add new g-signal-based probes and some utility
28840 functions.
28842 2005-06-29 Edward Hervey <edward@fluendo.com>
28844 * gst/gstelementfactory.c:
28845 * gst/gstutils.h:
28846 * gst/gstutils.c:
28847 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28848 the definition to the header file.
28850 2005-06-29 Andy Wingo <wingo@pobox.com>
28852 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28853 plugins from the source directory.
28855 2005-06-29 Wim Taymans <wim@fluendo.com>
28857 * docs/gst/tmpl/gstbuffer.sgml:
28858 * docs/gst/tmpl/gstclock.sgml:
28859 Some fixings for blantently wrong text.
28861 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28863 * check/Makefile.am:
28864 * gst/gst.c: (add_path_func), (init_pre):
28865 * gst/gstregistry.c: (gst_registry_add_path):
28866 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28867 only scan the GST_PLUGIN_PATH locations, and not add
28868 system locations
28870 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28872 * docs/gst/gstreamer-sections.txt:
28873 * docs/gst/tmpl/gstbasesrc.sgml:
28874 * gst/gstelement.c:
28875 * gst/gstelement.h:
28876 * gst/gstevent.c:
28877 * gst/gstutils.c:
28878 doc fixes
28880 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28882 * docs/manual/advanced-autoplugging.xml:
28883 Fix autoplugging example.
28885 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28887 * docs/manual/advanced-autoplugging.xml:
28888 * docs/manual/mime-world.fig:
28889 Try to get autoplugging working, fix type detection. Fix text
28890 in hello-world image.
28892 2005-06-29 Wim Taymans <wim@fluendo.com>
28894 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28895 (gst_base_sink_change_state):
28896 Small debug line.
28898 * gst/gstclock.h:
28899 map SIGNAL and BROADCAST to the right function.
28901 * gst/gstobject.h:
28902 Remove redundant braces.
28904 * gst/gstpad.c: (gst_pad_set_caps):
28905 Don't call setcaps function when reseting caps to NULL.
28907 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28908 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28909 (gst_system_clock_id_unschedule):
28910 Use BROADCAST as this is what we do.
28912 2005-06-29 Wim Taymans <wim@fluendo.com>
28914 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28915 We are actually prerolling before commiting the state
28916 change.
28918 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28920 * docs/manual/advanced-clocks.xml:
28921 * docs/manual/advanced-interfaces.xml:
28922 * docs/manual/advanced-metadata.xml:
28923 * docs/manual/advanced-position.xml:
28924 * docs/manual/advanced-schedulers.xml:
28925 * docs/manual/advanced-threads.xml:
28926 * docs/manual/appendix-porting.xml:
28927 * docs/manual/basics-bins.xml:
28928 * docs/manual/basics-bus.xml:
28929 * docs/manual/basics-elements.xml:
28930 * docs/manual/basics-helloworld.xml:
28931 * docs/manual/basics-pads.xml:
28932 * docs/manual/highlevel-components.xml:
28933 * docs/manual/manual.xml:
28934 * docs/manual/thread.fig:
28935 Update (until threads/scheduling) Application Development Manual;
28936 remove GstThread, add GstBus, add simple porting checklist, add
28937 documentation for tag writing, clocks, make all examples until this
28938 part compile and run.
28939 * examples/manual/Makefile.am:
28940 Update from changes to Application Development Manual; add bus
28941 example, remove thread example.
28943 2005-06-28 Wim Taymans <wim@fluendo.com>
28945 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28946 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28947 (gst_bus_source_dispatch):
28948 Add debugging messages.
28949 Make internal methods static.
28950 Handle the case where the bus is flushed in the handler.
28952 * gst/gstelement.c: (gst_element_get_bus):
28953 Fix refcount in _get_bus();
28955 * gst/gstpipeline.c: (gst_pipeline_change_state),
28956 (gst_pipeline_get_clock_func):
28957 Clock refcounting fixes.
28958 Handle the case where preroll timed out more gracefully.
28960 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28961 Clean up the internal thread in dispose. This is needed
28962 for subclasses that actually get disposed.
28964 * gst/schedulers/threadscheduler.c:
28965 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28966 (gst_thread_scheduler_dispose):
28967 Free thread pool in dispose.
28969 2005-06-28 Andy Wingo <wingo@pobox.com>
28971 * tests/network-clock-utils.scm (debug, print-event): New utils.
28973 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28974 (*packet-loss*): Unified loss probability.
28975 (network-time): Report out-of-band events.
28977 * tests/plot-data: Add support for out-of-band events. Hack it
28978 into this script instead of passing it down the pipe; should fix
28979 this later.
28981 2005-06-28 Wim Taymans <wim@fluendo.com>
28983 * docs/gst/gstreamer.types:
28984 * docs/gst/tmpl/gstbasesrc.sgml:
28985 * docs/gst/tmpl/gstpad.sgml:
28986 Docs fixes.
28988 2005-06-28 Wim Taymans <wim@fluendo.com>
28990 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28991 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28992 (gst_proxy_pad_do_fixatecaps):
28993 Correctly proxy the check_pull_range function.
28995 2005-06-28 Andy Wingo <wingo@pobox.com>
28997 * tests/network-clock.scm: Removed need for slib.
28999 2005-06-28 Wim Taymans <wim@fluendo.com>
29001 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
29002 (gst_basesink_preroll_queue_flush):
29003 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
29004 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
29005 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29006 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
29007 (gst_proxy_pad_set_property):
29008 * gst/gstpad.c:
29009 * gst/gstpad.h:
29010 * gst/gstqueue.c: (gst_queue_init):
29011 The deprecated pad loop function is removed now.
29013 2005-06-28 Andy Wingo <wingo@pobox.com>
29015 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
29016 New parameters, simulate network packet loss.
29018 * tests/network-clock-utils.scm: Initialize the RNG.
29020 2005-06-28 Wim Taymans <wim@fluendo.com>
29022 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
29023 (gst_basesink_event), (gst_basesink_deactivate):
29024 Flushing the preroll queue always needs to unlock the waiters.
29026 2005-06-28 Edward Hervey <edward@fluendo.com>
29028 * gst/gstpipeline.c: (gst_pipeline_send_event):
29029 Wheen a seek was successful on a pipeline, set the stream_time to the
29030 seek offset in order to have a synchronized stream_time.
29032 2005-06-28 Wim Taymans <wim@fluendo.com>
29034 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
29035 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
29036 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
29037 (gst_proxy_pad_do_fixatecaps):
29038 Call wrapper function instead of just calling the function
29039 pointers. This takes care of any locking and whatmore.
29041 2005-06-28 Wim Taymans <wim@fluendo.com>
29043 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
29044 (gst_pad_pull_range):
29045 * gst/gstpad.h:
29046 CONNECTED -> LINKED.
29048 2005-06-28 Andy Wingo <wingo@pobox.com>
29050 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
29051 source-munging commit!!!
29053 * gst/gstobject.c (gst_object_unref, gst_object_ref)
29054 (gst_object_sink): Take gpointer arguments, not GstObject --
29055 avoids casts. Like GLib.
29057 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
29058 activate.
29060 2005-06-27 Andy Wingo <wingo@pobox.com>
29062 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29063 remaining buffer.
29065 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29066 returns a sorted copy of the trace list.
29067 (gst_alloc_trace_print_live): New API, only prints traces with
29068 live objects. Sort the list.
29069 (gst_alloc_trace_print_all): Sort the list.
29070 (gst_alloc_trace_print): Align columns.
29072 * gst/elements/gstttypefindelement.c:
29073 * gst/elements/gsttee.c:
29074 * gst/base/gstbasesrc.c:
29075 * gst/base/gstbasesink.c:
29076 * gst/base/gstbasetransform.c:
29077 * gst/gstqueue.c: Adapt for pad activation changes.
29079 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29080 sched.
29081 (gst_pipeline_dispose): Drop ref on sched.
29083 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29084 (gst_pad_activate_default): Push mode by default.
29085 (pre_activate_switch, post_activate_switch): New stubs, things to
29086 do before and after switching activation modes on pads.
29087 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29088 the pad's activate function to choose which mode to activate.
29089 Shortcut on deactivation and call the right function directly.
29090 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29091 mode.
29092 (gst_pad_activate_push): New API, same for push mode.
29093 (gst_pad_set_activate_function)
29094 (gst_pad_set_activatepull_function)
29095 (gst_pad_set_activatepush_function): Setters for new API.
29097 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29098 Trace all miniobjects.
29099 (gst_mini_object_make_writable): Unref the arg if we copy, like
29100 gst_caps_make_writable.
29102 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29104 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29105 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29106 Adapt for new pad API.
29108 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29110 * gst/gstelement.h:
29111 * gst/gstelement.c (gst_element_iterate_src_pads)
29112 (gst_element_iterate_sink_pads): New API functions.
29114 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29115 should fold into gstiterator.c in some form.
29116 (gst_element_pads_activate): Simplified via use of fold and
29117 delegation of decisions to gstpad->activate.
29119 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29120 help in debugging.
29122 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29123 class once in init, like gstmessage. Didn't run into this issue
29124 but it seems correct. Don't initialize a trace, gstminiobject does
29125 that.
29127 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29128 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29129 to the bus.
29130 (assert_live_count): New util function, uses alloc traces to check
29131 cleanup.
29133 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29134 To be modified when unlink drops the internal pad.
29136 2005-06-27 Wim Taymans <wim@fluendo.com>
29138 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29139 (gst_bin_change_state):
29140 Cleanup the get_state() function a little, make sure it
29141 iterates the same set of elements.
29142 Added stub iterate_state_order().
29144 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29146 * docs/gst/gstreamer-docs.sgml:
29147 * docs/gst/gstreamer-sections.txt:
29148 * docs/gst/gstreamer.types:
29149 * docs/gst/tmpl/gstbasesink.sgml:
29150 * docs/gst/tmpl/gstbasesrc.sgml:
29151 * docs/gst/tmpl/gstbasetransform.sgml:
29152 * docs/gst/tmpl/gstelement.sgml:
29153 * docs/gst/tmpl/gstiterator.sgml:
29154 * gst/base/gstbasesrc.c:
29155 * gst/base/gstbasesrc.h:
29156 * gst/base/gstbasetransform.h:
29157 * gst/gstelement.c:
29158 * gst/gstiterator.h:
29159 adding basetransform and iterator docs
29161 2005-06-27 Andy Wingo <wingo@pobox.com>
29163 * docs/design/part-activation.txt: Notes on how activation should
29164 work -- not quite implemented yet.
29166 2005-06-25 Wim Taymans <wim@fluendo.com>
29168 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29169 At least get the chain function correct, needs more
29170 fixing.
29172 2005-06-25 Wim Taymans <wim@fluendo.com>
29174 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29175 (gst_basesink_handle_object), (gst_basesink_event),
29176 (gst_basesink_do_sync), (gst_basesink_handle_event),
29177 (gst_basesink_change_state):
29178 * gst/gsttask.h:
29179 Right, two problems here: ghostpads don't take locks and
29180 glib _rec_mutex_lock_full() with depth==0 still locks.
29181 Catch illegal locking and g_warn them.
29183 2005-06-25 Wim Taymans <wim@fluendo.com>
29185 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29186 Have to check for completion now...
29188 2005-06-25 Wim Taymans <wim@fluendo.com>
29190 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29191 (gst_basesink_handle_object), (gst_basesink_event),
29192 (gst_basesink_do_sync), (gst_basesink_handle_event),
29193 (gst_basesink_change_state):
29194 * gst/gstpad.h:
29195 Unlock STREAM_LOCK whatever the recursion was.
29197 2005-06-25 Wim Taymans <wim@fluendo.com>
29199 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29200 (gst_basesink_preroll_queue_empty),
29201 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29202 (gst_basesink_event), (gst_basesink_do_sync),
29203 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29204 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29205 (gst_basesink_change_state):
29206 Reworked the base sink, handle event and buffer serialisation
29207 correctly and removed possible deadlock.
29208 Handle EOS correctly.
29210 2005-06-25 Wim Taymans <wim@fluendo.com>
29212 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29213 (gst_pipeline_change_state):
29214 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29215 Allow elements to post EOS in the state change function.
29216 Fix up -launch, make it exit the poll loop when the
29217 pipeline actually changed state.
29218 Fix up warning parsing in -launch.
29220 2005-06-25 Wim Taymans <wim@fluendo.com>
29222 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29223 (gst_tee_sink_activate):
29224 Core takes STREAM_LOCK for us now.
29226 2005-06-25 Wim Taymans <wim@fluendo.com>
29228 * gst/gstelement.c: (gst_element_get_state_func),
29229 (gst_element_set_state):
29230 * gst/gstelement.h:
29231 * gst/gstmessage.c: (gst_message_parse_error),
29232 (gst_message_parse_warning):
29233 Keep track of current target state while performing a state
29234 change so that subclasses can do something interesting.
29235 Fix parsing of warning/error messages when GError is NULL.
29237 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29239 * docs/gst/Makefile.am:
29240 * docs/gst/gstreamer-docs.sgml:
29241 * docs/gst/gstreamer-sections.txt:
29242 * docs/gst/gstreamer.types:
29243 * docs/gst/tmpl/gstbasesink.sgml:
29244 * docs/gst/tmpl/gstbasesrc.sgml:
29245 * docs/gst/tmpl/gstbin.sgml:
29246 * docs/gst/tmpl/gstcompat.sgml:
29247 * docs/gst/tmpl/gstfakesink.sgml:
29248 * docs/gst/tmpl/gstfakesrc.sgml:
29249 * docs/gst/tmpl/gstfilesink.sgml:
29250 * docs/gst/tmpl/gstfilesrc.sgml:
29251 * docs/gst/tmpl/gstindex.sgml:
29252 * docs/manual/appendix-quotes.xml:
29253 * gst/base/gstbasesrc.h:
29254 * gst/elements/gstfakesrc.h:
29255 * gst/gstmessage.h:
29256 start pulling in base classes and elements in our docs
29258 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29260 * docs/gst/Makefile.am:
29261 * docs/libs/Makefile.am:
29262 fixed make distcheck with gtk-doc 1.3
29264 2005-06-23 Wim Taymans <wim@fluendo.com>
29266 * gst/gstelement.c: (gst_element_get_state_func),
29267 (gst_element_set_state), (gst_element_change_state):
29268 When the state did not change, also report NO_PREROLL
29269 when it matters.
29271 2005-06-23 Wim Taymans <wim@fluendo.com>
29273 * gst/gstpad.c: (gst_pad_event_default):
29274 * gst/gstqueue.c: (gst_queue_loop):
29275 No unsafe task pausing please.
29277 2005-06-23 Wim Taymans <wim@fluendo.com>
29279 * gst/schedulers/threadscheduler.c:
29280 (gst_thread_scheduler_task_start),
29281 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29282 Ref the task before pushing it on the threadpool. This
29283 makes sure that we have a ref when the threadfunction is
29284 actually called.
29286 2005-06-23 Andy Wingo <wingo@pobox.com>
29288 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29289 offset is greater than the file's size.
29291 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29292 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29293 * gst/gstobject.c (gst_object_class_init): Make the class lock
29294 recursive. Wim won't let me drop deep_notify. Decodebin works
29295 again, whoopdy doo.
29297 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29298 internal pad, and hacks accordingly. Doesn't do it on the target
29299 pad because we change its caps. Probably catches all cases of
29300 interest tho.
29301 (gst_ghost_pad_set_property): Connect to notify::caps as
29302 appropritate.
29304 * tests/network-clock.scm (plot-simulation): Pipe data to the
29305 elite python skript.
29307 * tests/network-clock-utils.scm (define-parameter): New macro,
29308 defines a parameter that can be set via the command line.
29309 (set-parameter!, parse-parameter-arguments): Command line args
29310 parser.
29312 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29313 stdin.
29315 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29317 * gst/elements/gsttypefindelement.c:
29318 (gst_type_find_element_handle_event):
29319 Don't restart typefinding on a discont.
29320 * gst/gstelement.c: (gst_element_set_state):
29321 Debug spelling fix.
29322 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29323 Allow changing mode of an active pad.
29324 Debug output fixes.
29325 * gst/registries/gstlibxmlregistry.c: (load_feature):
29326 Don't cast a static pad template to a normal pad template.
29328 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29330 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29331 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29332 remove gst_strtoll completely, since it didn't actually do
29333 anything more than what g_ascii_strtoull already does.
29334 check for range errors when deserializing
29335 do a cast for the unsigned cases; but further fixing needs
29336 a decision on what the interpretation of "(int)" and
29337 deserialization should be for values that fall outside the
29338 type's boundaries (ie, refuse, or interpret as casting)
29340 2005-06-23 Wim Taymans <wim@fluendo.com>
29342 * check/Makefile.am:
29343 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29344 * docs/design/part-live-source.txt:
29345 * docs/design/part-states.txt:
29346 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29347 (gst_basesrc_set_live), (gst_basesrc_is_live),
29348 (gst_basesrc_get_range), (gst_basesrc_activate),
29349 (gst_basesrc_change_state):
29350 * gst/base/gstbasesrc.h:
29351 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29352 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29353 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29354 * gst/gstelement.c: (gst_element_get_state_func),
29355 (gst_element_set_state):
29356 * gst/gstelement.h:
29357 * gst/gsttypes.h:
29358 * tools/gst-launch.c: (event_loop), (main):
29359 Added support for live sources and other elements that
29360 cannot do preroll.
29361 Updated design docs, added live-source design doc.
29362 Implemented live source functionality in basesrc
29363 Fix error condition in _bin_get_state()
29364 Implement live source handling in -launch.
29365 Added check for live sources.
29366 Fixed case in GstBin where elements were changed state
29367 multiple times.
29370 2005-06-23 Andy Wingo <wingo@pobox.com>
29372 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29373 borken refcounting.
29375 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29376 gst_caps_replace takes care of this for us.
29378 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29379 gst_pad_set_caps on the target, not just its setcaps() function.
29381 * tests/network-clock.scm:
29382 * tests/network-clock-utils.scm: A network clock simulator.
29383 Something of an algorithmic testbed before doing something in C.
29385 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29387 * check/Makefile.am:
29388 * check/gst/capslist.h:
29389 copy over from 0.8, and add two with bitmasks specified with
29390 (int) 0xFF...
29391 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29392 add test to parse everything from capslist.h
29393 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29394 (main):
29395 add test for structure deserialization
29396 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29397 add tests for deserialization of strings to int types
29398 * gst/gststructure.c: (gst_structure_nth_field_name):
29399 * gst/gststructure.h:
29400 add a way to get the name of a field referenced by index
29401 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29402 instead of checking if the resulting long long lies between
29403 min and max, we check if the long long would fit into
29404 a number of bytes for the final type.
29405 This fixes cases where a string represents 2^32 - 1, which
29406 when cast to int would be the (valid) -1, but is bigger than
29407 G_MAXINT
29409 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29411 * gst/parse/grammar.y:
29412 add a log line for type deserialization
29414 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29416 * check/gst/gstvalue.c: (START_TEST):
29417 * gst/gstvalue.c: (gst_value_deserialize):
29418 return long long, not int, so gint64 deserialization actually
29419 works. Is there any flag that makes the compiler check this ?
29420 Fixes #308559
29422 2005-06-22 Wim Taymans <wim@fluendo.com>
29424 * gst/gstbuffer.h:
29425 Added convenience macros for setting buffers in GValue.
29427 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29429 * check/gst/.cvsignore:
29430 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29431 add a test deserializing int64, and comment part out because
29432 it fails, yay !
29434 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29436 * check/Makefile.am:
29437 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29438 * testsuite/Makefile.am:
29439 * testsuite/caps/Makefile.am:
29440 * testsuite/caps/value_serialize.c:
29441 * testsuite/test_gst_init.c:
29442 move a value_serialize test over
29444 2005-06-20 Wim Taymans <wim@fluendo.com>
29446 * gst/gstpad.c:
29447 Small doc updates.
29449 * gst/gstvalue.c: (gst_value_compare_buffer),
29450 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29451 (gst_value_compare_flags), (gst_value_serialize_flags),
29452 (gst_value_deserialize_flags), (_gst_value_initialize):
29453 Fix serialisation of buffers, they are not boxed types anymore
29455 2005-06-20 Wim Taymans <wim@fluendo.com>
29457 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29458 Testcase to show error in buffer-on-caps serialisation.
29460 2005-06-20 Andy Wingo <wingo@pobox.com>
29462 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29463 will be adding to later.
29465 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29466 if its socks fill with rocks.
29467 (gst_system_clock_obtain): Set the name on object construction.
29468 Avoid double-checked locking.
29470 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29472 * gst/gsturi.c: (gst_element_make_from_uri):
29473 Fix potential endless loop.
29475 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29477 * check/Makefile.am:
29478 add gsttag
29479 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29480 (main):
29481 move over from testsuite dir and clean up
29482 * configure.ac:
29483 * gst/gsttag.c:
29484 * testsuite/Makefile.am:
29485 * testsuite/tags/.cvsignore:
29486 * testsuite/tags/Makefile.am:
29487 * testsuite/tags/merge.c:
29488 remove testsuite/tags
29490 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29492 * docs/gst/gstreamer-sections.txt:
29493 * docs/gst/tmpl/gstenumtypes.sgml:
29494 * win32/gstenumtypes.c:
29495 clean up documentation build a little
29497 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29499 * check/gstcheck.h:
29500 add macros for checking refcounts on objects and caps
29501 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29502 add some more unit tests
29503 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29504 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29505 fix leaked refcounts (I hope :)) so unittest works
29506 * gst/gstpad.h:
29507 whitespace removal
29509 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29511 * configure.ac: back to HEAD
29513 === release 0.9.1 ===
29515 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29517 * NEWS:
29518 * RELEASE:
29519 updated
29521 2005-06-17 Andy Wingo <wingo@pobox.com>
29523 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29524 assert; it's always possible that the pad gets deactivated in
29525 between the checks in gstpad.c and the implementation. Rely on
29526 finish_preroll() to return a FLUSHING or similar instead of on the
29527 assert.
29529 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29530 clock and post an EOS message if we come out of finish_preroll in
29531 the playing state.
29533 2005-06-16 David Schleef <ds@schleef.org>
29535 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29536 (gst_capsfilter_set_property): Allow NULL as possible value
29537 for filter_caps property, indicating GST_CAPS_ANY.
29539 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29541 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29542 fix debug output
29543 * gst/schedulers/Makefile.am:
29544 use libgst prefix
29545 * gstreamer.spec.in:
29546 fix spec for it
29548 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29550 * gstreamer.spec.in:
29551 clean up
29553 2005-06-08 Andy Wingo <wingo@pobox.com>
29555 * gst/gstutils.c: RPAD fixes all around.
29556 (gst_element_link_pads): Refcounting fixes.
29558 * tools/gst-inspect.c:
29559 * tools/gst-xmlinspect.c:
29560 * parse/grammar.y:
29561 * gst/base/gsttypefindhelper.c:
29562 * gst/base/gstbasesink.c:
29563 * gst/gstqueue.c: RPAD fixes.
29565 * gst/gstghostpad.h:
29566 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29567 pads. The tricky thing is they provide both source and sink
29568 interfaces, since they proxy the internal pad for the external
29569 pad, and vice versa. Implement with lower-level ProxyPad objects,
29570 with the interior proxy pad as a child of the exterior ghost pad.
29571 Should write a doc on this.
29573 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29574 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29575 gst_object API.
29577 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29578 pads are real pads. No ghost pads in this file. Not documenting
29579 the myriad s/RPAD/PAD/ and REALIZE fixes.
29580 (gst_pad_class_init): Add properties for "direction" and
29581 "template". Both are construct-only, so they can't change during
29582 the life of the pad. Fixes properly deriving from GstPad.
29583 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29584 derived objects, just set properties when creating the objects via
29585 g_object_new.
29586 (gst_pad_get_parent): Implement as a function, return NULL if the
29587 parent is not an element.
29588 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29589 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29591 * gst/gstobject.c (gst_object_class_init): Make name a construct
29592 property. Don't set it in the object init.
29594 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29595 with UNKNOWN direction.
29596 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29597 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29598 (gst_element_remove_pad): Remove ghost-pad special cases.
29599 (gst_element_pads_activate): Remove rpad cruft.
29601 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29602 catch the pad's-parent-not-an-element case.
29604 * gst/gst.h: Include gstghostpad.h.
29606 * gst/gst.c (init_post): No more real, ghost pads.
29608 * gst/Makefile.am: Add gstghostpad.[ch].
29610 * check/Makefile.am:
29611 * check/gst/gstbin.c:
29612 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29613 into a bin creates ghost pads, and that the refcounts are right.
29614 Partly moved from gstbin.c.
29616 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29618 * check/gst-libs/.cvsignore:
29619 * check/gst/.cvsignore:
29620 * check/pipelines/.cvsignore:
29621 ignore more
29622 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29623 (START_TEST), (cleanup_suite), (main):
29624 add some tests related to cleanup after running pipelines
29626 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29628 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29629 add a testsuite for GstBuffer
29631 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29633 * gst/gstminiobject.h:
29634 add defines for accessing the refcount
29636 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29638 * Makefile.am: added support for html unit test coverage reports
29640 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29642 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29643 Free existing caps if the capsfilter changes. Add a FIXME about
29644 setting those caps on the pads.
29646 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29647 Before adding a ghost pad to a parent bin, check that there isn't
29648 already one for the element on the bin. Prevents infinite recursion
29649 when using decodebin in parse pipelines. Andy says he'll rewrite the
29650 way this works anyway, so ignore the hack.
29652 2005-06-02 Andy Wingo <wingo@pobox.com>
29654 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29655 file size, pass it on to the type find helper.
29657 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29658 segment_start and segment_end properly according to the seek
29659 method. Segment_end is still a bit flaky because offset can be
29660 negative for CUR and END cases, but it takes -1 as an "unset"
29661 value.
29663 2005-06-02 Wim Taymans <wim@fluendo.com>
29665 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29666 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29667 (gst_basesink_activate):
29668 * gst/base/gstbasesink.h:
29669 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29670 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29671 (gst_pad_query), (gst_pad_start_task):
29672 * gst/gstpad.h:
29673 * gst/gstqueue.c: (gst_queue_bufferalloc),
29674 (gst_queue_handle_sink_event), (gst_queue_chain):
29675 Bufferalloc: return GstFlowReturn to more accuratly report
29676 why allocation failed.
29678 2005-06-02 Wim Taymans <wim@fluendo.com>
29680 * gst/gstpipeline.c: (gst_pipeline_send_event):
29681 Take snapshot of state without blocking.
29683 2005-06-02 Wim Taymans <wim@fluendo.com>
29685 * docs/design/part-TODO.txt:
29686 * docs/design/part-caps.txt:
29687 * docs/design/part-clocks.txt:
29688 * docs/design/part-negotiation.txt:
29689 * docs/design/part-preroll.txt:
29690 Small doc updates
29692 2005-05-30 Wim Taymans <wim@fluendo.com>
29694 * gst/elements/gstidentity.c: (gst_identity_event),
29695 (gst_identity_transform), (gst_identity_get_property):
29696 Protect last_message property as it is accessed from
29697 multiple threads.
29699 2005-05-30 Wim Taymans <wim@fluendo.com>
29701 * gst/gstelement.c: (gst_element_init),
29702 (gst_element_pads_activate), (gst_element_change_state):
29703 Slicker pad activation code.
29705 2005-05-30 Wim Taymans <wim@fluendo.com>
29707 * gst/Makefile.am:
29708 * gst/gstelement.h:
29709 * gst/gstelementfactory.h:
29710 * gst/gsttypes.h:
29711 Move elementfactory methods to separate .h file.
29713 2005-05-30 Wim Taymans <wim@fluendo.com>
29715 * docs/design/part-overview.txt:
29716 * gst/gstsystemclock.h:
29717 Small typo fixes, doc updates.
29719 2005-05-30 Wim Taymans <wim@fluendo.com>
29721 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29722 (init_popt_callback):
29723 Remove cpu-opt flag.
29725 2005-05-30 Wim Taymans <wim@fluendo.com>
29727 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29728 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29729 * gst/gstbuffer.h:
29730 Avoid typechecking in places where not needed.
29731 Added accessor for malloc_data.
29733 2005-05-30 Wim Taymans <wim@fluendo.com>
29735 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29736 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29737 (gst_pad_configure_sink), (gst_pad_configure_src),
29738 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29739 (gst_pad_start_task):
29740 Propagate errors from _set_caps() in configure_src/sink
29741 functions instead of returning TRUE.
29742 FLUSH events can travel up and downstream
29745 2005-05-30 Wim Taymans <wim@fluendo.com>
29747 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29748 (gst_basesink_activate):
29749 Handle EOS in preroll.
29751 2005-05-30 Wim Taymans <wim@fluendo.com>
29753 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29754 (gst_queue_loop), (gst_queue_handle_src_event):
29755 Remove old pieces of code
29756 Flushing the queue in an upstream event is a very bad idea.
29758 2005-05-26 Andy Wingo <wingo@pobox.com>
29760 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29761 gst_value_set_mini_object so as to add a ref on the object (which
29762 will be removed when the value is unset).
29764 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29765 arg type in ::handoff.
29767 * gst/gstelement.c (gst_element_change_state): Also deactivate
29768 pads in READY->NULL, just in case the element didn't make it to
29769 PAUSED. Wingo tested, Wim approved.
29771 2005-05-26 Wim Taymans <wim@fluendo.com>
29773 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29774 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29775 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29776 A flushing pad cannot be used to alloc_buffer from.
29778 2005-05-26 Wim Taymans <wim@fluendo.com>
29780 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29781 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29782 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29783 (gst_bus_create_watch), (gst_bus_add_watch_full):
29784 * gst/gstbus.h:
29785 Implement a real GSource and use g_main_context_wakeup() to
29786 signal new messages instead of the socketpair.
29788 2005-05-25 Wim Taymans <wim@fluendo.com>
29790 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29791 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29792 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29793 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29794 (gst_pad_send_event), (gst_pad_start_task):
29795 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29796 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29797 (gst_queue_sink_activate), (gst_queue_src_activate),
29798 (gst_queue_change_state):
29799 * gst/gstqueue.h:
29800 Fix state changes for non sinks. We now change sinks, then elements
29801 with unconnected srcpads, then the rest.
29802 More efficient queue unlocking in flush and state changes.
29803 Set the pad activate mode even if it does not have an activate
29804 function.
29806 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29808 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29809 Don't go in pull mode for non-seekable sources.
29810 * gst/elements/gsttypefindelement.h:
29811 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29812 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29813 (free_entry), (stop_typefinding),
29814 (gst_type_find_element_handle_event), (find_peek),
29815 (gst_type_find_element_chain), (do_pull_typefind),
29816 (gst_type_find_element_change_state):
29817 Allow typefinding (w/o seeking) in push-mode, simplified version
29818 of what was in 0.8.
29819 * gst/gstutils.c: (gst_buffer_join):
29820 * gst/gstutils.h:
29821 gst_buffer_join() from 0.8.
29823 2005-05-25 Wim Taymans <wim@fluendo.com>
29825 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29826 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29827 (gst_pad_send_event), (gst_pad_start_task):
29828 Disable attempt at mode switching until it is figured out.
29830 2005-05-25 Wim Taymans <wim@fluendo.com>
29832 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29833 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29834 (gst_basesink_finish_preroll), (gst_basesink_chain),
29835 (gst_basesink_loop), (gst_basesink_activate),
29836 (gst_basesink_change_state):
29837 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29838 (gst_basesrc_get_range), (gst_basesrc_loop),
29839 (gst_basesrc_activate):
29840 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29841 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29842 (gst_real_pad_init), (gst_real_pad_set_property),
29843 (gst_real_pad_get_property), (gst_pad_set_active),
29844 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29845 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29846 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29847 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29848 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29849 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29850 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29851 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29852 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29853 (gst_pad_stop_task):
29854 * gst/gstpad.h:
29855 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29856 (gst_queue_loop), (gst_queue_src_activate):
29857 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29858 (gst_task_get_state):
29859 * gst/gsttask.h:
29860 * gst/schedulers/threadscheduler.c:
29861 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29862 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29863 in task function.
29864 Remove ACTIVE pad flag, use FLUSHING everywhere
29865 Added _pad_chain(), _pad_get_range() to call chain/getrange
29866 functions.
29867 Add locks around IS_FLUSHING when reading.
29868 Take STREAM lock in chain(), get_range() functions so plugins
29869 don't need to take it anymore.
29873 2005-05-25 Wim Taymans <wim@fluendo.com>
29875 * tools/gst-launch.c: (event_loop):
29876 Unref message after using its contents instead of
29877 before.
29879 2005-05-24 Wim Taymans <wim@fluendo.com>
29881 * docs/design/draft-ghostpads.txt:
29882 * docs/design/draft-push-pull.txt:
29883 * docs/design/draft-query.txt:
29884 * docs/design/part-overview.txt:
29885 Docs updates, added general overview doc.
29887 2005-05-21 David Schleef <ds@schleef.org>
29889 * docs/gst/tmpl/old/GstBin.sgml:
29890 * docs/gst/tmpl/old/GstBuffer.sgml:
29891 * docs/gst/tmpl/old/GstCaps.sgml:
29892 * docs/gst/tmpl/old/GstClock.sgml:
29893 * docs/gst/tmpl/old/GstCompat.sgml:
29894 * docs/gst/tmpl/old/GstData.sgml:
29895 * docs/gst/tmpl/old/GstElement.sgml:
29896 * docs/gst/tmpl/old/GstEvent.sgml:
29897 * docs/gst/tmpl/old/GstIndex.sgml:
29898 * docs/gst/tmpl/old/GstStructure.sgml:
29899 * docs/gst/tmpl/old/GstTag.sgml:
29900 * docs/gst/tmpl/old/cothreads.sgml:
29901 * docs/gst/tmpl/old/cothreads_compat.sgml:
29902 * docs/gst/tmpl/old/gettext.sgml:
29903 * docs/gst/tmpl/old/gobject2gtk.sgml:
29904 * docs/gst/tmpl/old/grammar.tab.sgml:
29905 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29906 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29907 * docs/gst/tmpl/old/gst_private.sgml:
29908 * docs/gst/tmpl/old/gstaggregator.sgml:
29909 * docs/gst/tmpl/old/gstarch.sgml:
29910 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29911 * docs/gst/tmpl/old/gstbufferstore.sgml:
29912 * docs/gst/tmpl/old/gstdata_private.sgml:
29913 * docs/gst/tmpl/old/gstdisksink.sgml:
29914 * docs/gst/tmpl/old/gstdisksrc.sgml:
29915 * docs/gst/tmpl/old/gstelementfactory.sgml:
29916 * docs/gst/tmpl/old/gstextratypes.sgml:
29917 * docs/gst/tmpl/old/gstfakesink.sgml:
29918 * docs/gst/tmpl/old/gstfakesrc.sgml:
29919 * docs/gst/tmpl/old/gstfdsink.sgml:
29920 * docs/gst/tmpl/old/gstfdsrc.sgml:
29921 * docs/gst/tmpl/old/gstfilesink.sgml:
29922 * docs/gst/tmpl/old/gstfilesrc.sgml:
29923 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29924 * docs/gst/tmpl/old/gstidentity.sgml:
29925 * docs/gst/tmpl/old/gstindexfactory.sgml:
29926 * docs/gst/tmpl/old/gstmarshal.sgml:
29927 * docs/gst/tmpl/old/gstmd5sink.sgml:
29928 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29929 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29930 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29931 * docs/gst/tmpl/old/gstpipefilter.sgml:
29932 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29933 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29934 * docs/gst/tmpl/old/gstshaper.sgml:
29935 * docs/gst/tmpl/old/gstspider.sgml:
29936 * docs/gst/tmpl/old/gstspideridentity.sgml:
29937 * docs/gst/tmpl/old/gststatistics.sgml:
29938 * docs/gst/tmpl/old/gsttee.sgml:
29939 * docs/gst/tmpl/old/gsttimecache.sgml:
29940 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29941 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29942 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29943 * docs/gst/tmpl/old/types.sgml:
29944 I didn't intend to add these or check them in.
29946 2005-05-19 David Schleef <ds@schleef.org>
29948 * configure.ac: Use -no-common everywhere. In a sane world, it
29949 would be the default in libtool, because without it, you can't
29950 build DLLs on Windows.
29951 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29952 * docs/gst/gstreamer-sections.txt:
29953 * docs/gst/tmpl/gstcpu.sgml:
29954 * docs/gst/tmpl/gstdata.sgml:
29955 * docs/gst/tmpl/gstthread.sgml:
29957 2005-05-19 David Schleef <ds@schleef.org>
29959 * gst/gstminiobject.c: (gst_value_set_mini_object),
29960 (gst_value_take_mini_object), (gst_value_get_mini_object):
29961 * gst/gstminiobject.h: Add GValue set/get functions.
29963 2005-05-19 Wim Taymans <wim@fluendo.com>
29965 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29966 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29967 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29968 * gst/gstbuffer.h:
29969 * gst/gstbus.c: (gst_bus_post):
29970 * gst/gstelement.c: (gst_element_get_random_pad):
29971 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29972 Make subbufer unref the parent in finalize.
29973 some more debugging info.
29976 2005-05-19 Wim Taymans <wim@fluendo.com>
29978 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29979 (gst_basesink_init), (gst_basesink_finalize),
29980 (gst_basesink_activate), (gst_basesink_change_state):
29981 Don't free preroll queue too early.
29983 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29985 * gst/Makefile.am:
29986 * gst/ROADMAP:
29987 Hi, I'm outdated. Please shoot me.
29989 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29991 * gst/gstpipeline.c: (gst_pipeline_send_event):
29992 Do not access variables after they have been deleted.
29994 2005-05-19 Wim Taymans <wim@fluendo.com>
29996 * tools/gst-inspect.c: (print_plugin_features):
29997 A plugin feature does unfortunatly not use the
29998 object name yet...
30000 2005-05-18 Wim Taymans <wim@fluendo.com>
30002 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
30003 Port _span() functions to new subbuffers.
30005 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30007 * gst/gstbin.c: (gst_bin_add_func):
30008 Fix clock settery in bins when adding kids after the clock has
30009 been selected.
30011 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30013 * gst/elements/gstidentity.c: (gst_identity_class_init):
30014 Workaround until signals support GstMiniObject.
30016 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
30018 * gst/gstbuffer.c:
30019 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
30021 2005-05-18 Wim Taymans <wim@fluendo.com>
30023 * gst/base/Makefile.am:
30024 * gst/base/gstadapter.c: (gst_adapter_base_init),
30025 (gst_adapter_class_init), (gst_adapter_init),
30026 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
30027 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
30028 (gst_adapter_flush), (gst_adapter_available),
30029 (gst_adapter_available_fast):
30030 * gst/base/gstadapter.h:
30031 Ported and added adapter to the base classes.
30033 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30035 * gst/gst.c:
30036 * gst/gstmessage.c:
30037 Make sure the class is reffed/unreffed once before threads can be
30038 used. Fixes #304551.
30040 2005-05-17 Wim Taymans <wim@fluendo.com>
30042 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
30043 (gst_basesink_chain_unlocked), (gst_basesink_activate):
30044 * gst/gstminiobject.c: (gst_mini_object_get_type),
30045 (gst_mini_object_free):
30046 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
30047 (gst_pad_push), (gst_pad_push_event):
30048 * gst/gstqueue.c: (gst_queue_change_state):
30049 Don't queue buffers in basesink when we are flushing.
30050 Unref buffer when flushing in basesink.
30051 Flush queue when going to READY
30052 Unref buffer when _push() returns an error.
30053 Don't free MiniObject instance when refcount is incremented
30054 in _finalize() so that we can recover objects.
30056 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
30058 * docs/manual/advanced-schedulers.xml:
30059 * docs/manual/appendix-checklist.xml:
30060 * docs/pwg/advanced-clock.xml:
30061 * docs/pwg/advanced-interfaces.xml:
30062 * docs/pwg/advanced-request.xml:
30063 * docs/pwg/advanced-types.xml:
30064 * docs/pwg/intro-preface.xml:
30065 * examples/plugins/example.c: (gst_example_get_type),
30066 (gst_example_class_init), (gst_example_chain),
30067 (gst_example_set_property), (gst_example_get_property),
30068 (gst_example_change_state), (plugin_init):
30069 * examples/plugins/example.h:
30070 small doc fixes
30072 2005-05-17 Wim Taymans <wim@fluendo.com>
30074 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30075 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30076 * gst/gstqueue.c: (gst_queue_change_state):
30077 Clear queue when going to READY.
30078 Remove IN_SETCAPS flag too.
30080 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30082 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30083 Remove implicit cast from gboolean to GstElementStateReturn;
30084 make sure we still return failure in paused => ready case if
30085 the parent class fails to change state and our own stop
30086 vfunc succeeds.
30088 2005-05-17 Wim Taymans <wim@fluendo.com>
30090 * tools/gst-launch.c: (event_loop):
30091 Message was unreffed too soon.
30093 2005-05-16 Andy Wingo <wingo@pobox.com>
30095 * gst/gstbin.c (sink_iterator_filter): Err... um...
30097 * check/gst/gstbin.c (test_ghost_pads): New test for the
30098 ghosting-if-elements-not-in-same-bin behavior.
30100 2005-05-16 David Schleef <ds@schleef.org>
30102 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30103 accessing refcount directly.
30105 2005-05-15 David Schleef <ds@schleef.org>
30107 * check/Makefile.am: remove GstData checks
30108 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30109 * gst/Makefile.am: add miniobject, remove data
30110 * gst/gst.h: add miniobject, remove data
30111 * gst/gstdata.c: remove
30112 * gst/gstdata.h: remove
30113 * gst/gstdata_private.h: remove
30114 * gst/gsttypes.h: remove GstEvent and GstMessage
30115 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30116 * gst/gstmarshal.list: change BOXED -> OBJECT
30118 Implement GstMiniObject.
30119 * gst/gstminiobject.c:
30120 * gst/gstminiobject.h:
30122 Modify to be subclasses of GstMiniObject.
30123 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30124 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30125 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30126 (gst_subbuffer_get_type), (gst_subbuffer_init),
30127 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30128 (gst_buffer_span):
30129 * gst/gstbuffer.h:
30130 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30131 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30132 (_gst_event_copy), (gst_event_new):
30133 * gst/gstevent.h:
30134 * gst/gstmessage.c: (_gst_message_initialize),
30135 (gst_message_get_type), (gst_message_class_init),
30136 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30137 (gst_message_new), (gst_message_new_error),
30138 (gst_message_new_warning), (gst_message_new_tag),
30139 (gst_message_new_state_changed), (gst_message_new_application):
30140 * gst/gstmessage.h:
30141 * gst/gstprobe.c: (gst_probe_perform),
30142 (gst_probe_dispatcher_dispatch):
30143 * gst/gstprobe.h:
30144 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30145 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30146 (_gst_query_copy), (gst_query_new):
30148 Update elements for GstData -> GstMiniObject changes
30149 * gst/gstquery.h:
30150 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30151 (gst_queue_chain), (gst_queue_loop):
30152 * gst/elements/gstbufferstore.c:
30153 (gst_buffer_store_add_buffer_func),
30154 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30155 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30156 (gst_fakesink_render):
30157 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30158 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30159 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30160 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30161 (gst_filesrc_create_read):
30162 * gst/elements/gstidentity.c: (gst_identity_class_init):
30163 * gst/elements/gsttypefindelement.c:
30164 (gst_type_find_element_src_event), (free_entry_buffers),
30165 (gst_type_find_element_handle_event):
30166 * libs/gst/dataprotocol/dataprotocol.c:
30167 (gst_dp_header_from_buffer):
30168 * libs/gst/dataprotocol/dataprotocol.h:
30169 * libs/gst/dataprotocol/dp-private.h:
30171 2005-05-15 David Schleef <ds@schleef.org>
30173 * gst/elements/gstelements.c: Don't include headers that were
30174 just removed.
30176 2005-05-15 David Schleef <ds@schleef.org>
30178 * gst/elements/Makefile.am: Remove some elements that don't
30179 need to be in the core (or even exist at all).
30180 * gst/elements/gstaggregator.c:
30181 * gst/elements/gstaggregator.h:
30182 * gst/elements/gstmd5sink.c:
30183 * gst/elements/gstmd5sink.h:
30184 * gst/elements/gstmultifilesrc.c:
30185 * gst/elements/gstmultifilesrc.h:
30186 * gst/elements/gstpipefilter.c:
30187 * gst/elements/gstpipefilter.h:
30188 * gst/elements/gstshaper.c:
30189 * gst/elements/gstshaper.h:
30190 * gst/elements/gststatistics.c:
30191 * gst/elements/gststatistics.h:
30192 * po/POTFILES.in: Remove above files.
30194 2005-05-14 Andy Wingo <wingo@pobox.com>
30196 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30197 so as to get the refs right.
30198 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30199 unreffing objects that don't pass the filter.
30201 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30202 gst_element_set_bus.
30203 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30204 normal cases, this will destroy the bus.
30206 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30207 object.
30209 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30210 has no sinks.
30212 2005-05-13 Andy Wingo <wingo@pobox.com>
30214 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30215 gst_pad_link, call pad_link_maybe_ghosting,
30216 (pad_link_maybe_ghosting): Links pads, making sure that the
30217 elements being linked are in the same bin.
30218 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30219 Helpers for pad_link_maybe_ghosting.
30221 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30223 * configure.ac:
30224 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30226 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30228 * docs/design/part-element-source.txt:
30229 Mention GstPushSrc
30231 2005-05-12 Wim Taymans <wim@fluendo.com>
30233 * gst/base/gstbasesink.c: (gst_basesink_init),
30234 (gst_basesink_activate):
30235 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30236 (gst_basesrc_is_seekable):
30237 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30238 (bin_element_is_sink), (gst_bin_change_state):
30239 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30240 * gst/gstelement.h:
30241 Identify sinks by their flag to avoid overly complicated
30242 checks (fow now).
30243 Do state changes even for elements not reachable from the
30244 sinks.
30245 BaseSink is a sink now :)
30246 Some more debugging info in the basesrc.
30249 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30251 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30252 Implement _query on a bin, similar to _send_event.
30254 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30256 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30257 Discont event offset format should be GST_FORMAT_BYTES,
30258 not GST_FORMAT_TIME.
30260 2005-05-12 Wim Taymans <wim@fluendo.com>
30262 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30263 Same fix as Ronald's but without the signal.
30265 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30267 * gst/gstutils.c: (gst_element_query_position):
30268 No, an element is not a pad.
30270 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30272 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30273 (gst_bin_get_state):
30274 If a child is removed from a bin while we remove the child from
30275 the bin and while we're retrieving its state, signal this to the
30276 get_state function so we abort the wait (instead of waiting for
30277 a timeout) and can immediately re-iterate over all other elements.
30279 2005-05-12 Wim Taymans <wim@fluendo.com>
30281 * gst/base/Makefile.am:
30282 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30283 (gst_basesrc_start):
30284 * gst/base/gstbasesrc.h:
30285 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30286 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30287 (gst_pushsrc_init), (gst_pushsrc_create):
30288 * gst/base/gstpushsrc.h:
30289 Added is_seekable to BaseSrc
30290 Added simple PushSrc.
30292 2005-05-11 Wim Taymans <wim@fluendo.com>
30294 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30295 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30296 (gst_element_link_pads), (gst_element_query_position),
30297 (gst_element_query_convert), (intersect_caps_func),
30298 (gst_pad_query_position), (gst_pad_query_convert):
30299 Fix refcounting in utils function.
30300 No point in trying to activate a pad when it's added, it could
30301 be added from the state change function and then we deadlock, the
30302 element has to decide what to do.
30304 2005-05-10 Andy Wingo <wingo@pobox.com>
30306 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30307 *all* the arguments.
30309 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30310 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30311 lock (according to the docs -- if this is wrong change the docs).
30313 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30314 flush messages in the NULL state.
30316 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30317 message immediately and return.
30318 (gst_bus_set_flushing): New function. If a bus is flushing, it
30319 flushes out any queued messages and immediately unrefs new
30320 messages. This is so when an element goes to NULL, all of the
30321 unhandled messages coming from it can be freed, and their
30322 references to the element dropped. In other words: message source
30323 ref considered harmful :P
30325 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30326 we're finished with it.
30328 * gst/gstmessage.c (gst_message_new_state_changed):
30330 2005-05-10 Wim Taymans <wim@fluendo.com>
30332 * gst/gstvalue.c: (gst_value_compare_flags),
30333 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30334 (_gst_value_initialize):
30335 Added flags serialize/deserialize/compare code.
30337 2005-05-09 Andy Wingo <wingo@pobox.com>
30339 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30340 Intersect the peer's caps with our caps.
30342 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30344 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30345 * gst/elements/gsttypefindelement.c: (find_peek):
30346 Handle negative offsets better. Fixes decodebin.
30348 2005-05-09 Wim Taymans <wim@fluendo.com>
30350 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30351 (gst_base_transform_event):
30352 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30353 Implement accept_caps.
30354 Fix silly lock/unlock mismatch in base class.
30356 2005-05-09 Wim Taymans <wim@fluendo.com>
30358 * docs/design/draft-push-pull.txt:
30359 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30360 * gst/elements/gstfilesink.c: (gst_filesink_init),
30361 (gst_filesink_query):
30362 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30363 (gst_type_find_handle_src_query), (find_element_get_length):
30364 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30365 * gst/gstelement.h:
30366 * gst/gstmessage.c:
30367 * gst/gstmessage.h:
30368 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30369 (gst_real_pad_get_caps_unlocked),
30370 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30371 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30372 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30373 (gst_real_pad_dispose), (gst_real_pad_finalize),
30374 (gst_pad_load_and_link), (gst_pad_save_thyself),
30375 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30376 (gst_pad_check_pull_range), (gst_pad_pull_range),
30377 (gst_pad_template_get_type), (gst_pad_template_class_init),
30378 (gst_pad_template_init), (gst_pad_template_dispose),
30379 (name_is_valid), (gst_static_pad_template_get),
30380 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30381 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30382 (gst_pad_get_element_private), (gst_pad_start_task),
30383 (gst_pad_pause_task), (gst_pad_stop_task),
30384 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30385 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30386 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30387 (gst_ghost_pad_new):
30388 * gst/gstpad.h:
30389 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30390 (gst_query_new_position), (gst_query_set_position),
30391 (gst_query_parse_position), (gst_query_new_convert),
30392 (gst_query_set_convert), (gst_query_parse_convert):
30393 * gst/gstquery.h:
30394 * gst/gstqueryutils.c:
30395 * gst/gstqueryutils.h:
30396 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30397 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30398 (gst_queue_handle_src_query):
30399 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30400 (gst_element_query_position), (gst_element_query_convert),
30401 (intersect_caps_func), (gst_pad_query_position),
30402 (gst_pad_query_convert):
30403 * gst/gstutils.h:
30404 * tools/gst-inspect.c: (print_pad_info):
30405 * tools/gst-xmlinspect.c: (print_element_info):
30406 Remove old query functions. Ported old code.
30407 Added position/convert helper functions to gstutils.
30408 Reordered gstpad.c code, grouping relevant things.
30409 Remove gst_message_new(), always need to speficy a specific
30410 message.
30413 2005-05-09 Andy Wingo <wingo@pobox.com>
30415 * gst/gstiterator.h: Add some includes.
30417 * gst/gstqueryutils.h: Include more headers.
30419 * gst/gstpad.h:
30420 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30421 some uses of gst_pad_query.
30423 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30424 NULL out parameters.
30425 (gst_query_new_position): New proc, allocates a new position
30426 query.
30428 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30429 gstqueryutils.c to the build.
30431 * gst/gststructure.c (gst_structure_set_valist): Implement with
30432 the generic G_VALUE_COLLECT.
30434 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30436 * gst/Makefile.am: (gst_headers):
30437 Added gstqueryutils.h to the list of headers to install, that was
30438 a 'nachty' move wingo :)
30440 2005-05-06 Andy Wingo <wingo@pobox.com>
30442 * gst/gstquery.h
30443 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30444 GstData, init a memchunk.
30445 (standard_definitions): Add a few query types, deprecate a few.
30446 (gst_query_get_type): New proc.
30447 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30448 implementation.
30449 (gst_query_new_application, gst_query_get_structure): New public
30450 procs.
30452 * docs/design/draft-query.txt: Removed LINKS from the query types,
30453 because all the rest can be dispatched to other pads -- seemed
30454 ugly to have a query that couldn't be dispatched. internal_links
30455 is fine as a pad method.
30457 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30458 in gstpad.c, but maintain binary compatibility for the moment.
30459 Will fix before 0.9 is out.
30461 * gst/gstqueryutils.c:
30462 * gst/gstqueryutils.h: New files, implement 3 methods for each
30463 query type: parse_query, parse_response, and set. Probably need an
30464 allocator as well.
30466 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30468 * gst/elements/gstfilesink.c (gst_filesink_query2):
30469 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30470 query_types, and formats methods.
30472 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30473 (gst_pad_set_query2_function): New functions.
30474 (gst_real_pad_init): Set query2_default as the default query2
30475 function. Basically just dispatches to internally linked pads.
30477 Needs review!
30479 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30480 without using the atomic operations. Only one thread can possibly
30481 be accessing the data at this point. Changed so as to avoid
30482 gst_atomic operations.
30484 2005-05-06 Wim Taymans <wim@fluendo.com>
30486 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30487 Also set caps if we use the fallback buffer alloc.
30489 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30491 * docs/gst/Makefile.am:
30492 * docs/gst/gstreamer-docs.sgml:
30493 * docs/gst/gstreamer-sections.txt:
30494 * docs/gst/tmpl/gstatomic.sgml:
30495 * docs/gst/tmpl/gstmemchunk.sgml:
30496 * testsuite/elements/struct_i386.h:
30497 * win32/GStreamer.vcproj:
30498 * win32/Makefile:
30499 Purge GstAtomic stuff from docs and win32 makefiles as well
30501 2005-05-06 Wim Taymans <wim@fluendo.com>
30503 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30504 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30505 * gst/gstpad.c: (gst_pad_peer_get_caps):
30506 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30507 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30508 (gst_queue_src_activate), (gst_queue_change_state):
30509 * gst/gstqueue.h:
30510 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30511 (intersect_caps_func):
30512 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30513 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30514 Some fixes for the peer_get_caps() change.
30516 2005-05-06 Wim Taymans <wim@fluendo.com>
30518 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30519 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30520 (gst_basesink_activate):
30521 Actually do something with error codes returned from the push
30522 functions.
30524 2005-05-06 Wim Taymans <wim@fluendo.com>
30526 * docs/design/part-element-sink.txt:
30527 * docs/design/part-element-source.txt:
30528 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30529 (gst_basesink_event), (gst_basesink_activate):
30530 * gst/base/gstbasesink.h:
30531 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30532 (gst_basesrc_activate):
30533 * gst/base/gstbasesrc.h:
30534 * gst/gstelement.c: (gst_element_pads_activate):
30535 Some more documentation.
30536 Fixed scheduling decision in _pads_activate().
30538 2005-05-05 Andy Wingo <wingo@pobox.com>
30540 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30541 the test suite.
30543 2005-05-05 Wim Taymans <wim@fluendo.com>
30545 * gst/base/Makefile.am:
30546 * gst/base/gstbasesink.h:
30547 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30548 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30549 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30550 (gst_collectpads_class_init), (gst_collectpads_init),
30551 (gst_collectpads_finalize), (gst_collectpads_new),
30552 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30553 (find_pad), (gst_collectpads_remove_pad),
30554 (gst_collectpads_is_active), (gst_collectpads_collect),
30555 (gst_collectpads_collect_range), (gst_collectpads_start),
30556 (gst_collectpads_stop), (gst_collectpads_peek),
30557 (gst_collectpads_pop), (gst_collectpads_available),
30558 (gst_collectpads_read), (gst_collectpads_flush),
30559 (gst_collectpads_chain):
30560 * gst/base/gstcollectpads.h:
30561 * gst/elements/Makefile.am:
30562 * gst/elements/gstelements.c:
30563 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30564 (gst_fakesink_get_times), (gst_fakesink_event),
30565 (gst_fakesink_preroll), (gst_fakesink_render):
30566 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30567 (gst_filesink_init), (gst_filesink_set_location),
30568 (gst_filesink_open_file), (gst_filesink_close_file),
30569 (gst_filesink_pad_query), (gst_filesink_event),
30570 (gst_filesink_render), (gst_filesink_change_state):
30571 * gst/elements/gstfilesink.h:
30572 Added object to help in making collect pad based elements.
30573 Ported filesink.
30574 Make event function in sink baseclass return gboolean.
30576 2005-05-05 Wim Taymans <wim@fluendo.com>
30578 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30579 (gst_bin_get_by_name):
30580 * gst/gstbuffer.h:
30581 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30582 (gst_clock_finalize):
30583 * gst/gstdata.c: (gst_data_replace):
30584 * gst/gstdata.h:
30585 * gst/gstelement.c: (gst_element_request_pad),
30586 (gst_element_pads_activate):
30587 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30588 (gst_object_unref):
30589 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30590 (gst_pad_set_checkgetrange_function),
30591 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30592 (gst_pad_check_pull_range), (gst_pad_pull_range),
30593 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30594 (gst_pad_pause_task), (gst_pad_stop_task):
30595 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30596 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30597 Fix name lookup in GstBin.
30598 Added _data_replace() function and _buffer_replace()
30599 Use finalize method to clean up clock.
30600 Fix refcounting on request pads.
30601 Fix pad schedule mode error.
30602 Some more object refcounting debug info,
30605 2005-05-04 Andy Wingo <wingo@pobox.com>
30607 * check/Makefile.am:
30608 * docs/gst/tmpl/gstatomic.sgml:
30609 * docs/gst/tmpl/gstplugin.sgml:
30610 * gst/base/gstbasesink.c: (gst_basesink_activate):
30611 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30612 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30613 (gst_basesrc_query), (gst_basesrc_set_property),
30614 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30615 (gst_basesrc_activate):
30616 * gst/base/gstbasesrc.h:
30617 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30618 (gst_base_transform_src_activate):
30619 * gst/elements/gstelements.c:
30620 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30621 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30622 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30623 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30624 (gst_type_find_element_checkgetrange),
30625 (gst_type_find_element_activate):
30626 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30627 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30628 (gst_caps_load_thyself):
30629 * gst/gstelement.c: (gst_element_pads_activate),
30630 (gst_element_save_thyself), (gst_element_restore_thyself):
30631 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30632 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30633 * gst/gstpad.h:
30634 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30635 (gst_xml_parse_file), (gst_xml_parse_memory),
30636 (gst_xml_get_element), (gst_xml_make_element):
30637 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30638 (_file_index_id_save_xml), (gst_file_index_commit):
30639 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30640 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30641 (load_paths):
30642 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30643 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30644 * tools/gst-complete.c: (main):
30645 * tools/gst-compprep.c: (main):
30646 * tools/gst-inspect.c: (print_element_properties_info):
30647 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30648 * tools/gst-xmlinspect.c: (print_element_properties):
30649 GCC 4 fixen.
30651 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30653 * gst/gstplugin.c: (gst_plugin_check_module),
30654 (gst_plugin_check_file), (gst_plugin_load_file):
30655 apply patch from #172526 to make register work on MacOSX
30657 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30659 * docs/gst/tmpl/gstconfig.sgml:
30660 * gst/gstconfig.h.in:
30661 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30662 * testsuite/debug/printf_extension.c: (main):
30663 Do not use GST_PTR_FORMAT on pointers to types with
30664 sizeof < sizeof(gpointer). Fixes test on 64-bit
30665 * testsuite/elements/property.h:
30666 use correct printf format
30668 2005-05-02 Wim Taymans <wim@fluendo.com>
30670 * docs/design/draft-push-pull.txt:
30671 * docs/design/draft-query.txt:
30672 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30673 (gst_basesrc_start):
30674 Added draft for new query API.
30675 Added draft for better selecting scheduling methods.
30676 Make basesrc ignore length if the subclass does not support
30677 it.
30679 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30681 * gst/Makefile.am:
30682 possible fixes for automake-1.5 - _LIBADD is reserved
30684 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30686 * docs/faq/Makefile.am:
30687 * docs/manual/Makefile.am:
30688 * docs/manuals.mak:
30689 * docs/pwg/Makefile.am:
30690 * gst/Makefile.am:
30691 possible fixes for automake-1.5
30693 2005-04-28 Wim Taymans <wim@fluendo.com>
30695 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30696 (gst_basesink_pad_getcaps), (gst_basesink_init),
30697 (gst_basesink_do_sync):
30698 * gst/gstclock.c: (gst_clock_entry_new):
30699 * gst/gstevent.c: (gst_event_discont_get_value):
30700 * gst/gstpipeline.c: (pipeline_bus_handler),
30701 (gst_pipeline_change_state):
30702 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30703 Better debugging of clocking info.
30704 Allow NULL values when getting discont values.
30706 2005-04-27 Wim Taymans <wim@fluendo.com>
30708 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30709 * check/gst/gstpad.c: (gst_pad_suite):
30710 Increase timeout for checks.
30712 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30714 * check/Makefile.am:
30715 fix the broken rule for cleanup. Apparently this rule is
30716 only needed on FC2, so maybe this warrants further autotool
30717 inspection.
30719 2005-04-26 Wim Taymans <wim@fluendo.com>
30721 * gst/gsttrashstack.h:
30722 Ooohh. a nasty one! After having a failed pop() from the stack,
30723 it's possible that the stack is empty. In that case, don't
30724 follow the NULL pointer.
30726 2005-04-25 Wim Taymans <wim@fluendo.com>
30728 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30729 (gst_pad_set_checkgetrange_function),
30730 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30731 (gst_pad_check_pull_range), (gst_pad_pull_range),
30732 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30733 (gst_pad_pause_task), (gst_pad_stop_task):
30734 * gst/gstplugin.c: (gst_plugin_load):
30735 * gst/gstplugin.h:
30736 Remove gst_library_load as it does more harm than good with
30737 the new g_module flags.
30738 Revert bogus caps template check in pad linking, pad caps
30739 are important when linking not the template, which is more
30740 general than the current caps.
30742 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30744 * gst/autoplug/.cvsignore:
30745 * gst/autoplug/Makefile.am:
30746 * gst/autoplug/gstsearchfuncs.c:
30747 * gst/autoplug/gstsearchfuncs.h:
30748 * gst/autoplug/gstspider.c:
30749 * gst/autoplug/gstspider.h:
30750 * gst/autoplug/gstspideridentity.c:
30751 * gst/autoplug/gstspideridentity.h:
30752 * gst/autoplug/spidertest.c:
30753 Die, spider, die.
30755 2005-04-25 Wim Taymans <wim@fluendo.com>
30757 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30758 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30759 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30760 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30761 * gst/gstpad.h:
30762 Added stubs for unimplemented functions.
30764 2005-04-24 David Schleef <ds@schleef.org>
30766 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30767 please fix.
30769 2005-04-24 David Schleef <ds@schleef.org>
30771 Convert everything from GstAtomicInt to g_atomic_int_*, and
30772 remove gstatomic.
30773 * gst/Makefile.am:
30774 * gst/gstatomic.c:
30775 * gst/gstatomic.h:
30776 * gst/gstatomic_impl.h:
30777 * gst/gstbuffer.c:
30778 * gst/gstcaps.c:
30779 * gst/gstcaps.h:
30780 * gst/gstclock.c:
30781 * gst/gstclock.h:
30782 * gst/gstdata.c:
30783 * gst/gstdata.h:
30784 * gst/gstdata_private.h:
30785 * gst/gstevent.c:
30786 * gst/gstinfo.c:
30787 * gst/gstinfo.h:
30788 * gst/gstmessage.c:
30789 * gst/gstobject.c:
30790 * gst/gstobject.h:
30791 * gst/gststructure.c:
30792 * gst/gststructure.h:
30793 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30794 * gst/gstutils.h:
30796 2005-04-24 David Schleef <ds@schleef.org>
30798 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30799 make the regressions tests work. Remove some code that is no
30800 longer true.
30801 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30802 Disable warning for pads without templates.
30804 2005-04-24 David Schleef <ds@schleef.org>
30806 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30807 functions that handle filtered links.
30808 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30809 removed functions.
30810 * gst/gstutils.c: Fix/remove utility functions that handle
30811 filtered caps.
30812 * gst/gstutils.h:
30813 * gst/gstvalue.c: Add serialization/deserialization of caps
30814 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30815 requires fixing so that the filter caps notation creates
30816 a capsfilter element and sets the filter_caps property. I
30817 think everyone probably wants to keep the shorthand notation.
30818 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30819 * docs/gst/tmpl/gstpad.sgml:
30821 * gst/elements/gstelements.c: Register capsfilter element.
30822 * gst/Makefile.am: fix spacing
30823 * docs/random/ds/0.9-suggested-changes: random
30825 2005-04-23 David Schleef <ds@schleef.org>
30827 * gst/elements/Makefile.am:
30828 * gst/elements/gstcapsfilter.c: New element that acts like an
30829 identity, but filters caps. Will eventually replace filtered
30830 caps in pad linking.
30831 * gst/gstutils.c: (gst_element_create_all_pads): New function
30832 to create all the ALWAYS pads that are registered with an
30833 element class. This functionality should eventually be
30834 merged in with GstElement initialization.
30835 * gst/gstutils.h:
30836 * testsuite/trigger/README: part of trigger test code that should
30837 have been checked in a long time ago.
30839 2005-04-23 David Schleef <ds@schleef.org>
30841 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30842 needed with new versions of libtool (nobody will confirm this),
30843 and hard to carry around.
30844 * gst/autoplug/Makefile.am:
30845 * gst/base/Makefile.am:
30846 * gst/elements/Makefile.am:
30847 * gst/indexers/Makefile.am:
30848 * gst/schedulers/Makefile.am:
30849 * libs/gst/bytestream/Makefile.am:
30850 * libs/gst/control/Makefile.am:
30851 * libs/gst/dataprotocol/Makefile.am:
30852 * libs/gst/getbits/Makefile.am:
30854 2005-04-21 Wim Taymans <wim@fluendo.com>
30856 * docs/design/draft-push-pull.txt:
30857 * docs/design/part-MT-refcounting.txt:
30858 * docs/design/part-TODO.txt:
30859 * docs/design/part-caps.txt:
30860 * docs/design/part-events.txt:
30861 * docs/design/part-gstbus.txt:
30862 * docs/design/part-gstpipeline.txt:
30863 * docs/design/part-messages.txt:
30864 * docs/design/part-push-pull.txt:
30865 * docs/design/part-query.txt:
30866 Some more docs.
30868 2005-04-21 Wim Taymans <wim@fluendo.com>
30870 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30871 (gst_message_new), (gst_message_new_error),
30872 (gst_message_new_warning), (gst_message_new_tag),
30873 (gst_message_new_state_changed), (gst_message_new_application),
30874 (gst_message_get_structure):
30875 * gst/gstmessage.h:
30876 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30877 (gst_structure_copy_conditional):
30878 Use parent refcount in GstMessage to ensure GstStructure
30879 consistency.
30880 Cleaned up headers a bit.
30883 2005-04-20 Wim Taymans <wim@fluendo.com>
30885 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30886 (gst_basesink_pad_getcaps), (gst_basesink_init),
30887 (gst_basesink_chain_unlocked):
30888 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30889 (gst_type_find_helper):
30890 * gst/elements/gsttypefindelement.c:
30891 (gst_type_find_element_have_type), (gst_type_find_element_init),
30892 (stop_typefinding), (gst_type_find_element_handle_event),
30893 (find_suggest), (gst_type_find_element_chain),
30894 (gst_type_find_element_checkgetrange),
30895 (gst_type_find_element_getrange), (do_typefind),
30896 (gst_type_find_element_activate):
30897 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30898 (gst_buffer_default_free), (gst_buffer_default_copy),
30899 (gst_buffer_set_caps):
30900 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30901 (gst_caps_replace):
30902 * gst/gstmessage.c: (gst_message_new),
30903 (gst_message_new_state_changed):
30904 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30905 (gst_pad_set_checkgetrange_function),
30906 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30907 (gst_pad_set_caps), (gst_pad_check_pull_range),
30908 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30909 * gst/gstpad.h:
30910 * gst/gsttypefind.c: (gst_type_find_register):
30911 Make gst_caps_replace() work like other _replace() functions.
30912 Use _caps_replace() where possible.
30913 Make sure _message_new() initialises its field.
30914 Add gst_static_pad_template_get_caps()
30917 2005-04-18 Andy Wingo <wingo@pobox.com>
30919 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30920 on the peer, not the pad. I think that was a typo. Pass an extra
30921 arg to see if random access is possible. Activate the pads as
30922 PULL_RANGE if possible.
30924 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30926 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30927 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30928 to PROP_....
30930 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30932 * docs/faq/using.xml:
30933 Add note on gstreamer-properties (#154996).
30935 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30937 * docs/random/bbb/optional-properties:
30938 Some analysis on optional properties.
30940 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30942 * docs/gst/tmpl/gstelementfactory.sgml:
30943 * gst/gstelement.h:
30944 * gst/gstelementfactory.c: (gst_element_factory_init),
30945 (gst_element_factory_cleanup), (gst_element_register),
30946 (__gst_element_factory_add_static_pad_template),
30947 (gst_element_factory_get_static_pad_templates),
30948 (gst_element_factory_can_src_caps),
30949 (gst_element_factory_can_sink_caps):
30950 * gst/registries/Makefile.am:
30951 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30952 (gst_xml_registry_class_init), (gst_xml_registry_init),
30953 (gst_xml_registry_new), (gst_xml_registry_set_property),
30954 (gst_xml_registry_get_property), (get_time), (make_dir),
30955 (gst_xml_registry_get_perms_func),
30956 (plugin_times_older_than_recurse), (plugin_times_older_than),
30957 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30958 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30959 (add_to_char_array), (read_string), (read_uint), (read_enum),
30960 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30961 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30962 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30963 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30964 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30965 (gst_xml_registry_rebuild):
30966 * gst/registries/gstlibxmlregistry.h:
30967 * tools/gst-compprep.c: (main):
30968 * tools/gst-inspect.c: (print_pad_templates_info):
30969 * tools/gst-xmlinspect.c: (print_element_info):
30970 Use libxml2 for registry parsing, use staticpadtemplates in
30971 elementfactories. Makes gst_init() +/- 10x faster.
30973 2005-04-12 Wim Taymans <wim@fluendo.com>
30975 * gst/base/Makefile.am:
30976 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30977 (gst_basesink_pad_getcaps), (gst_basesink_init),
30978 (gst_basesink_event), (gst_basesink_change_state):
30979 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30980 (gst_basesrc_init), (gst_basesrc_query),
30981 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30982 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30983 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30984 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30985 (gst_basesrc_stop), (gst_basesrc_activate),
30986 (gst_basesrc_change_state):
30987 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30988 (helper_find_suggest), (gst_type_find_helper):
30989 * gst/base/gsttypefindhelper.h:
30990 * gst/elements/Makefile.am:
30991 * gst/elements/gstelements.c:
30992 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30993 (gst_fakesink_get_times), (gst_fakesink_event),
30994 (gst_fakesink_preroll), (gst_fakesink_render):
30995 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30996 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30997 (gst_fakesrc_get_property), (gst_fakesrc_create),
30998 (gst_fakesrc_start), (gst_fakesrc_stop):
30999 * gst/elements/gstfakesrc.h:
31000 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
31001 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31002 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31003 (gst_filesrc_create_read), (gst_filesrc_create),
31004 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
31005 (gst_filesrc_start):
31006 * gst/elements/gsttypefindelement.c:
31007 (gst_type_find_element_have_type), (gst_type_find_element_init),
31008 (start_typefinding), (stop_typefinding), (push_buffer_store),
31009 (gst_type_find_element_handle_event),
31010 (gst_type_find_element_chain),
31011 (gst_type_find_element_checkgetrange),
31012 (gst_type_find_element_getrange), (do_typefind),
31013 (gst_type_find_element_activate),
31014 (gst_type_find_element_change_state):
31015 * gst/elements/gsttypefindelement.h:
31016 * gst/gstpipeline.c: (pipeline_bus_handler):
31017 Added typefind helper.
31018 Small preroll fix in the base sink.
31019 Disable typefind code in basesrc.
31020 Crude port of typefindelement.
31021 Fakesrc cleanups.
31024 2005-04-11 Wim Taymans <wim@fluendo.com>
31026 * check/gst/gstbus.c: (gstbus_suite):
31027 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
31028 * check/gstcheck.h:
31029 Fix up the timeout so that the test does not fail.
31031 2005-04-06 Wim Taymans <wim@fluendo.com>
31033 * gst/base/README:
31034 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31035 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
31036 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
31037 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
31038 (gst_basesrc_check_get_range), (gst_basesrc_loop),
31039 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
31040 (gst_basesrc_stop), (gst_basesrc_activate),
31041 (gst_basesrc_change_state), (basesrc_find_peek),
31042 (basesrc_find_suggest), (gst_basesrc_type_find):
31043 * gst/base/gstbasesrc.h:
31044 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
31045 (gst_filesrc_class_init), (gst_filesrc_init),
31046 (gst_filesrc_finalize), (gst_filesrc_set_location),
31047 (gst_filesrc_set_property), (gst_filesrc_get_property),
31048 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
31049 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
31050 (gst_filesrc_create_read), (gst_filesrc_create),
31051 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
31052 * gst/elements/gstfilesrc.h:
31053 * gst/gstelement.c: (gst_element_get_state_func),
31054 (gst_element_lost_state), (gst_element_pads_activate):
31055 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31056 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
31057 (gst_pad_pull_range):
31058 * gst/gstpad.h:
31059 More work on the generic source base class, implement seeking,
31060 query.
31061 Make filesrc extend the base source class.
31062 Added gst_pad_set_checkgetrange_function to GstPad.
31064 2005-04-06 Andy Wingo <wingo@pobox.com>
31066 * pkgconfig/gstreamer-base.pc.in:
31067 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31069 * pkgconfig/Makefile.am:
31070 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31072 2005-04-04 Wim Taymans <wim@fluendo.com>
31074 * gst/base/Makefile.am:
31075 * gst/base/README:
31076 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31077 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31078 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31079 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31080 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31081 (gst_basesrc_base_init), (gst_basesrc_class_init),
31082 (gst_basesrc_init), (gst_basesrc_get_formats),
31083 (gst_basesrc_get_query_types), (gst_basesrc_query),
31084 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31085 (gst_basesrc_set_property), (gst_basesrc_get_property),
31086 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31087 (gst_basesrc_loop), (gst_basesrc_activate),
31088 (gst_basesrc_change_state):
31089 * gst/base/gstbasesrc.h:
31090 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31091 (gst_fakesrc_class_init), (gst_fakesrc_init),
31092 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31093 (gst_fakesrc_get_property), (gst_fakesrc_create):
31094 * gst/elements/gstfakesrc.h:
31095 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31096 (gst_filesrc_open_file), (gst_filesrc_loop),
31097 (gst_filesrc_activate), (filesrc_find_peek),
31098 (gst_filesrc_type_find):
31099 Made base source class, make fakesrc extend it.
31100 Add comments to basesink class.
31101 Some filesrc cleanup.
31103 2005-03-31 David Schleef <ds@schleef.org>
31105 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31106 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31107 expected to link against libgstreamer.
31108 * gst/base/Makefile.am: link against libgstreamer
31109 * gst/elements/Makefile.am: same
31111 2005-03-31 Andy Wingo <wingo@pobox.com>
31113 * tests/instantiate/Makefile.am:
31114 * tests/instantiate/caps.c: Add test to test speed of caps copy
31115 and free.
31117 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31118 GMemChunk to be fair.
31120 * gst/gsttrashstack.h: Remove warning about using the fallback
31121 trash stack implementation, it's still faster than malloc.
31123 2005-03-30 Andy Wingo <wingo@pobox.com>
31125 * tests/complexity.c: Add a copyright.
31127 2005-03-31 Wim Taymans <wim@fluendo.com>
31129 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31130 (gst_base_transform_class_init), (gst_base_transform_init),
31131 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31132 (gst_base_transform_get_property),
31133 (gst_base_transform_sink_activate),
31134 (gst_base_transform_src_activate),
31135 (gst_base_transform_change_state):
31136 * gst/base/gstbasetransform.h:
31137 * gst/elements/gstidentity.c: (gst_identity_class_init),
31138 (gst_identity_event), (gst_identity_check_perfect),
31139 (gst_identity_transform), (gst_identity_start),
31140 (gst_identity_stop):
31141 Added start/stop methods to transform base class so subclasses
31142 don't need to deal with state changes even.
31144 2005-03-31 Wim Taymans <wim@fluendo.com>
31146 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31147 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31148 * gst/gstevent.h:
31149 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31150 (gst_pad_pull_range):
31151 Added rate to the discont event to prepare for variable speed
31152 and reverse playback.
31154 2005-03-29 David Schleef <ds@schleef.org>
31156 * configure.ac:
31157 * testsuite/trigger/Makefile.am:
31158 * testsuite/trigger/trigger.c: A little example program to show
31159 how trigger-based elements can work.
31161 2005-03-29 Wim Taymans <wim@fluendo.com>
31163 * gst/base/Makefile.am:
31164 * gst/base/README:
31165 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31166 (gst_basesink_base_init), (gst_basesink_class_init),
31167 (gst_basesink_pad_getcaps), (gst_basesink_init),
31168 (gst_basesink_activate), (gst_basesink_change_state):
31169 * gst/base/gstbasesink.h:
31170 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31171 (gst_base_transform_base_init), (gst_base_transform_finalize),
31172 (gst_base_transform_class_init), (gst_base_transform_init),
31173 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31174 (gst_base_transform_event), (gst_base_transform_getrange),
31175 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31176 (gst_base_transform_set_property),
31177 (gst_base_transform_get_property),
31178 (gst_base_transform_sink_activate),
31179 (gst_base_transform_src_activate),
31180 (gst_base_transform_change_state):
31181 * gst/base/gstbasetransform.h:
31182 * gst/elements/gstidentity.c: (gst_identity_finalize),
31183 (gst_identity_class_init), (gst_identity_init),
31184 (gst_identity_event), (gst_identity_check_perfect),
31185 (gst_identity_transform), (gst_identity_set_property),
31186 (gst_identity_get_property), (gst_identity_change_state):
31187 * gst/elements/gstidentity.h:
31188 * gst/gstelement.c: (gst_element_get_state_func),
31189 (gst_element_lost_state), (gst_element_pads_activate):
31190 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31191 (gst_pad_check_pull_range), (gst_pad_pull_range):
31192 * gst/gstpad.h:
31193 Simplify pad activation.
31194 Added function to check if pull_range can be performed.
31195 Error out when pulling inactive or flushing pads.
31196 Removed const from refcounted types as it does not make sense.
31197 Simplify pad templates in basesink
31198 Added base class for simple 1-to-1 transforms.
31199 Make identity subclass the base transform.
31201 2005-03-29 Andy Wingo <wingo@pobox.com>
31203 * docs/libs/gstreamer-libs-overrides.txt:
31204 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31205 really don't understand what's going on, but like whatever. I want
31206 green buildbot!
31208 * docs/gst/Makefile.am:
31209 * docs/libs/Makefile.am: Dist the overrides files.
31211 * check/Makefile.am (clean-local): Remove .libs directories.
31213 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31214 elements to EXTRA_DIST, so po/ files are happy.
31216 * po/POTFILES.in: Er, remove it here.
31218 * po/POTFILES: Remove gstspider.c.
31220 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31222 * docs/libs/gstreamer-libs-docs.sgml:
31223 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31224 bytestream.
31226 * tests/complexity.c (main): Set the length of the preroll queue
31227 on the sinks to prevent a lockup.
31229 * libs/gst/dataprotocol/Makefile.am:
31230 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31231 the same as the one in check/gst-libs/gdp.c.
31233 * po/, docs/gst/: Commit automatic changes to docs and po files.
31235 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31236 the versioned libgstbase.
31238 * check/Makefile.am: Depend on an unversioned gst-register, seems
31239 to make autoconf happier.
31241 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31243 2005-03-28 Wim Taymans <wim@fluendo.com>
31245 * configure.ac:
31246 * docs/design/part-gstelement.txt:
31247 * docs/design/part-negotiation.txt:
31248 * docs/design/part-preroll.txt:
31249 * docs/design/part-scheduling.txt:
31250 * docs/design/part-states.txt:
31251 * gst/Makefile.am:
31252 * gst/base/Makefile.am:
31253 * gst/base/README:
31254 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31255 (gst_basesink_base_init), (gst_basesink_class_init),
31256 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31257 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31258 (gst_basesink_set_pad_functions),
31259 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31260 (gst_basesink_set_property), (gst_basesink_get_property),
31261 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31262 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31263 (gst_basesink_preroll_queue_push),
31264 (gst_basesink_preroll_queue_empty),
31265 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31266 (gst_basesink_event), (gst_basesink_get_times),
31267 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31268 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31269 (gst_basesink_loop), (gst_basesink_activate),
31270 (gst_basesink_change_state):
31271 * gst/base/gstbasesink.h:
31272 * gst/elements/Makefile.am:
31273 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31274 (gst_fakesink_class_init), (gst_fakesink_init),
31275 (gst_fakesink_set_property), (gst_fakesink_get_property),
31276 (gst_fakesink_get_times), (gst_fakesink_event),
31277 (gst_fakesink_preroll), (gst_fakesink_render),
31278 (gst_fakesink_change_state):
31279 * gst/elements/gstfakesink.h:
31280 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31281 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31282 * gst/gstelement.c: (gst_element_add_pad),
31283 (gst_element_get_state_func), (gst_element_abort_state),
31284 (gst_element_commit_state), (gst_element_lost_state),
31285 (gst_element_set_state), (gst_element_pads_activate):
31286 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31287 * gst/gstpipeline.c: (gst_pipeline_send_event),
31288 (gst_pipeline_change_state):
31289 Added state change code.
31290 Added/updated docs.
31291 Added sink base class, make fakesink extend the base class.
31292 Small cleanups in GstPipeline.
31294 2005-03-26 David Schleef <ds@schleef.org>
31296 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31297 is broken and should be implemented in a different library.
31298 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31299 * gst/gst.h: remove gstcpu.h
31300 * gst/gstcpu.c: remove
31301 * gst/gstcpu.h: remove
31302 * gst/Makefile.am.future: Remove this file. It's ancient.
31304 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31306 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31307 (gst_bin_send_event):
31308 Add default event/set_manager handlers. The set_manager handler
31309 takes care that the manager is distributed over kids that were
31310 already in the bin before the manager was set. The event handler
31311 is a utility virtual function that sends the event over all sinks,
31312 so that gst_element_send_event (bin, event); has the expected
31313 behaviour.
31314 * gst/gstpad.c: (gst_pad_event_default):
31315 Re-install default event handling for discontinuities, so that
31316 seeking works without requiring hacks in applications or extra
31317 code in sinks.
31318 * gst/gstpipeline.c: (gst_pipeline_class_init),
31319 (gst_pipeline_send_event):
31320 Half hack, half utility: set a pipeline to PAUSED for seek events,
31321 since that is the only way we can guarantee a/v sync. Means that
31322 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31323 and it "just works".
31325 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31327 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31328 Lock/unlock mismatch.
31330 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31332 * docs/faq/gst-uninstalled:
31333 add gst-plugins-base
31334 * docs/gst/Makefile.am:
31335 don't error out until docs are fixed
31336 * docs/gst/gstreamer.types:
31337 remove thread
31339 2005-03-22 Wim Taymans <wim@fluendo.com>
31341 * check/Makefile.am:
31342 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31343 * gst/gststructure.c: (gst_structure_set_valist),
31344 (gst_structure_copy_conditional):
31345 Activated more tests.
31346 Added message test.
31347 Added G_TYPE_POINTER to GstStructure.
31350 2005-03-22 Wim Taymans <wim@fluendo.com>
31352 * docs/design/part-TODO.txt:
31353 * docs/design/part-events.txt:
31354 * docs/design/part-gstbin.txt:
31355 * docs/design/part-gstbus.txt:
31356 * docs/design/part-gstpipeline.txt:
31357 * docs/design/part-messages.txt:
31358 * gst/gstbus.c:
31359 * gst/gstmessage.c:
31360 Docs updates
31362 2005-03-21 Wim Taymans <wim@fluendo.com>
31364 * gst/gstbus.c: (gst_bus_post):
31365 Fix copy-and-paste error.
31367 2005-03-21 Wim Taymans <wim@fluendo.com>
31369 * check/Makefile.am:
31370 * gst/Makefile.am:
31371 * gst/elements/Makefile.am:
31372 * gst/elements/gstelements.c:
31373 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31374 (gst_fakesink_event), (gst_fakesink_chain):
31375 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31376 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31377 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31378 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31379 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31380 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31381 (gst_fakesrc_loop), (gst_fakesrc_activate),
31382 (gst_fakesrc_change_state):
31383 * gst/elements/gstfakesrc.h:
31384 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31385 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31386 (gst_filesrc_open_file), (gst_filesrc_loop),
31387 (gst_filesrc_activate), (gst_filesrc_change_state),
31388 (filesrc_find_peek), (filesrc_find_suggest),
31389 (gst_filesrc_type_find):
31390 * gst/elements/gstidentity.c: (gst_identity_finalize),
31391 (gst_identity_class_init), (gst_identity_init),
31392 (gst_identity_proxy_getcaps), (identity_queue_push),
31393 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31394 (gst_identity_getrange), (gst_identity_chain),
31395 (gst_identity_sink_loop), (gst_identity_src_loop),
31396 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31397 (gst_identity_set_property), (gst_identity_get_property),
31398 (gst_identity_change_state):
31399 * gst/elements/gstidentity.h:
31400 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31401 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31402 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31403 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31404 (gst_tee_sink_activate):
31405 * gst/elements/gsttee.h:
31406 * gst/gst.c: (gst_register_core_elements), (init_post):
31407 * gst/gst.h:
31408 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31409 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31410 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31411 (gst_bin_change_state):
31412 * gst/gstbin.h:
31413 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31414 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31415 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31416 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31417 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31418 (bus_watch_callback), (bus_watch_destroy),
31419 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31420 (poll_timeout), (gst_bus_poll):
31421 * gst/gstbus.h:
31422 * gst/gstcaps.h:
31423 * gst/gstdata.h:
31424 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31425 (gst_element_post_message), (gst_element_message_full),
31426 (gst_element_get_state_func), (gst_element_get_state),
31427 (gst_element_abort_state), (gst_element_commit_state),
31428 (gst_element_lost_state), (gst_element_set_state),
31429 (gst_element_pads_activate), (gst_element_change_state),
31430 (gst_element_dispose), (gst_element_set_manager_func),
31431 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31432 (gst_element_set_manager), (gst_element_get_manager),
31433 (gst_element_set_bus), (gst_element_get_bus),
31434 (gst_element_set_scheduler), (gst_element_get_scheduler):
31435 * gst/gstelement.h:
31436 * gst/gstevent.c: (gst_event_new_segment_seek),
31437 (gst_event_new_flush):
31438 * gst/gstevent.h:
31439 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31440 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31441 (gst_message_new_eos), (gst_message_new_error),
31442 (gst_message_new_warning), (gst_message_new_tag),
31443 (gst_message_new_state_changed), (gst_message_new_application),
31444 (gst_message_get_structure), (gst_message_parse_tag),
31445 (gst_message_parse_state_changed), (gst_message_parse_error),
31446 (gst_message_parse_warning):
31447 * gst/gstmessage.h:
31448 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31449 (gst_real_pad_set_property), (gst_pad_set_active),
31450 (gst_pad_is_active), (gst_pad_set_blocked_async),
31451 (gst_pad_set_blocked), (gst_pad_is_blocked),
31452 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31453 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31454 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31455 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31456 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31457 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31458 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31459 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31460 (gst_pad_set_caps), (gst_pad_configure_sink),
31461 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31462 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31463 (gst_real_pad_dispose), (gst_real_pad_finalize),
31464 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31465 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31466 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31467 * gst/gstpad.h:
31468 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31469 (pipeline_bus_handler), (gst_pipeline_change_state),
31470 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31471 * gst/gstpipeline.h:
31472 * gst/gstprobe.h:
31473 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31474 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31475 (gst_queue_link_src), (gst_queue_bufferalloc),
31476 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31477 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31478 (gst_queue_loop), (gst_queue_handle_src_event),
31479 (gst_queue_handle_src_query), (gst_queue_src_activate),
31480 (gst_queue_change_state):
31481 * gst/gstqueue.h:
31482 * gst/gstscheduler.c: (gst_scheduler_init),
31483 (gst_scheduler_dispose), (gst_scheduler_create_task),
31484 (gst_scheduler_factory_create):
31485 * gst/gstscheduler.h:
31486 * gst/gststructure.c: (gst_structure_get_type),
31487 (gst_structure_copy_conditional):
31488 * gst/gststructure.h:
31489 * gst/gsttaginterface.h:
31490 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31491 (gst_task_init), (gst_task_dispose), (gst_task_create),
31492 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31493 (gst_task_pause):
31494 * gst/gsttask.h:
31495 * gst/gstthread.c:
31496 * gst/gstthread.h:
31497 * gst/gsttypes.h:
31498 * gst/schedulers/Makefile.am:
31499 * gst/schedulers/cothreads_compat.h:
31500 * gst/schedulers/entryscheduler.c:
31501 * gst/schedulers/faircothreads.c:
31502 * gst/schedulers/faircothreads.h:
31503 * gst/schedulers/fairscheduler.c:
31504 * gst/schedulers/gstbasicscheduler.c:
31505 * gst/schedulers/gstoptimalscheduler.c:
31506 * gst/schedulers/gthread-cothreads.h:
31507 * gst/schedulers/threadscheduler.c:
31508 (gst_thread_scheduler_task_get_type),
31509 (gst_thread_scheduler_task_class_init),
31510 (gst_thread_scheduler_task_init),
31511 (gst_thread_scheduler_task_start),
31512 (gst_thread_scheduler_task_stop),
31513 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31514 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31515 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31516 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31517 (plugin_init):
31518 * libs/gst/Makefile.am:
31519 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31520 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31521 (gst_file_pad_parent_set):
31522 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31523 (gst_dp_event_from_packet):
31524 * tests/complexity.c: (main):
31525 * tests/mass_elements.c: (main):
31526 * testsuite/states/locked.c: (message_received), (main):
31527 * testsuite/states/parent.c: (main):
31528 * tools/gst-inspect.c: (print_element_flag_info),
31529 (print_implementation_info), (print_pad_info):
31530 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31531 (main):
31532 * tools/gst-md5sum.c: (event_loop), (main):
31533 * tools/gst-typefind.c: (main):
31534 * tools/gst-xmlinspect.c: (print_element_info):
31535 Next big merge.
31536 Added GstBus for mainloop integration.
31537 Added GstMessage for sending notifications on the bus.
31538 Added GstTask as an abstraction for pipeline entry points.
31539 Removed GstThread.
31540 Removed Schedulers.
31541 Simplified GstQueue for multithreaded core.
31542 Made _link threadsafe, removed old capsnego.
31543 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31544 Added pad blocking functions.
31545 Reworked scheduling functions in GstPad to prepare for
31546 scheduling updates soon.
31547 Moved events out of data stream.
31548 Simplified GstEvent types.
31549 Added return values to push/pull.
31550 Removed clocking from GstElement.
31551 Added prototypes for state change function for next merge.
31552 Removed iterate from bins and state change management.
31553 Fixed some elements, disabled others for now.
31554 Fixed -inspect and -launch.
31555 Added check for GstBus.
31557 2005-03-10 Wim Taymans <wim@fluendo.com>
31559 * docs/design/part-MT-refcounting.txt:
31560 * docs/design/part-clocks.txt:
31561 * docs/design/part-gstelement.txt:
31562 * docs/design/part-gstobject.txt:
31563 * docs/design/part-standards.txt:
31564 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31565 (gst_bin_remove_func), (gst_bin_remove):
31566 * gst/gstbin.h:
31567 * gst/gstbuffer.c:
31568 * gst/gstcaps.h:
31569 * testsuite/clock/clock1.c: (main):
31570 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31571 (main):
31572 * testsuite/dlopen/loadgst.c: (do_test):
31573 * testsuite/refcounting/bin.c: (add_remove_test1),
31574 (add_remove_test2), (main):
31575 * testsuite/refcounting/element.c: (main):
31576 * testsuite/refcounting/element_pad.c: (main):
31577 * testsuite/refcounting/pad.c: (main):
31578 * tools/gst-launch.c: (sigint_handler_sighandler):
31579 * tools/gst-typefind.c: (main):
31580 Doc updates.
31581 Added doc about clock.
31582 removed gst_bin_iterate_recurse_up(), marked methods
31583 for removal.
31584 Fix more testsuites.
31586 2005-03-09 Wim Taymans <wim@fluendo.com>
31588 * gst/gstpad.c: (gst_pad_get_direction),
31589 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31590 (gst_pad_collect_valist):
31591 * testsuite/bins/interface.c: (main):
31592 * testsuite/caps/audioscale.c: (test_caps):
31593 * testsuite/caps/caps.c: (test1), (test2), (test3):
31594 * testsuite/caps/deserialize.c: (main):
31595 * testsuite/caps/enumcaps.c: (main):
31596 * testsuite/caps/filtercaps.c: (main):
31597 * testsuite/caps/intersect2.c: (main):
31598 * testsuite/caps/random.c: (main):
31599 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31600 * testsuite/caps/sets.c: (check_caps):
31601 * testsuite/caps/simplify.c: (check_caps), (main):
31602 * testsuite/caps/subtract.c: (check_caps):
31603 Fix _pad_get_direction wrt ghostpads.
31604 Fix caps testsuite.
31606 2005-03-09 Wim Taymans <wim@fluendo.com>
31608 * check/Makefile.am:
31609 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31610 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31611 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31612 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31613 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31614 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31615 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31616 (bin_element_is_sink), (gst_bin_iterate_sinks),
31617 (gst_bin_iterate_all_by_interface):
31618 * gst/gstbin.h:
31619 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31620 (gst_element_change_state), (gst_element_dispose),
31621 (gst_element_finalize), (gst_element_set_loop_function):
31622 * gst/gstelement.h:
31623 * gst/gstiterator.c: (find_custom_fold_func):
31624 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31625 (gst_pad_collectv), (gst_pad_collect_valist),
31626 (gst_pad_template_new):
31627 * gst/gstpipeline.c: (gst_pipeline_class_init),
31628 (gst_pipeline_dispose), (gst_pipeline_set_property),
31629 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31630 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31631 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31632 * gst/gstutils.h:
31633 * gst/schedulers/entryscheduler.c:
31634 * gst/schedulers/gstbasicscheduler.c:
31635 (gst_basic_scheduler_cothreaded_chain),
31636 (gst_basic_scheduler_chain_add_element):
31637 * testsuite/bins/interface.c: (main):
31638 Added GstBin test.
31639 Added GstSystemClock test.
31640 Implemented clock distribution code in GstBin.
31641 Implemented iterate sinks method for future use.
31642 Rearranged gstelement.h
31643 Fix GstIterator comparison bug.
31644 Moved some code to GstPipeline, mostly clocking related.
31646 2005-03-09 Wim Taymans <wim@fluendo.com>
31648 * configure.ac:
31649 * gst/gst_private.h:
31650 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31651 (gst_bin_remove_func), (gst_bin_remove),
31652 (gst_bin_get_by_name_recurse_up):
31653 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31654 (gst_clock_id_compare_func), (gst_clock_id_wait),
31655 (gst_clock_id_wait_async), (gst_clock_init),
31656 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31657 * gst/gstelement.h:
31658 * gst/gstinfo.c: (_gst_debug_init):
31659 * gst/gstobject.h:
31660 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31661 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31662 * gst/gstpad.h:
31663 Bump version number, we're now 0.9.0
31664 Add future debugging category.
31665 Fix NULL _unref() in _get_by_name_recurse_up
31666 Rearrange gstpad.h.
31667 Update some docs.
31669 2005-03-08 Wim Taymans <wim@fluendo.com>
31671 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31672 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31673 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31674 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31675 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31676 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31677 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31678 * gst/elements/gstidentity.c: (gst_identity_class_init):
31679 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31680 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31681 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31682 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31683 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31684 (gst_tee_link):
31685 * gst/gstelement.c: (gst_element_class_init),
31686 (gst_element_base_class_init), (gst_element_init),
31687 (gst_element_get_random_pad), (gst_element_wait_state_change),
31688 (gst_element_change_state), (gst_element_dispose),
31689 (gst_element_finalize), (gst_element_set_loop_function):
31690 * gst/gstelement.h:
31691 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31692 * gst/gstthread.c: (gst_thread_class_init),
31693 (gst_thread_release_children_locks), (gst_thread_change_state):
31694 * gst/schedulers/gstbasicscheduler.c:
31695 (gst_basic_scheduler_loopfunc_wrapper),
31696 (gst_basic_scheduler_chain_wrapper),
31697 (gst_basic_scheduler_src_wrapper),
31698 (gst_basic_scheduler_remove_element):
31699 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31700 Remove threadsafe properties. Fix elements because GObject
31701 complains when installing a property before declaring a
31702 set/get_property handler.
31703 Rearrange gstelement.h file, use STATE macros for state locks.
31704 Free mutexes in the finalize method instead of dispose.
31706 2005-03-08 Wim Taymans <wim@fluendo.com>
31708 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31709 * gst/gstthread.c: (gst_thread_release_children_locks):
31710 Added parentage check.
31711 Fix build og GstThread again.
31713 2005-03-08 Wim Taymans <wim@fluendo.com>
31715 * docs/design/part-MT-refcounting.txt:
31716 * docs/design/part-conventions.txt:
31717 * docs/design/part-gstobject.txt:
31718 * docs/design/part-relations.txt:
31719 * docs/design/part-standards.txt:
31720 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31721 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31722 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31723 (gst_bin_iterate_all_by_interface):
31724 * gst/gstbuffer.h:
31725 * gst/gstclock.h:
31726 * gst/gstelement.c: (gst_element_class_init),
31727 (gst_element_change_state), (gst_element_set_loop_function):
31728 * gst/gstelement.h:
31729 * gst/gstiterator.c:
31730 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31731 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31732 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31733 (gst_object_set_parent), (gst_object_unparent),
31734 (gst_object_check_uniqueness):
31735 * gst/gstobject.h:
31736 Docs updates, clean up some headers.
31738 2005-03-07 Wim Taymans <wim@fluendo.com>
31740 * check/.cvsignore:
31741 * check/Makefile.am:
31742 * check/gst-libs/.cvsignore:
31743 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31744 * check/gst/.cvsignore:
31745 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31746 (START_TEST), (gstbus_suite), (main):
31747 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31748 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31749 (gst_data_suite), (main):
31750 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31751 (add_fold_func), (gstiterator_suite), (main):
31752 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31753 (thread_name_object), (thread_name_object_default),
31754 (gst_object_name_compare), (gst_object_suite), (main):
31755 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31756 (gst_pad_suite), (main):
31757 * check/gstcheck.c: (gst_check_log_message_func),
31758 (gst_check_log_critical_func), (gst_check_init):
31759 * check/gstcheck.h:
31760 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31761 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31762 Added checks.
31764 2005-03-07 Wim Taymans <wim@fluendo.com>
31766 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31767 (gst_list_iterator_next), (gst_list_iterator_resync),
31768 (gst_list_iterator_free), (gst_iterator_new_list),
31769 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31770 (gst_iterator_free), (gst_iterator_push), (filter_next),
31771 (filter_resync), (filter_uninit), (filter_free),
31772 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31773 (gst_iterator_foreach), (find_custom_fold_func),
31774 (gst_iterator_find_custom):
31775 * gst/gstiterator.h:
31776 Added missing files.
31778 2005-03-07 Wim Taymans <wim@fluendo.com>
31780 * Makefile.am:
31781 * configure.ac:
31782 * docs/design/part-MT-refcounting.txt:
31783 * docs/design/part-conventions.txt:
31784 * docs/design/part-gstobject.txt:
31785 * docs/design/part-relations.txt:
31786 * examples/mixer/mixer.c: (main):
31787 * examples/thread/thread.c: (eos), (main):
31788 * gst/Makefile.am:
31789 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31790 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31791 (gst_spider_plug_from_srcpad):
31792 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31793 (gst_spider_identity_change_state),
31794 (gst_spider_identity_sink_loop_type_finding):
31795 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31796 * gst/elements/gstidentity.c: (gst_identity_init):
31797 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31798 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31799 * gst/elements/gsttypefindelement.c: (free_entry):
31800 * gst/gst.c:
31801 * gst/gst.h:
31802 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31803 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31804 (gst_bin_set_index), (gst_bin_set_element_sched),
31805 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31806 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31807 (gst_bin_iterate_elements), (iterate_child_recurse),
31808 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31809 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31810 (compare_interface), (gst_bin_get_by_interface),
31811 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31812 * gst/gstbin.h:
31813 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31814 (gst_buffer_default_free), (gst_buffer_default_copy),
31815 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31816 (gst_buffer_create_sub):
31817 * gst/gstbuffer.h:
31818 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31819 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31820 (gst_caps_unref), (gst_static_caps_get),
31821 (gst_caps_remove_and_get_structure), (gst_caps_append),
31822 (gst_caps_append_structure), (gst_caps_remove_structure),
31823 (gst_caps_copy_nth), (gst_caps_set_simple),
31824 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31825 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31826 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31827 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31828 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31829 (gst_caps_structure_figure_out_union),
31830 (gst_caps_switch_structures), (gst_caps_do_simplify),
31831 (gst_caps_replace), (gst_caps_from_string),
31832 (gst_caps_copy_conditional):
31833 * gst/gstcaps.h:
31834 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31835 (_gst_clock_id_free), (gst_clock_id_unref),
31836 (gst_clock_id_compare_func), (gst_clock_id_wait),
31837 (gst_clock_id_wait_async), (gst_clock_class_init),
31838 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31839 (gst_clock_get_time), (gst_clock_set_time_adjust),
31840 (gst_clock_set_property), (gst_clock_get_property):
31841 * gst/gstclock.h:
31842 * gst/gstcompat.h:
31843 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31844 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31845 * gst/gstdata.h:
31846 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31847 (gst_element_requires_clock), (gst_element_provides_clock),
31848 (gst_element_set_clock), (gst_element_clock_wait),
31849 (gst_element_wait), (gst_element_set_time_delay),
31850 (gst_element_is_indexable), (gst_element_add_pad),
31851 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31852 (pad_compare_name), (gst_element_get_static_pad),
31853 (gst_element_request_pad), (gst_element_get_request_pad),
31854 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31855 (gst_element_class_get_pad_template_list),
31856 (gst_element_class_get_pad_template), (gst_element_error_func),
31857 (gst_element_get_random_pad), (gst_element_get_event_masks),
31858 (gst_element_send_event), (gst_element_seek),
31859 (gst_element_get_query_types), (gst_element_query),
31860 (gst_element_get_formats), (gst_element_convert),
31861 (gst_element_is_locked_state), (gst_element_set_locked_state),
31862 (gst_element_sync_state_with_parent), (gst_element_change_state),
31863 (gst_element_finalize), (gst_element_yield),
31864 (gst_element_interrupt), (gst_element_set_scheduler),
31865 (gst_element_get_scheduler), (gst_element_set_loop_function):
31866 * gst/gstelement.h:
31867 * gst/gstevent.h:
31868 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31869 (gst_format_get_by_nick), (gst_format_get_details),
31870 (gst_format_iterate_definitions):
31871 * gst/gstformat.h:
31872 * gst/gstindex.c: (gst_index_gtype_resolver):
31873 * gst/gstinfo.c:
31874 * gst/gstinfo.h:
31875 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31876 (gst_mem_chunk_free):
31877 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31878 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31879 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31880 (gst_object_dispatch_properties_changed),
31881 (gst_object_set_name_default), (gst_object_set_name),
31882 (gst_object_get_name), (gst_object_set_name_prefix),
31883 (gst_object_get_name_prefix), (gst_object_set_parent),
31884 (gst_object_get_parent), (gst_object_unparent),
31885 (gst_object_check_uniqueness), (gst_object_save_thyself),
31886 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31887 (gst_object_set_property), (gst_object_get_property),
31888 (gst_object_get_path_string):
31889 * gst/gstobject.h:
31890 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31891 (gst_real_pad_init), (gst_real_pad_get_property),
31892 (gst_pad_custom_new), (gst_pad_get_direction),
31893 (gst_pad_set_active), (gst_pad_is_active),
31894 (gst_pad_set_event_function), (gst_pad_is_linked),
31895 (gst_pad_link_free), (gst_pad_link_intersect),
31896 (gst_pad_link_fixate), (gst_pad_set_caps),
31897 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31898 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31899 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31900 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31901 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31902 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31903 (gst_pad_realize), (gst_pad_get_allowed_caps),
31904 (gst_real_pad_dispose), (gst_real_pad_finalize),
31905 (gst_pad_collectv), (gst_pad_collect_valist),
31906 (gst_pad_template_dispose), (gst_pad_template_new),
31907 (gst_pad_get_internal_links):
31908 * gst/gstpad.h:
31909 * gst/gstpipeline.c: (gst_pipeline_dispose),
31910 (gst_pipeline_change_state):
31911 * gst/gstpipeline.h:
31912 * gst/gstplugin.c:
31913 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31914 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31915 * gst/gstpluginfeature.h:
31916 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31917 * gst/gstquery.c: (_gst_query_type_initialize),
31918 (gst_query_type_register), (gst_query_type_get_by_nick),
31919 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31920 * gst/gstquery.h:
31921 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31922 * gst/gstscheduler.c: (gst_scheduler_add_element),
31923 (gst_scheduler_factory_create):
31924 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31925 (gst_structure_free), (gst_structure_set_name),
31926 (gst_structure_id_set_value), (gst_structure_set_value),
31927 (gst_structure_set_valist), (gst_structure_remove_field),
31928 (gst_structure_remove_fields),
31929 (gst_structure_remove_fields_valist),
31930 (gst_structure_remove_all_fields), (gst_structure_foreach),
31931 (gst_structure_map_in_place),
31932 (gst_caps_structure_fixate_field_nearest_int),
31933 (gst_caps_structure_fixate_field_nearest_double):
31934 * gst/gststructure.h:
31935 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31936 (gst_system_clock_init), (gst_system_clock_dispose),
31937 (gst_system_clock_async_thread),
31938 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31939 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31940 * gst/gstsystemclock.h:
31941 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31942 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31943 * gst/gsttaginterface.c:
31944 * gst/gstthread.c: (gst_thread_dispose),
31945 (gst_thread_release_children_locks), (gst_thread_change_state),
31946 (gst_thread_main_loop):
31947 * gst/gsttrashstack.h:
31948 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31949 * gst/gsttypes.h:
31950 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31951 (gst_element_request_pad), (gst_element_get_pad_from_template),
31952 (gst_element_request_compatible_pad),
31953 (gst_element_get_compatible_pad_filtered),
31954 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31955 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31956 (gst_element_link_many), (gst_element_link),
31957 (gst_element_link_pads), (gst_element_unlink_pads),
31958 (gst_element_unlink_many), (gst_element_unlink),
31959 (gst_pad_can_link_filtered), (gst_pad_can_link),
31960 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31961 (gst_object_default_error), (gst_bin_add_many),
31962 (gst_bin_remove_many), (gst_element_populate_std_props),
31963 (gst_element_class_install_std_props), (gst_buffer_merge),
31964 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31965 (link_fold_func), (gst_pad_proxy_setcaps):
31966 * gst/gstutils.h:
31967 * gst/gstvalue.c: (gst_value_deserialize_string):
31968 * gst/parse/grammar.y:
31969 * gst/schedulers/gstbasicscheduler.c:
31970 (gst_basic_scheduler_cothreaded_chain),
31971 (gst_basic_scheduler_chain_recursive_add),
31972 (gst_basic_scheduler_pad_link):
31973 * gst/schedulers/gstoptimalscheduler.c:
31974 (get_group_schedule_function),
31975 (gst_opt_scheduler_state_transition),
31976 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31977 * libs/gst/bytestream/bytestream.c:
31978 * libs/gst/dataprotocol/dataprotocol.c:
31979 (gst_dp_header_from_buffer):
31980 * po/nb.po:
31981 * po/ru.po:
31982 * tests/threadstate/threadstate2.c: (eos):
31983 * tools/gst-compprep.c: (main):
31984 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31985 (print_pad_info), (print_children_info):
31986 * tools/gst-launch.c: (idle_func), (main):
31987 * tools/gst-md5sum.c: (idle_func), (main):
31988 * tools/gst-xmlinspect.c: (print_element_info):
31989 First THREADED backport attempt, focusing on adding locks and
31990 making sure the API is threadsafe. Needs more work. More docs
31991 follow this week.
31993 2005-02-24 Andy Wingo <wingo@pobox.com>
31995 * tests/bench-complexity.scm:
31996 * tests/complexity.gnuplot: New files, good for running complexity
31997 benchmarks.
31999 * tests/Makefile.am:
32000 * tests/complexity.c: New test, sets up N elements, at each level
32001 teeing into M streams per element. Eeeenteresting.
32003 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
32004 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
32005 running bench-mass_elements.scm.
32007 * tests/bench-mass_elements.scm: New script, runs mass_elements
32008 for various numbers of identities, outputting the results to a
32009 file. Requires guile 1.6. Just for testing.
32011 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
32013 * gst/schedulers/fairscheduler.c:
32014 compile with debug disabled
32016 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
32018 * configure.ac:
32019 hunting season on 0.9 is now OPEN