1 2008-11-21 Wim Taymans <wim.taymans@collabora.co.uk>
3 * tools/gst-launch.c: (event_loop):
4 Make gst-launch handle LATENCY messages and make it recalculate the
7 2008-11-20 Michael Smith <msmith@songbirdnest.com>
9 * plugins/elements/gstfilesrc.c:
10 Use g_filename_from_uri() for URI parsing in filesrc rather than rolling
11 out own slightly incorrect version. Fixes use of some paths on
14 2008-11-20 Michael Smith <msmith@songbirdnest.com>
16 * gst/gstregistrybinary.c:
17 In win32 codepath, if we fail to write the registry, create the
18 directory for it and try again, matching the behaviour in non-win32
21 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
23 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_render_delay):
24 Changing the render delay changes the latency and so we must post a
27 2008-11-20 Wim Taymans <wim.taymans@collabora.co.uk>
31 Add GstQueryType for custom queries instead of having to use the
32 not-so-very-convenient registration infrastructure to register new
35 2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
37 Patch by: Andrew Feren <acferen at yahoo dot com>
39 * gst/gstobject.c: (gst_object_default_deep_notify):
40 Unref the GEnumClass after usage again. Fixes bug #561501.
42 2008-11-19 Wim Taymans <wim.taymans@collabora.co.uk>
44 * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
45 (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
46 (gst_bin_change_state_func):
48 Add do-latency signal with the old default fallback implementation. This
49 allows for custom latency calculations for when the default is not
51 API: GstBin::do-latency signal.
53 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
55 * win32/common/libgstreamer.def:
56 Add new symbols to .def file.
58 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
60 * docs/gst/gstreamer-sections.txt:
61 * gst/gstbin.c: (gst_bin_recalculate_latency),
62 (gst_bin_change_state_func):
64 Add method to recalculate and redistribute the latency on a bin.
65 API: gst_bin_recalculate_latency().
67 2008-11-18 Wim Taymans <wim.taymans@collabora.co.uk>
70 Document the free_func.
72 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
74 * libs/gst/controller/gstinterpolation.c:
75 * libs/gst/controller/gstlfocontrolsource.c:
76 Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
77 as it is mapped to a cast on non-win32 platforms.
79 2008-11-17 Stefan Kost <ensonic@users.sf.net>
81 * libs/gst/controller/gstcontroller.c:
82 * libs/gst/controller/gstcontrollerprivate.h:
83 Keep last-value and only call set_property if value has changed. This
84 supresses all the g_object_notifies we would trigger otherwise. It
85 also allows the user to chage the value while there is no controller
88 2008-11-17 Stefan Kost <ensonic@users.sf.net>
91 Don't crash if either of the string GValues is empty.
93 2008-11-17 Andy Wingo <wingo@pobox.com>
95 * tools/gst-inspect.c (print_all_uri_handlers): New function,
96 prints a summary of what URI schemes are supported by what
98 (main): Plumb in support for --uri-handlers or -u, and fix the
99 argc check for -a and -u.
101 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
104 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
105 conversion functions.
107 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
109 * gst/gstbuffer.c: (gst_buffer_finalize):
110 Avoid costly typechecking for trivially correct pointers.
112 * gst/gstpoll.c: (gst_poll_wait):
113 Add some G_LIKELY here and there.
115 * libs/gst/base/gstadapter.c: (gst_adapter_push):
118 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
120 * docs/random/wtay/poll-timeout:
123 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
125 * tests/old/testsuite/caps/intersection.c: (main):
126 * tests/old/testsuite/plugin/loading.c: (main):
127 Remove references to deprecated API g_mem_chunk*.
130 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
132 * tools/gst-inspect.c: (main):
133 Add --plugin option. Fixes #560301.
135 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
137 * docs/random/wtay/poll-timeout:
138 Quick braindump for a possible (not totally verified) atomic case.
140 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
142 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
143 (gst_registry_binary_initialize_magic),
144 (gst_registry_binary_write_cache),
145 (gst_registry_binary_check_magic):
146 * gst/gstregistrybinary.h:
147 Don't write and check a CRC for the binary registry file. It's
148 guaranteed that the registry is completely written (it's first written
149 to a temporary file and then moved) and if the registry was corrupted
150 by some hardware failure we would have bigger problems.
152 Bump binary registry version to 0.10.21.1 for this as it's an
153 incompatible change and to ensure that the registry gets rebuild
156 This saves some milliseconds for reading/writing the registry.
159 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
161 * docs/random/wtay/poll-timeout:
162 Some pseudo code for how we could implement clock timeouts with GstPoll.
164 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
166 * plugins/elements/gstfilesink.c:
167 Update Author string to match others.
169 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
171 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
172 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
173 being fixed and inline the trivial check.
175 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
177 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
178 (gst_caps_merge_structure), (gst_caps_get_structure),
179 (gst_caps_copy_nth), (gst_caps_set_simple),
180 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
181 (gst_caps_is_equal_fixed), (gst_caps_intersect),
182 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
183 (gst_caps_to_string):
184 Callgrind micro optimisations.
185 Avoid array bounds checks and force inline of trivial function.
187 * gst/gstobject.c: (gst_object_set_name_default):
188 -1 is equivalent to letting glib to the strlen but then there is more
189 room for optimisations and it's not our fault.
191 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
192 no need to clear the array, we're cool.
194 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
195 The most common _is_fixed() check is done on fundamental glib base
196 types so we check this first instead of doing a huge amount of
197 useless GST_TYPE_ARRAY calls.
199 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
202 Add a SKIP seek flag for use with advanced trickmodes.
203 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
205 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
207 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
208 No need to memset, we can clear the value ourselves.
210 * gst/gstvalue.c: (gst_type_is_fixed),
211 (gst_value_get_compare_func):
212 Some optimisations from a few callgrind sessions:
213 When checking if a type is fixed, check for trivial fundamental types
214 first before checking types for which we need to get the type followed
215 by the heavy duty type checks, this reduces the amount of
216 g_type_fundamental() calls a lot.
217 When getting the compare function, first check for our registered types.
218 If that fails, do the heavy duty g_type_is_a() checks, reduces the
219 amount of g_type_is_a() considerably.
221 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
223 * docs/design/part-TODO.txt:
224 Mumble something about removing GstXML.
226 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
228 * gst/gstbin.c: (gst_bin_handle_message_func):
229 Get the seqnum before we dispose the message.
231 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
233 * docs/design/part-TODO.txt:
234 Refer to the framestepping document.
236 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
238 * gst/gstbin.c: (bin_handle_async_start),
239 (gst_bin_handle_message_func), (gst_bin_query):
240 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
241 (gst_base_sink_event), (gst_base_sink_change_state):
242 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
243 (gst_base_src_loop), (gst_base_src_change_state):
244 Copy seqnums from events to messages so that they can all be related
247 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
249 * tools/gst-launch.c: (event_loop):
250 Print the message seqnums.
252 2008-11-04 Andy Wingo <wingo@pobox.com>
254 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
256 2008-11-04 Andy Wingo <wingo@pobox.com>
258 Add sequence numbers to events and messages. See #559250.
260 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
264 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
265 events with a new sequence number, and copy it when copying.
266 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
267 an event's sequence number.
270 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
271 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
274 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
276 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
278 * docs/manual/advanced-position.xml:
279 * docs/manual/basics-bins.xml:
280 * docs/manual/basics-bus.xml:
281 * docs/manual/basics-pads.xml:
282 * docs/manual/intro-gstreamer.xml:
283 * docs/manual/intro-preface.xml:
284 Some Application Development Manual fixes thanks to
285 Andrew Feren. Fixes #558459.
287 2008-11-03 Stefan Kost <ensonic@users.sf.net>
289 * gst/gstregistrybinary.c:
290 Don't bother with the GTimer if we don't output the results.
292 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
294 Patch by: David Schleef <ds@schleef.org>
296 * libs/gst/net/Makefile.am:
297 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
299 2008-10-31 Stefan Kost <ensonic@users.sf.net>
301 * gst/gstregistrybinary.c:
302 Oh my, studip, stupid me. Remove double stat() call.
304 2008-10-31 Stefan Kost <ensonic@users.sf.net>
307 Use g_unlink instead of unlink.
309 * gst/gststructure.c:
318 Formatting & whitespaces.
320 2008-10-31 Stefan Kost <ensonic@users.sf.net>
322 * plugins/elements/gstidentity.c:
323 Doc typo. Use return value of parent_class->event.
325 * plugins/elements/gsttypefindelement.c:
326 Chain up at the end for consistency.
328 2008-10-30 Stefan Kost <ensonic@users.sf.net>
331 * docs/gst/gstreamer-docs.sgml:
332 * docs/gst/gstreamer-sections.txt:
333 * docs/gst/running.xml:
334 * docs/libs/gstreamer-libs-docs.sgml:
335 Change to xinclude based build - its faster and easier to maintain.
337 2008-10-30 Stefan Kost <ensonic@users.sf.net>
339 * gst/gstregistrybinary.c:
340 * gst/gstregistryxml.c:
341 Use g_unlink() as none of these are directories.
343 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
345 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
348 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
350 * libs/gst/base/gstbasetransform.c:
351 (gst_base_transform_find_transform), (gst_base_transform_getrange):
352 If we have a fixate function, call it even if we already have fixed caps
353 because the subclass might add some caps. Makes audioconvert add a
354 default channel layout.
356 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
358 * libs/gst/base/gstbasetransform.c:
359 (gst_base_transform_prepare_output_buffer),
360 (gst_base_transform_getrange):
361 Clear the output buffer variable.
362 Cleanups to the error path in the getrange function.
365 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
367 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
368 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
369 Use gst_buffer_try_new_and_alloc() and handle errors instead of
370 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
373 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
375 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
376 Set the last_stop to a more meaningful position when configuring the
377 segment. ie. the start/stop of the segment or clipped against the
378 updated segment boundaries.
380 * tests/check/gst/gstsegment.c: (GST_START_TEST):
381 Add some unit tests for the last_stop.
383 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
385 * libs/gst/base/gstbytereader.c:
386 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
389 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
391 * docs/gst/gstreamer-sections.txt:
393 API: Move float endianness conversion macros from libgstfloatcast
394 to core as it's useful in general, even in core. Fixes bug #555196.
395 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
396 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
397 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
399 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
400 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
401 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
402 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
404 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
406 * docs/libs/gstreamer-libs-sections.txt:
407 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
408 (gst_byte_reader_peek_data):
409 * libs/gst/base/gstbytereader.h:
410 * win32/common/libgstbase.def:
411 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
412 to get a pointer to the data at the current position and have
415 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
418 Fix a bug in the output of the configure script summary
419 when --gst-disable-registry is supplied
421 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
423 * libs/gst/base/gstbitreader.c:
424 * libs/gst/base/gstbytereader.c:
425 Fix the names of 2 functions in the docs strings.
427 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
429 * libs/gst/base/gstbasetransform.c:
430 (gst_base_transform_prepare_output_buffer),
431 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
432 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
433 refcount problems as seen in banshee and maybe also in farsight2.
434 Remove atomic int now that we need to take the lock anyways.
436 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
438 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
439 (gst_base_sink_default_prepare_seek_segment),
440 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
441 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
442 (gst_base_sink_query):
443 Implement more seeking in pull mode.
444 Use pad convert functions to convert position to the requested format.
445 Fix position/duration reporting in pull mode.
446 Implement position and duration reporting in other formats than time.
448 * libs/gst/base/gstbasesink.h:
449 Add member to keep track of when the segment is playing.
451 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
453 * gst/gstpad.c: (gst_pad_configure_src):
454 When we use gst_pad_alloc_buffer() without wanting to set the caps we
455 also don't need to check if the caps are compatible because the caller
456 presumably is going to perform its own custom checks. Fixes some cases
457 where basetransform elements would error out when it was not needed.
459 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
461 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
464 * libs/gst/base/gstbasetransform.c:
465 (gst_base_transform_handle_buffer),
466 (gst_base_transform_reconfigure):
469 * win32/common/libgstbase.def:
472 2008-10-19 Stefan Kost <ensonic@users.sf.net>
474 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
475 Remove duplicated assignment and log a message in failure case.
477 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
479 Patch by: Dig Ge <dig.ge.cn at gmail com>
481 * tests/examples/helloworld/helloworld.c: (main):
482 Fix copy'n'paste bug in hello world example (#556900).
484 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
486 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
487 (gst_base_sink_query):
488 Query the total number of bytes when activating the pad in pull mode.
489 Implement duration query in pull mode by using the installed pad convert
490 function to convert from bytes to the requested format.
492 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
494 * docs/libs/gstreamer-libs-sections.txt:
495 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
496 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
497 (gst_base_sink_event), (gst_base_sink_perform_seek),
498 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
499 (gst_base_sink_send_event), (gst_base_sink_change_state):
500 * libs/gst/base/gstbasesink.h:
501 Add method to commit the state in subclasses.
502 Refactor the flush_start and flush_stop code because we need it for
503 flushing while seeking too.
504 Implement the beginnings of seeking in pull mode.
505 Use the segment last_stop field for the pulling offset.
506 Fix the pause method in pull mode.
507 Configure the segment to BYTES for pull mode.
508 API: GstBaseSink::gst_base_sink_do_preroll()
510 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
512 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
515 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
517 * gst/gstquark.c: (_priv_gst_quarks_initialize):
518 Fix printf format warning.
520 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
522 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
523 Fix flow aggregation of tee. Error out immediately for all flow returns
524 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
525 and return OK if at least one pad is linked.
527 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
528 and otherwise returned the flow return of the last pad, which is wrong.
530 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
531 (GST_START_TEST), (tee_suite):
532 Add unit tests for the flow aggregation.
534 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
536 * docs/design/part-TODO.txt:
537 Remove item from the todo list because it was fixed with the latency
538 state change rewrites.
540 * docs/design/part-seeking.txt:
541 * docs/design/part-segments.txt:
544 * gst/gstevent.c: (gst_event_new_new_segment_full),
545 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
546 (gst_event_parse_buffer_size), (gst_event_new_qos),
547 (gst_event_parse_qos), (gst_event_new_seek),
548 (gst_event_parse_seek), (gst_event_new_latency),
549 (gst_event_parse_latency):
550 Use quarks to construct and parse events.
552 * gst/gstquark.c: (_priv_gst_quarks_initialize):
554 Add some more quarks to the table.
555 Emit a warning when the quark tables are not in sync.
557 * tests/check/gst/gstbus.c: (GST_START_TEST):
560 2008-10-13 Stefan Kost <ensonic@users.sf.net>
562 * plugins/elements/Makefile.am:
563 * plugins/indexers/Makefile.am:
564 Don't install static libs for plugins. Fixes #550851 for core.
566 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
568 * gst/gstbus.c: (gst_bus_source_finalize),
569 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
570 (gst_bus_enable_sync_message_emission),
571 (gst_bus_disable_sync_message_emission),
572 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
573 Fix deadlock, g_source_get_id() cannot be called in finalize.
574 Keep track of the watch source by keeping a pointer to the source object
576 Use the bus lock to protect access to the pointer to the current
579 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
581 Base on Patch by: Olivier Crete <tester at tester dot ca>
583 * gst/gstbus.c: (gst_bus_source_finalize),
584 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
585 Only allow one bus watch to be set at a time. This is necessary
586 because the dispatcher pops the message from the bus and the second
587 watcher will then get NULL or the next message (and the first won't
588 get this next message then, etc). If more than one "watcher" is
589 required signal watches should be used. Fixes bug #526044.
591 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
593 * tools/gst-launch.c:
594 Change the printing of the 'buffering...' output to avoid putting
595 a \r in a translateable string (flagged by the TP).
597 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
600 Clarify that the save_thyself() and restore_thyself() virtual
601 functions of GstObject need to be overriden, not
602 gst_object_(save|restore)_thyself() which is impossible.
605 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
607 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
608 Revert a patch from 21 months ago that broke caps negotiation in pull
609 mode. Basically, having a buffer pass over a pad will trigger the
610 setcaps function when caps change, just like in push mode.
612 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
614 * docs/design/part-negotiation.txt:
615 Update the docs some more.
617 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
618 If we pull a buffer with non-trivial caps, suggest those caps with the
621 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
623 * docs/design/part-TODO.txt:
624 Add another limitation of pad-blocking with segment seeks not pushing
627 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
629 * win32/common/libgstbase.def:
630 * win32/common/libgstreamer.def:
631 Add new symbols to the win32 defs files
633 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
635 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
636 (gst_bin_handle_message_func):
637 The message src can be NULL, don't try to print the object names in that
640 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
641 Add some more debug info.
643 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
646 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
649 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
651 * docs/design/part-negotiation.txt:
654 * docs/libs/gstreamer-libs-sections.txt:
655 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
656 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
657 (gst_base_sink_init), (gst_base_sink_set_blocksize),
658 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
659 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
660 (gst_base_sink_loop), (gst_base_sink_pad_activate),
661 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
662 (gst_base_sink_change_state):
663 * libs/gst/base/gstbasesink.h:
664 Add blocksize property and methods to control the amount of data
666 Negotiate first before activating upstream in pull mode so that they can
667 negotiate themselves.
668 When we operate in pull mode, we only accept the caps that we
670 Make the sink go ASYNC to PAUSED, like all other sinks.
671 API: GstBaseSink::gst_base_sink_set_blocksize()
672 API: GstBaseSink::gst_base_sink_get_blocksize()
673 API: GstBaseSink::blocksize
675 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
676 (gst_base_src_set_live), (gst_base_src_is_live),
677 (gst_base_src_set_format), (gst_base_src_query_latency),
678 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
679 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
680 (gst_base_src_set_property), (gst_base_src_get_property):
681 * libs/gst/base/gstbasesrc.h:
682 Add typechecking in public API functions.
683 Add methods to control the blocksize in subclasses.
684 API: GstBaseSrc::gst_base_src_set_blocksize()
685 API: GstBaseSrc::gst_base_src_get_blocksize()
687 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
689 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
690 (buffer_probe), (event_probe), (GST_START_TEST):
691 We now see 3 events go through our pad, since basesink now sends
692 upstream latency events.
694 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
696 * gst/gstpipeline.c: (gst_pipeline_change_state):
697 Release the object lock before trying to flush the bus.
699 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
701 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
702 Forward LATENCY events upstreams so that elements know about the total
703 pipeline latency. Fixes #555307.
705 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
707 * plugins/elements/gstqueue.c:
708 Allow through queries when we don't know how
709 to adjust them (not TIME or BYTES), as otherwise it's
710 not possible to query the current position in order
711 to seek in other formats at all.
713 2008-10-08 Andy Wingo <wingo@pobox.com>
715 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
717 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
721 Unbreak -good build, private is a reserved c++ keyword.
723 2008-10-08 Andy Wingo <wingo@pobox.com>
725 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
726 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
727 removal: re-add GST_GHOST_PAD_CAST to the header.
729 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
730 (GstGhostPadClass): Publically expose these structures so as to
731 allow easy subclassing from C. Hide the member data behind a
732 private opaque data pointer.
734 * gst/gstghostpad.c: Adapt to store instance data in the type
735 instance's private data region, not in the public struct.
737 2008-10-08 Andy Wingo <wingo@pobox.com>
739 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
740 template via g_object_get(), be sure to unref it.
742 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
744 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
746 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
747 If we can't get a cache file don't try to save something to it.
748 Dereferencing NULL pointers usually isn't a good idea.
750 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
752 * tests/check/Makefile.am:
753 * tests/check/gst/gstabi.c:
754 * tests/check/gst/struct_sparc.h:
755 * tests/check/libs/libsabi.c:
756 * tests/check/libs/struct_sparc.h:
759 * tests/check/gst/gstvalue.c: (GST_START_TEST):
760 Cast signed integer to unsigned to avoid a compiler warning.
762 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
764 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
765 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
766 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
767 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
768 (gst_byte_reader_peek_int24_be):
769 Use new GST_READ_UINT24_(LE|BE) macros.
771 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
773 * docs/gst/gstreamer-sections.txt:
775 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
776 as it's too easy to break the ISO C strict aliasing rules with simple
777 casts to the corresponding type and this would introduce hard to debug
778 bugs. Fixes bug #545714.
780 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
782 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
784 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
785 * gst/gstghostpad.c: (gst_ghost_pad_construct):
786 Add 'Since' bits to gtk-doc chunks for new API.
788 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
790 * docs/gst/gstreamer-sections.txt:
793 2008-10-06 Andy Wingo <wingo@pobox.com>
795 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
796 that will be called on the malloc_data to free it. Basically a way
797 to avoid subclassing when all you need is a different free
798 function, i.e. free() instead of g_free().
800 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
801 calling the free function.
802 (gst_buffer_init): Initialize the free function to g_free.
804 2008-10-06 Andy Wingo <wingo@pobox.com>
807 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
808 finishes the initialization of ghost pad. Useful for language
809 bindings and subclassers of GstGhostPad. Fixes #539108.
810 (gst_ghost_pad_new_full): Use the new constructor.
812 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
814 Base on Patch by: Olivier Crete <tester at tester dot ca>
816 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
817 (gst_bin_remove_func), (update_degree),
818 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
819 Keep track of pads that are being linked/unlinked and resync the state
822 * gst/gstpad.c: (gst_pad_get_direction),
823 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
824 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
825 (gst_pad_link_prepare), (gst_pad_link),
826 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
827 (gst_pad_check_pull_range), (gst_pad_get_range),
828 (gst_pad_pull_range):
829 Some code cleanups, use macros to check pad direction.
830 Don't need to take the lock on the pad direction.
831 Post structure change when pads are linked/unlinked.
832 Change some checks into _return_if_fail().
834 * tests/check/gst/gstbin.c:
835 (test_link_structure_change_state_changed_sync_cb),
836 (GST_START_TEST), (gst_bin_suite):
837 Add testcase for pad link/unlinke resync during a state change.
840 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
842 * docs/gst/gstreamer-sections.txt:
843 * gst/gstmessage.c: (gst_message_new_structure_change),
844 (gst_message_parse_structure_change):
846 Implement STRUCTURE_CHANGED messages. These messages will be used to
847 signal the parent bin of link/unlink operations that could require a
848 resync when doing a state change. See ##510354.
849 API: gst_message_new_structure_change()
850 API: gst_message_parse_structure_change()
852 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
856 Add some more quarks for new message. See #510354.
858 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
860 * docs/libs/gstreamer-libs-docs.sgml:
861 * docs/libs/gstreamer-libs-sections.txt:
862 * libs/gst/base/Makefile.am:
863 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
864 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
865 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
866 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
867 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
868 (gst_bit_reader_skip_to_byte):
869 * libs/gst/base/gstbitreader.h:
870 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
871 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
872 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
873 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
874 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
875 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
876 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
877 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
878 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
879 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
880 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
881 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
882 * libs/gst/base/gstbytereader.h:
883 * tests/check/Makefile.am:
884 * tests/check/libs/bitreader.c: (GST_START_TEST),
885 (gst_bit_reader_suite):
886 * tests/check/libs/bytereader.c: (GST_START_TEST),
887 (gst_byte_reader_suite):
888 API: Add bit reader and byte reader classes, including documentation
889 and an extensive unit test suite. Fixes bug #553554.
891 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
893 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
894 (gst_base_sink_query):
895 Improve position reporting while flushing and other intermediate state
896 changes. Fixes #553874.
898 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
900 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
902 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
903 Original patch by : Simon Descaries
904 Fix small refount leak in caps compatibility check.
907 2008-10-06 Stefan Kost <ensonic@users.sf.net>
909 * docs/pwg/advanced-request.xml:
910 Fix 0.8 api usage in example. Fixes #554561
912 * docs/pwg/appendix-porting.xml:
913 Change 0.9 to 0.10 here.
915 2008-10-06 Stefan Kost <ensonic@users.sf.net>
917 * docs/manual/basics-data.xml:
918 Change "event-event interaction" to "element-element interaction".
919 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
922 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
925 Back to development -> 0.10.21.1
927 === release 0.10.21 ===
929 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
932 releasing 0.10.21, "Take These Things From Me"
934 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
937 0.10.20.4 pre-release
939 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
941 * libs/gst/base/gstbasetransform.c:
942 * plugins/elements/gstcapsfilter.c:
943 * tests/check/Makefile.am:
944 * tests/check/elements/.cvsignore:
945 * tests/check/elements/capsfilter.c:
946 Fix assertion in basetransform when the subclass chooses not to
947 allocate a buffer in prepare_buffer(), and make capsfilter error out
948 cleanly if requested to apply caps that don't completely specify the
949 buffer. Fixes #551509
951 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
953 * libs/gst/base/gstbasetransform.c:
954 (gst_base_transform_prepare_output_buffer):
955 Take new caps ref because our old one might have been gone when the
956 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
958 2008-09-15 Stefan Kost <ensonic@users.sf.net>
961 Do not probe availability of check unit test library when cross
962 compiling, as test would not work anyway. Also cleanup verbose output
963 of the check test. Fixes #551952.
965 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
967 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
969 * gst/gstelement.c: (gst_element_sync_state_with_parent):
970 Avoid leaking the parent ref when we fail changing the state of the
971 element using gst_element_sync_state_with_parent(). Fixes #551978.
973 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
975 * docs/manual/intro-motivation.xml::
976 Remove some bits that no longer apply, update others (#551642).
978 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
981 0.10.20.2 pre-release
989 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
991 * win32/common/config.h.in:
992 Add GST_DATADIR, hard-code cpu to x86.
994 * win32/common/libgstreamer.def:
997 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
1000 Fix Since: markers for new geo tags.
1002 2008-09-02 Stefan Kost <ensonic@users.sf.net>
1005 Fix actual tag name define after renaming from altitude to elevation.
1007 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1009 * gst/gstpad.c: (add_unref_pad_to_list),
1010 (gst_pad_get_internal_links_default):
1011 Add fallback when calling the deprecated function on an element that
1012 implements the new internal_link handler.
1014 2008-09-01 Stefan Kost <ensonic@users.sf.net>
1016 * docs/gst/gstreamer-sections.txt:
1019 Add new tags for geo location and clarify purpose of existing location
1022 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1024 Patch by: Olivier Crete <tester at tester dot ca>
1026 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
1027 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
1028 Use thread-safe internal links iterator. Fixes #549504.
1030 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
1032 Based on patch by: Olivier Crete <tester at tester dot ca>
1034 * docs/gst/gstreamer-sections.txt:
1035 * win32/common/libgstreamer.def:
1036 * gst/gstpad.c: (gst_pad_init),
1037 (gst_pad_set_iterate_internal_links_function),
1038 (int_link_iter_data_free), (iterate_pad),
1039 (gst_pad_iterate_internal_links_default),
1040 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1042 Add threadsafe replacement functions for getting internal links of an
1043 element. Deprecate the old internal links functions.
1044 API:GstPad::gst_pad_set_iterate_internal_links_function()
1045 API:GstPad::GstPadIterIntLinkFunction
1046 API:GstPad::gst_pad_iterate_internal_links()
1047 API:GstPad::gst_pad_iterate_internal_links_default()
1049 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1050 (gst_proxy_pad_init):
1051 Implement threadsafe internal links.
1053 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1054 Unit test for internal links on tee. See #549504.
1056 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1058 * tests/check/Makefile.am:
1059 libs/transform1 test requires libs/test_transform.c
1061 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1063 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1064 Die evil deadlock, die !
1066 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
1068 * gst/gstutils.c: (gst_element_get_compatible_pad):
1069 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1070 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1071 Fix all leaks due to the bug in gst_pad_template_new() by which it does
1072 not steal the refcount of the given caps as stated.
1074 REVERT THIS COMMIT ONCE FIXED !
1075 REVERT THIS COMMIT ONCE FIXED !
1076 REVERT THIS COMMIT ONCE FIXED !
1077 REVERT THIS COMMIT ONCE FIXED !
1078 REVERT THIS COMMIT ONCE FIXED !
1079 REVERT THIS COMMIT ONCE FIXED !
1081 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1083 * gst/gstiterator.c:
1084 * gst/gstiterator.h:
1085 After 3 years it's about time to revise the documentation of the
1088 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1090 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1091 Make the internal links function less thread-unsafe and add some
1092 comments, dunno why.
1094 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1096 * gst/gst_private.h:
1097 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1098 build with --disable-gst-debug.
1100 2008-08-28 David Schleef <ds@schleef.org>
1102 * gst/gstpadtemplate.c: Revert last change, since it breaks
1103 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1104 but shouldn't be enabled until we've released fixed versions
1105 of -good and -ffmpeg.
1107 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1110 Put the gst_object_get_name() back in.
1112 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1114 * gst/gstpadtemplate.c:
1115 The old behaviour was that gst_pad_template_new() takes ownership of
1116 the caps. As we now call g_object_new() which calls g_object_set() and
1117 which copies the caps, we have to unref them to not leak them. Fixes
1118 make valgrid for me.
1120 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1123 Don't segfault on input like "tel:+1-123-555-1234".
1125 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1128 Due to popular request also include ObjectType in
1129 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1131 2008-08-26 David Schleef <ds@schleef.org>
1133 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1134 src_val must be positive, because that's not a requirement.
1135 This causes problems with converting negative granulepos
1137 * gst/gstquery.c: Same, gst_query_new_convert().
1139 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1141 * gst/gstclock.c: (gst_clock_add_observation):
1142 Add some more debugging to the clock slaving code.
1144 * win32/common/libgstbase.def:
1145 Add new basetransform method.
1147 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1149 * gst/gstbin.c: (gst_bin_element_set_state):
1150 Take the (recursive) state lock between getting the locked state of an
1151 element and changing the element state. This allows the application to
1152 lock an element's state and then change its state without races.
1154 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1156 * gst/gstbin.c: (gst_bin_element_set_state):
1157 When an element is in the locked state we still want to update the
1158 base_time of the element.
1160 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1162 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1163 Use the result from gst_pad_set_caps() instead of assuming the element
1164 always accepted the caps computed by the default negotiate function.
1166 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1168 * docs/libs/gstreamer-libs-sections.txt:
1169 * libs/gst/base/gstbasetransform.c:
1170 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1171 (gst_base_transform_chain), (gst_base_transform_suggest),
1172 (gst_base_transform_reconfigure):
1173 * libs/gst/base/gstbasetransform.h:
1174 Implement method for reconfiguring basetransform.
1175 API: GstBaseTransform::gst_base_transform_reconfigure()
1177 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1179 patch by: Murray Cumming <murrayc@murrayc.com>
1182 Mention that this is just like gst_buffer_merge() but with extra
1183 unreffing for C coders. Advise language bindings not to wrap it.
1186 Also fix file comment.
1188 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1190 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1192 * plugins/elements/gstfakesink.c:
1193 * plugins/elements/gstfakesrc.c:
1194 Call super::event() when not handling it. Fixes #544855.
1196 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1198 Patch by: Alessandro Decina <alessandro@nnva.org>
1199 * plugins/elements/gstfilesrc.c:
1200 Use 64 bit variants of stat functions on win32, to enable support
1201 of large files there.
1204 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1206 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1207 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1208 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1209 (gst_base_sink_get_position), (gst_base_sink_change_state):
1210 Improve position reporting in the flushing state.
1211 Also report the position when we are not yet prerolled but we
1212 have a newsegment event. Fixes #543444.
1213 Improve the pull-based negotiation code.
1215 * tests/check/elements/fakesink.c: (GST_START_TEST),
1217 Add testcase for position reporting while flushing in PAUSED and
1220 * tests/check/generic/sinks.c: (GST_START_TEST):
1221 Update unit-test, we can now query the position as soon as we receive a
1224 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1226 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1228 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1229 When the subclass event handler releases the PREROLL_LOCK, we could be
1230 in the flushing state and we have to ignore the event. Fixes #548394.
1232 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1234 * tools/gst-launch.1.in:
1235 Document GST_REGISTRY_UPDATE environment variable.
1237 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1239 * libs/gst/base/gstbasetransform.c:
1240 (gst_base_transform_prepare_output_buffer):
1241 If the element is configured in passthrough mode but the
1242 prepare_output_buffer gave us a new output buffer, discard that buffer
1243 and reuse the input buffer.
1245 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1247 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1249 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1250 (gst_tee_request_new_pad), (gst_tee_release_pad),
1251 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1252 * plugins/elements/gsttee.h:
1253 Protect pad_alloc with a new lock so that we can be sure that nothing is
1254 performing a pad_alloc when removing the pad. Fixes #547835.
1256 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1257 (buffer_alloc_harness_teardown), (app_thread_func),
1258 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1259 Added testcase for shutdown race.
1261 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1266 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1268 * libs/gst/base/gstbasetransform.c:
1269 (gst_base_transform_prepare_output_buffer),
1270 (gst_base_transform_buffer_alloc):
1271 Go over the buffer_alloc function again and make sure we always end up
1272 allocating a buffer.
1274 Avoid doing pad alloc when we have a pending suggestion because we
1275 cannot yet deal with changing caps in that case. Fixes #547728
1277 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1279 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1281 * docs/manual/advanced-clocks.xml:
1282 * docs/manual/clocks.png:
1283 * docs/manual/diagrams-clocks.svg:
1284 Add one more image showing different times together with a describing
1285 paragraph. Fixes #547729.
1287 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1289 * win32/common/libgstbase.def:
1292 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1294 * libs/gst/base/gstbasetransform.c:
1295 (gst_base_transform_transform_caps),
1296 (gst_base_transform_prepare_output_buffer),
1297 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1298 Don't overwrite the outsize when calculating the expected size of a new
1299 buffer because we still need it in case we cannot process the new
1301 When converting the size of the new buffer to an upstream size, actually
1302 use the expected size of the buffer, not some other random value.
1303 Use an atomic int to signal that a new upstream caps suggestion is
1305 When we can convert the current buffer to a new format, check if the
1306 buffer size is of the expected size and allocate a new buffer of the
1307 expected size when this is not the case. Fixes #546883.
1309 * tests/check/libs/transform1.c: (GST_START_TEST):
1310 remove ifdeffed code from the unit test.
1312 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1314 * pkgconfig/gstreamer-uninstalled.pc.in:
1315 * pkgconfig/gstreamer.pc.in:
1316 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1317 called gstcontroller-0.10.
1319 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1321 * gst/gstchildproxy.h:
1323 Remove double interface from doc-string.
1325 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1327 * libs/gst/base/gstbasesrc.c:
1328 * libs/gst/base/gstbasetransform.c:
1329 Fix headings in docs and gtk-doc warnings.
1331 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1333 * gst/gstregistrybinary.c:
1334 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1338 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1340 * libs/gst/base/gstbasetransform.c:
1341 (gst_base_transform_buffer_alloc):
1342 Fix a "may be used unitialized" warning.
1344 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1346 * docs/gst/gstreamer-sections.txt:
1348 Document preset-iface vmethods.
1350 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1352 * docs/manual/advanced-interfaces.xml:
1353 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1354 only used to discover devices.
1356 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1358 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1360 * gst/gst.c: (init_pre):
1361 Make sure gettext returns translations in UTF-8 encoding rather
1362 than in the current locale encoding (#546822).
1364 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1366 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1369 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1370 Improve unit test subset tests and add a testcase for the subset failure
1373 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1374 Improve subtraction unit test.
1376 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1378 * plugins/elements/gsttee.c:
1379 Unlock, instead of locking again.
1381 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1384 Clarify the docs a bit more.
1386 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1388 * tests/examples/metadata/read-metadata.c:
1389 Don't leak old taglist.
1391 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1393 Patch by: Olivier Crete <tester at tester dot ca>
1395 * gst/gststructure.c:
1396 (gst_structure_fixate_field_nearest_fraction):
1397 Avoid overflows in fixation code when dealing with MAXINT values, which
1398 v4l2src seems to do.
1401 * tests/check/gst/gststructure.c: (GST_START_TEST):
1402 Make a unit test to check the fix.
1404 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1406 * plugins/elements/gstcapsfilter.c: (copy_func),
1407 (gst_capsfilter_set_property):
1408 Use new caps suggestion feature of basetransform to request a caps
1409 negotiation upstream.
1411 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1413 * docs/libs/gstreamer-libs-sections.txt:
1415 API: GstBaseTransform::gst_base_transform_suggest()
1417 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1418 (gst_base_transform_init), (gst_base_transform_transform_caps),
1419 (gst_base_transform_transform_size),
1420 (gst_base_transform_configure_caps),
1421 (gst_base_transform_can_transform),
1422 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1423 (gst_base_transform_prepare_output_buffer),
1424 (gst_base_transform_buffer_alloc),
1425 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1426 (gst_base_transform_chain), (gst_base_transform_activate),
1427 (gst_base_transform_set_passthrough),
1428 (gst_base_transform_is_passthrough),
1429 (gst_base_transform_set_in_place),
1430 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1431 (gst_base_transform_set_qos_enabled),
1432 (gst_base_transform_is_qos_enabled),
1433 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1434 (gst_base_transform_reconfigure):
1435 * libs/gst/base/gstbasetransform.h:
1436 Rewrite of basetransform to perform negotiation outside of the
1437 buffer_alloc functions. Fixes #545853.
1439 * tests/check/libs/transform1.c: (GST_START_TEST),
1443 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1445 * tests/check/gst/gstpreset.c:
1446 Only run preset tests when $HOME is writable. Preliminary fix for
1449 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1451 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1452 (gst_bin_change_state_func), (bin_handle_async_done),
1453 (gst_bin_handle_message_func):
1454 Fix race for bins that simulate ASYNC state changes by inserting
1455 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1456 pending ASYNC messages even when the bin does not have ASYNC children.
1457 We note detect this behaviour because we will receive an ASYNC message
1458 that is originating from the bin itself.
1459 Fixes races with decodebin2 state changes.
1461 * tests/check/gst/gstbin.c: (GST_START_TEST):
1462 Add some more debug.
1464 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1466 * gst/gsttaglist.c: (_gst_tag_initialize):
1469 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1472 Argh. actually save the text before committing. Now adds
1473 gst_tag_merge_strings_with_comma() to gst_tag_register().
1475 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1479 Do as tim pointed out and actually register the new tag. Also improve
1480 te docs and use gst_tag_merge_strings_with_comma() method to allow
1481 retriving all keywords merged in one list.
1483 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1486 * docs/gst/gstreamer.types:
1487 Revert 'accidential' change of the configure option removal. We still
1488 need to generate the types file in configure --disable-load-save.
1490 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1492 * docs/gst/gstreamer-sections.txt:
1494 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1496 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1498 * gst/gstpadtemplate.c:
1499 (gst_pad_template_class_init), (gst_static_pad_template_get),
1500 (gst_pad_template_new), (gst_pad_template_pad_created),
1501 (gst_pad_template_set_property), (gst_pad_template_get_property):
1502 Add "name-template", "direction", "presence" and "caps" properties,
1503 so that gst_pad_template_new() is just a thin wrapper around
1504 g_object_new(), which is better for bindings. (Fixes: #539772)
1506 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1509 Be more liberal in what URIs we accept.
1510 Do not unescape bits of the URI for no apparent reason before passing to
1511 the element. Fixes #545352.
1513 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1515 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1518 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1520 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1523 * docs/gst/gstreamer-sections.txt:
1524 * docs/gst/gstreamer.types:
1525 * docs/gst/gstreamer.types.in:
1528 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1529 * gst/gstconfig.h.in:
1530 * gst/gstelement.c: (gst_element_get_index):
1531 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1532 (gst_registry_binary_load_feature),
1533 (gst_registry_binary_read_cache):
1534 * gst/gstregistryxml.c: (load_feature),
1535 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1536 * plugins/Makefile.am:
1538 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1539 (print_plugin_features), (print_element_features):
1540 * tools/gst-xmlinspect.c: (print_event_masks),
1541 (print_element_info):
1542 * win32/common/gstconfig.h:
1543 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1545 Disabling the indexers and URI handler code will only reduce the
1546 required amount of memory by a very small amount but on the other hand
1547 requires much more maintaince work. Apart from that many places of
1548 code are broken when disabling them.
1550 Disabling the enum types doesn't reduce the required amount of memory
1551 by more than a few bytes and makes it hard to fix bugs like #539772,
1552 i.e. use the enums as GObject properties.
1554 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1556 * docs/design/part-TODO.txt:
1557 Add some thoughts and problems with upstream renegotiation.
1559 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1561 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1562 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1563 Remove silly redundant debug.
1564 Add some more debug info.
1565 Clarify the docs regarding new caps received from pad_alloc.
1567 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1569 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1570 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1571 Make setting the caps more threadsafe.
1573 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1575 * docs/design/part-element-transform.txt:
1578 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1580 * plugins/elements/gstqueue.c: (gst_queue_init),
1581 (gst_queue_acceptcaps):
1582 Add and use a custom acceptcaps function instead of falling back to the
1583 potentially less optimized default implementation.
1585 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1587 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1588 Only sanity-check the buffer size if requested_caps == buffer_caps
1589 (ie. don't take pad caps into account, they're not relevant here)
1591 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1593 * plugins/elements/gsttee.c:
1594 * plugins/elements/gsttee.h:
1595 Reverting as not everything is clear yet. Needs some general design
1598 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1601 ChangeLog surgery for tee commit.
1603 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1605 * docs/gst/gstreamer-sections.txt:
1606 Cleanup section-file.
1608 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1610 * plugins/elements/gsttee.c:
1611 * plugins/elements/gsttee.h:
1612 Relay tag events in tee. Fixes parts of #474016.
1613 Downgrades 3 reoccurring debugs to log.
1615 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1618 * libs/gst/Makefile.am:
1619 Build the net library if we have winsock2.
1621 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1623 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1625 * docs/manual/advanced-threads.xml:
1626 * docs/manual/diagrams-pipelines.svg:
1627 * docs/manual/hello-world.png:
1628 * docs/manual/linked-elements.png:
1629 * docs/manual/mime-world.png:
1630 * docs/manual/queue.png:
1631 * docs/manual/thread-buffering.png:
1632 * docs/manual/thread-synchronizing.png:
1633 Replace one diagram with two separate ones and updates others.
1636 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1639 Fix link in documentation.
1641 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1644 Fix confusing documentation.
1646 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1648 * libs/gst/base/gstbasesrc.h:
1649 revert the changes to the header file for the ABI.
1651 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1653 * libs/gst/base/gstbasesrc.c:
1654 * libs/gst/base/gstbasesrc.h:
1655 Don't cache the seekable status.
1658 2008-07-24 Rene Stadler <mail@renestadler.de>
1660 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1661 code to close the pipeline graph. This prevents the program from
1662 printing internal data flow errors.
1664 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1666 * docs/manual/basics-bus.xml:
1667 Correct typo. Fixes bug #544320.
1669 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1672 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1673 Add check (taken from -base) for winsock, adds WIN32_LIBS
1675 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1677 Define GST_EXPORTS when building libgstreamer (only used on win32)
1678 * gst/gst_private.h:
1680 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1681 for symbols that we need to export in both these files.
1683 Include gst_private.h higher up to avoid some compile problems on win32.
1685 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1690 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1693 Previous commit was wrong NULL caps does not exist
1694 and indicate an error, so also add a FIXME to
1695 gst_caps_is_equal where NULL caps are accepted.
1697 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1700 Allow passing of NULL to gst_caps_union
1702 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1704 * gst/gstghostpad.c:
1705 Add in doc that gst_ghost_pad_set_target can accept
1706 NULL to clear target
1708 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1711 * gst/gstregistry.c:
1712 GstRegistryPool doesn't exist; don't refer to it in docs.
1713 Don't refer to functions that don't exist in docs, it's
1716 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1719 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1721 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1723 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1725 * docs/pwg/building-testapp.xml:
1726 Don't use an undeclared variable in the example program.
1729 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1731 * gst/gstdebugutils.c:
1732 Squeeze ghost-pad links and remove <> from classname labels to save
1733 more horizontal space.
1735 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1737 * gst/gstdebugutils.c:
1738 Give request and sometimes pads a different shpe style. Condense the
1739 graphs a little more.
1741 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1744 Don't require flex and bison if the parser is disabled.
1746 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1748 * libs/gst/controller/gstinterpolationcontrolsource.c:
1749 (_list_find_sorted_custom):
1750 Don't use declarations after statements.
1752 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1754 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1755 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1756 of the the child-added / -removed signals as GstChildProxy
1757 only supports GstObjects.
1759 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1761 * gst/gstdebugutils.c:
1764 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1766 Patch by: Alessandro Decina <alessandro at nnva dot org>
1769 Fix "ignored return value" compiler warning with newer glibc.
1771 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1773 * gst/gstchildproxy.c:
1774 Fix copy&paste error in gst_child_proxy_removed() documentation.
1776 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1778 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1779 Print error debug message if plugin description fields that should
1782 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1783 Don't crash if the string to serialise is NULL (it really should
1784 not be, but apparently this used to work with the xml registry ...).
1786 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1788 * tools/gst-plot-timeline.py:
1789 Fix parsing of log messages
1791 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1793 * win32/common/libgstbase.def::
1794 Sort alphabetically so make check-exports doesn't barf.
1796 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1799 Use gst_format_get_name() to improve debug output.
1802 Remove #ifdef'ed code. Add TODO comment.
1805 Add debug output to ease spotting format != segment.format assertions.
1807 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1809 * tests/check/libs/gdp.c: (gst_dp_suite):
1810 Also enable the GDP unit test again on PPC now that the bug
1813 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1815 * libs/gst/dataprotocol/dataprotocol.c:
1816 Don't write to the same region of memory as a uint64 and uint16
1817 as this breaks strict aliasing rules and apparantly breaks on PPC
1818 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1820 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1822 * libs/gst/controller/gstinterpolationcontrolsource.c:
1823 Optimize list handling. Use own find function. Exploit that fact that
1824 the list is sorted. Also pass back the node before, so that we can
1825 insert quickly. Have a fast path for append.
1827 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1829 * docs/design/draft-framestep.txt:
1830 * docs/design/part-negotiation.txt:
1833 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1836 Show configuration sumary after configure run. Based on patch by
1837 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1839 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1841 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1843 * docs/manual/advanced-autoplugging.xml:
1844 * docs/manual/advanced-threads.xml:
1845 * docs/manual/basics-bins.xml:
1846 * docs/manual/basics-elements.xml:
1847 * docs/manual/basics-helloworld.xml:
1848 * docs/manual/basics-pads.xml:
1849 Add scale factor for pdf output.
1851 * docs/manual/intro-basics.xml:
1852 Switched sections "pads" and "bins" and added a pipeline diagram.
1854 * docs/manual/intro-gstreamer.xml:
1855 Added more info on gstreamer.
1857 * docs/manual/intro-motivation.xml:
1858 Commented out the whole section "current problem", which sounds
1859 historical and somehow osolete; it could be turned in a positive
1860 way and reused to improve the design principles.
1862 * docs/manual/intro-preface.xml:
1863 - Update URLs to library.gnome.org.
1864 - Do not mention GTK+ in preliminary reading (irrelevant).
1865 - Mention Plugin Writer's Manual and further reading only in the
1867 - Added a list of most relevant GObject/glib topics.
1869 * docs/manual/Makefile.am:
1870 * docs/manual/bin-element-ghost.fig:
1871 * docs/manual/bin-element-ghost.png:
1872 * docs/manual/bin-element-noghost.fig:
1873 * docs/manual/bin-element-noghost.png:
1874 * docs/manual/bin-element.fig:
1875 * docs/manual/bin-element.png:
1876 * docs/manual/filter-element-multi.fig:
1877 * docs/manual/filter-element-multi.png:
1878 * docs/manual/filter-element.fig:
1879 * docs/manual/filter-element.png:
1880 * docs/manual/gstreamer-overview.png:
1881 * docs/manual/hello-world.fig:
1882 * docs/manual/hello-world.png:
1883 * docs/manual/linked-elements.fig:
1884 * docs/manual/linked-elements.png:
1885 * docs/manual/mime-world.fig:
1886 * docs/manual/mime-world.png:
1887 * docs/manual/queue.fig:
1888 * docs/manual/queue.png:
1889 * docs/manual/simple-player.png:
1890 * docs/manual/sink-element.fig:
1891 * docs/manual/sink-element.png:
1892 * docs/manual/src-element.fig:
1893 * docs/manual/src-element.png:
1894 * docs/manual/diagrams-general.svg:
1895 * docs/manual/diagrams-pipelines.svg:
1896 Removed .fig, added .png counterpart.
1900 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1902 * plugins/elements/gstmultiqueue.c:
1903 * plugins/elements/gstmultiqueue.h:
1904 revert extra-size-buffers stuff, caused some race conditions
1905 and extra-size-buffers is not used anymore. Docs needs some updates
1907 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1909 * win32/common/config.h:
1910 * win32/common/gstenumtypes.c:
1911 * win32/common/gstenumtypes.h:
1912 * win32/common/gstversion.h:
1915 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1917 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1918 (GST_DEBUG_BIN_TO_DOT_FILE):
1919 Add missing Since' markers to gtk-doc blurbs.
1921 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1923 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1924 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1925 (set_caps_1), (set_caps_ct1), (transform_ct1),
1926 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1927 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1928 (transform_size_ct2), (buffer_alloc_ct2):
1929 Add some more tests with switching caps in buffer_alloc.
1931 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1933 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1934 (gst_test_trans_class_init), (result_sink_chain),
1935 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1936 (gst_test_trans_push), (gst_test_trans_pop):
1937 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1938 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1939 (set_caps_1), (set_caps_ct1), (transform_ct1),
1940 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1941 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1942 (transform_size_ct2), (buffer_alloc_ct2),
1943 (gst_basetransform_suite):
1944 More tests, prepare for tests with switching caps in buffer_alloc.
1946 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1948 * plugins/elements/gstmultiqueue.c:
1949 * plugins/elements/gstmultiqueue.h:
1950 Fix dead-lock in underrun_cb
1952 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1954 * docs/design/part-states.txt:
1955 Fix device open/close docs.
1957 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1960 Mention bugnumber for last commit.
1962 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1964 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1966 * docs/manual/manual.xml:
1967 - Reorganised the previous "introduction" bundle into Foreword,
1968 Introduction, and About GStreamer. The two first are <preface>
1969 docbook elements. The later is the first part of the book.
1970 - added intro-gstreamer.xml (content partially from
1972 - moved appendix-win32.xml into appendix-integration.xml
1974 * docs/manual/intro-preface.xml: gstreamer section moved...
1975 * docs/manual/intro-gstreamer.xml: ...here. new file.
1977 * docs/manual/appendix-win32.xml: removed file. Content moved...
1978 * docs/manual/appendix-integration.xml: ...here.
1980 * docs/manual/highlevel-components.xml: section about GstEditor moved...
1981 * docs/manual/appendix-checklist.xml: ...here.
1985 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1987 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1989 * docs/manual/basics-helloworld.xml:
1990 * docs/manual/hello-world.fig:
1991 - Explicitely include glib.h.
1992 - Do not use global variables.
1993 - Use g_printerr() instead of g_print().
1994 - Minor formating/renaming to increase readibility.
1995 - Renamed new_pad() to on_pad_added()
1996 - Improved explenatory comments.
1997 - renamed ogg parser to ogg demuxer
1998 - Use "autoaudiosink" instead of "alsasink".
2001 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2004 Remove cvs conflict marker.
2006 2008-06-25 Stefan Kost <ensonic@users.sf.net>
2009 Document that for plgin-docs we extraxt he short-desc from the element
2012 * docs/design/part-states.txt:
2013 Tell that devices should be closed in PAUSED -> READY.
2015 * docs/manual/README:
2016 Document how tests in the manual are handled.
2021 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2023 * gst/gstbin.c: (bin_query_latency_fold):
2024 Only care about latency min and max when the sink is actually a live
2027 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
2029 * docs/design/part-block.txt:
2032 * docs/design/part-element-transform.txt:
2033 Add notes about why transform needs to know input/output sizes.
2034 Add some issues that need to be solved.
2035 Add some more use cases.
2037 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2038 (gst_test_trans_class_init), (result_sink_chain),
2039 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
2040 (gst_test_trans_push), (gst_test_trans_pop):
2041 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2042 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2043 (set_caps_1), (set_caps_ct1), (transform_ct1),
2044 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2045 (gst_basetransform_suite):
2046 Add suport for different pad templates and buffer-alloc.
2047 Add more checks for caps and buffer-alloc.
2048 Add checks for proxy buffer alloc.
2049 Add unit test for copy transform.
2051 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2053 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
2055 * docs/manual/appendix-integration.xml:
2056 * docs/manual/appendix-licensing.xml:
2057 * docs/manual/basics-elements.xml:
2058 * docs/manual/basics-helloworld.xml:
2059 * docs/manual/basics-pads.xml:
2060 * docs/manual/highlevel-components.xml:
2061 * docs/manual/highlevel-xml.xml:
2062 * docs/manual/intro-basics.xml:
2063 * docs/manual/intro-preface.xml:
2064 Typo and formatting fixes (#538594).
2066 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
2068 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2069 Fix some memory leaks and uses of object instances that we don't
2072 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2074 * plugins/elements/gstmultiqueue.c:
2075 Add functionality to extra-size-buffers property.
2077 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2079 * plugins/elements/gstmultiqueue.c:
2080 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2081 activate the pads if they are added in STATE_NULL.
2083 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2085 * docs/libs/gstreamer-libs-sections.txt:
2087 * libs/gst/check/gstcheck.c:
2088 * libs/gst/check/gstcheck.h:
2089 API: gst_check_teardown_pad_by_name
2091 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2093 * libs/gst/check/gstcheck.c:
2094 * libs/gst/check/gstcheck.h:
2095 Also setup request pads and allow setup pads by name (#537812)
2096 API: gst_check_setup_src_pad_by_name
2097 API: gst_check_setup_sink_pad_by_name
2099 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2101 * tests/check/gst/gstbuffer.c:
2102 * tests/check/pipelines/parse-launch.c:
2103 Use HAVE_VALGRIND_H some more.
2105 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2107 * scripts/cvs-update.sh:
2108 Pass arguments to make.
2109 Run autoregen.sh if Makefile is not there.
2111 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2115 Don't assume that <valgrind/valgrind.h> exists just because
2116 the binary is there.
2118 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2120 * tests/check/Makefile.am:
2121 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2122 (gst_test_trans_class_init), (gst_test_trans_init),
2123 (gst_test_trans_set_data), (result_sink_chain),
2124 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2125 (gst_test_trans_pop):
2126 * tests/check/libs/transform1.c: (GST_START_TEST),
2127 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2128 Add some test basetransform element and the beginnings of various
2131 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2133 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2134 Increase code readability.
2135 Don't try to compare buffer offsets when ther are invalid.
2137 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2139 * docs/design/Makefile.am:
2140 Dist some more design docs.
2142 * docs/random/moving-plugins:
2143 Small addition: good plugins mustn't have functional code
2144 within assertion macros.
2146 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2148 * docs/design/draft-framestep.txt:
2149 Some ideas about a framestep API
2151 * docs/design/part-element-transform.txt:
2152 Start design and use cases for basetransform in order to get it
2155 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2158 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2159 be in UTF-8 encoding.
2161 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2164 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2166 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2168 * plugins/elements/gstcapsfilter.c:
2169 * plugins/elements/gstfakesink.c:
2170 * plugins/elements/gstfakesrc.c:
2171 * plugins/elements/gstfdsink.c:
2172 * plugins/elements/gstfdsrc.c:
2173 * plugins/elements/gstfilesink.c:
2174 * plugins/elements/gstfilesrc.c:
2175 * plugins/elements/gstidentity.c:
2176 * plugins/elements/gstmultiqueue.c:
2177 * plugins/elements/gstqueue.c:
2178 * plugins/elements/gsttee.c:
2179 * plugins/elements/gsttypefindelement.c:
2180 Remove short_description. Add basic docs for gsttypefindelement.
2181 Simplify markup for fakesrc/fdsrc.
2183 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2185 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2188 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2190 Patch by: Joel Larsson <tilljoel at gmail dot com>
2192 * docs/plugins/gstreamer-plugins.args:
2193 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2194 (gst_fd_src_init), (gst_fd_src_update_fd),
2195 (gst_fd_src_set_property), (gst_fd_src_get_property),
2196 (gst_fd_src_create):
2197 * plugins/elements/gstfdsrc.h:
2198 Add timeout property like udpsrc. Fixes #538628.
2199 Add some more docs and example pipelines.
2201 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2203 * docs/libs/gstreamer-libs-sections.txt:
2204 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2205 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2206 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2207 (gst_base_sink_do_sync):
2208 * libs/gst/base/gstbasesink.h:
2209 * win32/common/libgstbase.def:
2210 Add method to allow sinks to specify additional delay between the sync
2211 times and the actual rendering of the data.
2212 API: gst_base_sink_set_render_delay()
2213 API: gst_base_sink_get_render_delay()
2215 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2218 Bump version number back to dev -> 0.10.20.1
2220 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2222 * docs/gst/gstreamer-sections.txt:
2223 * gst/gsttaglist.c: (_gst_tag_initialize):
2225 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2228 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2230 * libs/gst/controller/gstcontroller.c:
2231 Revert one change, that make ret value possible uninitialized.
2233 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2235 * libs/gst/controller/gstcontroller.c:
2236 Use freeze/thaw notify to sync notify emission a bit (its also more
2237 efficient). Move debug output to LOG (is called a lot in a loop).
2238 Always unset g_values if the have been initialized.
2240 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2242 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2243 (gst_base_sink_wait_eos), (gst_base_sink_event):
2244 If we have not seen a buffer before EOS, use the segment values to
2245 report the current position instead of invalid positions.
2247 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2249 * docs/plugins/tmpl/.cvsignore:
2250 * tests/check/gst/.cvsignore:
2253 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2255 * libs/gst/controller/gstinterpolation.c:
2256 * libs/gst/controller/gstinterpolationcontrolsource.c:
2257 * tests/check/libs/controller.c:
2258 Rewrite handling of default values. Fix overflow with unsigned types
2259 in linear interpolation. Remove now obsolete _first_value() function.
2260 Add more tests. Fixes #538201.
2262 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2264 * libs/gst/base/gstbasetransform.c:
2265 (gst_base_transform_class_init), (gst_base_transform_init),
2266 (gst_base_transform_transform_caps),
2267 (gst_base_transform_prepare_output_buffer):
2269 When a buffer is writable, its metadata is also writable so we don't
2270 need to subbuffer (which then makes the buffer not-writable anymore).
2272 === release 0.10.20 ===
2274 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2277 releasing 0.10.20, "You Crazy Diamond"
2279 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2282 0.10.19.3 pre-release
2284 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2288 Rename DATADIR to GST_DATADIR to avoid build problems
2289 on win32. Patch By: David Schleef <ds@schleef.org>
2292 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2295 Explicitely link with -ldl if dladdr() is found there. Before it was
2296 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2297 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2299 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2301 * gst/gsterror.c: (_gst_stream_errors_init):
2302 Fix typo (spotted by Fabricio Godoy, #536723).
2304 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2307 0.10.19.2 pre-release
2309 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2311 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2312 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2314 Make sure we don't generate invalid QoS messages.
2316 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2318 * gst/gstevent.c: (gst_event_new_qos):
2319 Add some assert and docs for invalid input to the qos function.
2321 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2323 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2324 (gst_base_sink_get_position):
2325 The reported position must always be smaller than the last seen
2326 timestamps (or timestamp + duration for reverse).
2328 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2330 Patch by: Rob Bradford <rob at robster dot org dot uk>
2332 * gst/gstregistry.c: (gst_registry_scan_path_level):
2333 Don't recurse into .debug directories as some distros install
2334 the debugging symbols next to the plugins in .debug directories
2335 and dlopen() crashes on them sometimes. Fixes bug #508070.
2337 Add FIXME for 0.11 to not recurse into directories at all because
2338 it's very inconsistent to the behaviour of other PATH environment
2341 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2343 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2344 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2345 Fix position query range checks in reverse playback.
2347 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2351 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2352 clear of the reference to the resulting pad must be released later
2353 or not, resulting in possible leaks. Fixes bug #533865.
2355 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2357 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2359 * gst/gstelementfactory.c:
2360 Small doc fix. Fixes #535285.
2362 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2364 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2366 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2367 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2368 (gst_base_src_loop), (gst_base_src_set_flushing),
2369 (gst_base_src_change_state):
2370 Make sending an EOS event to the basesrc non-blocking even if the
2371 implementation does blocking waits in the create function. This is done
2372 by unlocking the create function when EOS is sent.
2375 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2377 * tools/gst-inspect.c: (print_element_properties_info):
2378 If possible print the element type of GValueArray properties.
2380 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2382 * gst/gstiterator.c:
2383 Remove an unused field from the private GstListIterator struct.
2385 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2387 * libs/gst/controller/gstcontroller.c:
2388 Add parameter guards.
2390 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2392 * tests/check/gst/gstpipeline.c:
2393 Revert test change and add comment why it should not work.
2395 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2397 * tests/check/gst/gstpipeline.c:
2398 Extending the test a little to verify that we also get the NULL state-
2401 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2403 * gst/gstpreset.c: (gst_preset_default_get_meta),
2404 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2405 (gst_preset_load_preset), (gst_preset_save_preset),
2406 (gst_preset_rename_preset), (gst_preset_delete_preset),
2407 (gst_preset_set_meta):
2408 Add Since: markers to docs blurbs.
2410 * win32/common/libgstreamer.def:
2411 Add recently-added API.
2413 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2415 Patch by: Stefan Kost <ensonic@users.sf.net>
2418 Add DATADIR for storing presets.
2420 * docs/gst/gstreamer-docs.sgml:
2421 * docs/gst/gstreamer-sections.txt:
2422 * docs/gst/gstreamer.types.in:
2423 Add GstPreset to docs.
2427 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2428 (preset_open_and_parse_header), (preset_parse_version),
2429 (preset_merge), (preset_get_keyfile),
2430 (gst_preset_default_get_preset_names),
2431 (gst_preset_default_get_property_names),
2432 (gst_preset_default_load_preset),
2433 (gst_preset_default_save_presets_file),
2434 (gst_preset_default_save_preset),
2435 (gst_preset_default_rename_preset),
2436 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2437 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2438 (gst_preset_default_reset), (gst_preset_get_preset_names),
2439 (gst_preset_get_property_names), (gst_preset_load_preset),
2440 (gst_preset_save_preset), (gst_preset_rename_preset),
2441 (gst_preset_delete_preset), (gst_preset_set_meta),
2442 (gst_preset_get_meta), (gst_preset_class_init),
2443 (gst_preset_base_init), (gst_preset_get_type):
2445 Add GstPreset to core. Fixes #396779
2447 * tests/check/Makefile.am:
2448 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2449 (gst_preset_test_set_property), (gst_preset_test_class_init),
2450 (gst_preset_test_base_init), (gst_preset_test_get_type),
2451 (gst_preset_test_plugin_init), (GST_START_TEST),
2452 (remove_preset_file), (test_setup), (test_teardown),
2454 Add GstPreset unit tests.
2456 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2458 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2459 The default event function on a sinkpad should return TRUE when
2460 there are no internal links but should collect the return values from
2461 the internal links otherwise.
2463 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2465 * plugins/elements/gsttypefindelement.c:
2466 (gst_type_find_element_src_event),
2467 (gst_type_find_element_handle_event):
2468 Use faster and safer _pad_push_event().
2470 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2472 * docs/gst/gstreamer-sections.txt:
2473 * gst/gstutils.c: (element_find_unlinked_pad),
2474 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2476 API: add gst_bin_find_unlinked_pad()
2477 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2479 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2485 Fixed a bunch of typos.
2487 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2490 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2491 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2492 (gst_parse_bin_from_description_full):
2494 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2496 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2498 * docs/pwg/advanced-tagging.xml:
2499 Small docs update, can't be bothered to rewrite the nonsensical
2502 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2505 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2507 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2509 * gst/parse/grammar.y:
2510 Remove unneeded casts.
2512 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2514 * gst/parse/grammar.y:
2515 * tests/check/pipelines/parse-launch.c:
2516 Get all missing elements from a parse launch string if possible
2517 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2519 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2521 * tests/check/Makefile.am:
2522 * tests/check/pipelines/parse-launch.c:
2523 Add some unit tests for the new gst_parse_launch*_full() API.
2524 (Exposes a previously-existing memory leak in the error code
2525 path, so adding to VALGRIND_TO_FIX for now).
2527 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2529 * docs/gst/gstreamer-sections.txt:
2530 * gst/gst.c: (init_post):
2531 * gst/gst_private.h: (_GstParseContext):
2532 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2533 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2534 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2535 (gst_parse_launch_full):
2536 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2537 (GstParseFlags), (GstParseContext):
2538 * gst/gstutils.c: (gst_parse_bin_from_description),
2539 (gst_parse_bin_from_description_full):
2541 * gst/parse/grammar.y:
2542 * gst/parse/types.h:
2543 * win32/common/libgstreamer.def:
2544 Add new gst_parse_*_full API (#528178):
2545 API: gst_parse_launch_full()
2546 API: gst_parse_launchv_full()
2547 API: gst_parse_bin_from_description_full()
2548 API: gst_parse_context_new()
2549 API: gst_parse_context_free()
2550 API: gst_parse_context_get_missing_elements()
2552 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2554 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2556 * docs/faq/gst-uninstalled:
2557 Also support ffmpeg in gst-uninstalled.
2559 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2562 After discussion on IRC use the binary registry as default
2563 but allow to disable it with --disable-binary-registry.
2565 * win32/common/libgstreamer.def:
2566 Add the two new symbols for the binary registry.
2568 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2570 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2571 * gst/gstutils.c: (gst_parse_bin_from_description):
2572 * gst/parse/grammar.y: (graph):
2573 More guards against bad input; typo fix; some minor clean-ups.
2575 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2577 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2579 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2580 If nothing else can be used, use the last buffer's start time as
2581 the segment's last stop. Fixes bug #534258.
2583 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2585 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2586 Move size sanity check to the right place: downstream may return
2587 a buffer with a smaller size if the buffer caps are different than
2588 the requested ones, as may happen when doing reverse negotiation.
2590 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2592 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2593 (gst_file_sink_render):
2594 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2595 (gst_file_src_start):
2596 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2599 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2601 * gst/gstpad.c: (gst_pad_load_and_link):
2602 * gst/gstutils.c: (gst_element_link_pads),
2603 (gst_element_unlink_pads):
2604 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2605 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2606 (gst_check_teardown_sink_pad),
2607 (gst_check_element_push_buffer_list):
2608 * tests/check/elements/fakesink.c: (GST_START_TEST):
2609 * tests/check/elements/filesink.c:
2610 * tests/check/elements/filesrc.c: (GST_START_TEST):
2611 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2612 (mq_sinkpad_to_srcpad):
2613 * tests/check/elements/tee.c: (GST_START_TEST):
2614 * tests/check/generic/sinks.c: (GST_START_TEST):
2615 * tests/check/gst/gstbin.c: (GST_START_TEST):
2616 * tests/check/gst/gstevent.c: (GST_START_TEST):
2617 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2618 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2619 * tests/check/gst/gstquery.c: (GST_START_TEST):
2620 * tests/check/gst/gstutils.c: (GST_START_TEST):
2621 * tests/check/libs/basesrc.c: (GST_START_TEST):
2622 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2623 (gst_parse_test_element_change_state):
2624 Don't use gst_element_get_pad().
2626 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2629 Fix installing plugin documentation when gtk-doc is disabled.
2631 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2633 * docs/manual/advanced-autoplugging.xml:
2634 * docs/manual/basics-helloworld.xml:
2635 * docs/manual/basics-pads.xml:
2636 * docs/manual/highlevel-components.xml:
2637 Avoid using a bad function in the example code.
2639 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2641 * gst/gstclock.c: (gst_clock_set_calibration):
2642 Fix debug of the new clock rate.
2644 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2646 * win32/common/libgstbase.def:
2647 Add gst_base_sink_wait_clock() to the exported symbols.
2649 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2651 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2653 * libs/gst/base/gstbasetransform.c:
2654 (gst_base_transform_sink_event):
2655 Unref events that the GstBaseTransform::event vfunc didn't want to
2656 have forwarded by the base class. Closes a leak in identity.
2659 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2661 * docs/libs/gstreamer-libs-sections.txt:
2662 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2663 * libs/gst/base/gstbasesink.h:
2664 Expose a method that was previously used internally to synchronize
2665 against the clock because it can be useful for subclasses too.
2666 API: GstBaseSink::gst_base_sink_wait_clock()
2668 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2670 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2671 Add sanity check to make sure we don't get smaller buffers
2672 than requested (and fallback to normal buffer alloc if we do).
2674 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2676 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2677 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2678 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2679 Refactor adjusting the running_time with latency and offset into a
2681 When doing clipping, we still want to use the subclass get_times method,
2682 just in case the DURATION or TIMESTAMP are not set.
2684 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2686 * docs/gst/gstreamer-sections.txt:
2687 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2688 * gst/gsttypefind.h:
2689 * win32/common/libgstreamer.def:
2690 API: add gst_type_find_suggest_simple(), #533740.
2692 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2694 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2695 Use right error code when typefinding fails, so we can use
2696 the default (translated) error messages.
2698 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2700 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2701 (gst_base_src_start):
2702 When the subclass did not set caps on outgoing buffers, configure the
2703 caps we negotiated on the source pad.
2704 When the typefind helper does not find caps, error out properly instead
2705 of doing things with NULL caps.
2707 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2709 * gst/gsttypefind.h:
2710 Tabs to spaces, oh yes!
2712 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2714 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2715 Add David's and Benjamin's tests for array intersection to the
2716 unit test suite (#147931).
2718 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2721 Document that gst_event_new_tag() and gst_event_new_navigation()
2722 take ownership of the taglist/structure passed to them. (#533635).
2724 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2727 Don't descend into the plugins dir if plugin docs building
2731 Add a note about the new type:GTypeName syntax for the plugin
2732 documentation .types file.
2734 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2736 * gst/gstmessage.c: (gst_message_new_error),
2737 (gst_message_new_warning), (gst_message_new_info):
2739 Mark the debug string parameters as const. Fixes bug #533490.
2741 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2743 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2744 Sort buffer cache list by end offsets. This makes sure that we don't
2745 stop to search for a cached buffer that contains the requested data
2747 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2748 more efficient. Fixes bug #459862.
2750 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2753 Explain why we copy the list.
2755 * gst/gstpipeline.c:
2759 Add one debug-log statement to help tracing probelms with linking pads.
2761 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2763 * tests/check/gst/gstinfo.c:
2764 Add a test for removing the default log handler. Seems to fail under
2767 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2769 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2770 Release pad lock before calling out to avoid a possible deadlock.
2772 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2774 * gst/parse/grammar.y:
2775 Remove unneeded value unset.
2777 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2778 Add unit test for de/serialization of caps.
2780 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2782 * plugins/elements/gstfakesink.c:
2783 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2784 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2785 (gst_fake_src_class_init):
2786 Use custom marshalers that take GstMiniObject as first parameter.
2787 Using OBJECT as parameter while a GstMiniObject is given will lead
2788 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2790 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2792 * plugins/elements/gsttypefindelement.c:
2793 (gst_type_find_element_handle_event),
2794 (gst_type_find_element_send_cached_events),
2795 (gst_type_find_element_change_state):
2796 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2799 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2801 * plugins/elements/gsttypefindelement.c:
2802 (gst_type_find_handle_src_query), (stop_typefinding),
2803 (gst_type_find_element_handle_event),
2804 (gst_type_find_element_send_cached_events),
2805 (gst_type_find_element_change_state):
2806 Forward FLUSH_START events immediately and clean up instead of
2809 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2811 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2813 * libs/gst/base/gstbasetransform.c:
2814 (gst_base_transform_buffer_alloc):
2815 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2816 fall back to default negotiation in the chain function if the caps
2817 are different from what was requested. Fixes bug #526768.
2819 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2822 * tests/check/gst/gstsegment.c:
2823 No, let's not use g_slice_{dup|copy} here, since they only exist
2824 since GLib 2.14 and we still depend only on >= 2.12. Also add
2825 unit test for gst_segment_copy().
2827 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2829 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2830 Try to fix 'dereferencing type-punned pointer will break strict
2831 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2832 changed the default GType typedef from gulong to gsize at some point,
2833 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2834 g_once_* functions all take a gsize * though, so work around the type
2835 mismatch for C++ by doing everything in gsize and casting to GType
2838 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2840 * plugins/elements/gstmultiqueue.c:
2841 Add documentation for the signals to push our core plugin docs
2842 coverage back up to 100%.
2844 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2846 * gst/gstinfo.h (GST_FUNCTION):
2847 Reverted GST_FUNCTION to the old version as we don't want the
2848 full signature in C++ code. Also added support for MSVC.
2850 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2853 Intern the type name string, similar to what G_DEFINE_TYPE does.
2855 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2858 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2860 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2862 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2864 * libs/gst/base/gstbasetransform.c:
2865 (gst_base_transform_buffer_alloc):
2866 Don't passthrough buffer allocation too easily if the caps change.
2867 This breaks when working in passthrough mode and upstream changes
2868 it's caps. Fixes bug #526768.
2870 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2872 * gst/gstinfo.c (gst_debug_log_valist):
2873 Improved the __FILE__ part of debug output for MSVC.
2875 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2877 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2878 Declaration after statement fix for compilers like MSVC.
2880 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2882 * win32/common/config.h.in:
2883 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2884 use the real thing than having "???" unconditionally.
2886 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2888 * gst/gstinfo.h (GST_FUNCTION):
2889 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2891 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2893 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2896 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2897 (gst_base_sink_set_flushing):
2898 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2901 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2903 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2904 (gst_fake_src_init), (gst_fake_src_set_property),
2905 (gst_fake_src_get_property), (gst_fake_src_start):
2906 * plugins/elements/gstfakesrc.h:
2907 Added format property to control the format of the newsegment events.
2908 API: GstFakeSrc:format
2910 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2912 * win32/common/libgstreamer.def:
2913 Add gst_pad_has_name() to the exported symbols.
2915 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2917 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2918 * libs/gst/base/gstbasetransform.c:
2919 (gst_base_transform_prepare_output_buffer):
2920 Don't allow negative sizes when allocating new buffers.
2923 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2925 Patch by: Sjoerd Simons <sjoerd at luon net>
2927 * gst/gstbus.c: (gst_bus_source_dispatch):
2928 Don't print a warning if the queue is empty when we try to pop
2929 here. That could happen if another thread or callback set the
2930 bus to flushing between the source's check/prepare and the
2931 dispatch being called (#531538).
2933 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2935 * plugins/elements/gstmultiqueue.c:
2938 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2940 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2941 Add unit test for deserializing uint64s and check some really large
2942 numbers in the int64 test.
2944 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2946 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2947 (print_interfaces), (print_element_properties_info),
2948 (print_signal_info):
2949 Use "%s" as format string instead of printing strings directly.
2951 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2953 * gst/gstclock.c: (gst_clock_set_calibration):
2954 Make some checks actually useful.
2956 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2957 Remove some unused code. Unsigned integers tend to be >= 0.
2959 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2961 * gst/gstminiobject.c: (gst_value_get_mini_object):
2962 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2963 function was not in the unscheduled 0.10.19 release.
2965 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2967 * gst/gstregistry.c: (gst_registry_scan_path_level):
2968 Only print one log message per non-plugin file.
2970 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2972 * gst/gstinfo.c: (gst_debug_log_default):
2973 Fix alignment of debug log columns on 64-bit.
2975 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2977 * docs/libs/Makefile.am:
2978 * docs/libs/gstreamer-libs-sections.txt:
2979 Ignore private controller headers for docs.
2981 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
2983 * libs/gst/controller/gstcontrollerprivate.h:
2984 * libs/gst/controller/gsthelper.c:
2985 * libs/gst/controller/gstinterpolation.c:
2986 * libs/gst/controller/gstinterpolationcontrolsource.c:
2987 (gst_interpolation_control_source_set_interpolation_mode):
2988 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2989 * libs/gst/controller/lib.c:
2990 Move some private declarations into private headers.
2992 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
2994 * gst/gstdebugutils.c: (debug_dump_element_pad):
2995 Remove some code that is unused after Stefan's refactoring and uses
2996 uninitialized variables now, resulting in a compiler warning.
2998 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
3000 * gst/gstregistry.c: (gst_registry_scan_path_level):
3001 Run g_str_has_suffix() only on the file name, not the
3004 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
3006 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
3007 Since we're not called only from the chain function any longer,
3008 we can't assume that there's always data in the queue, so move
3009 the is_full check to the beginning of the loop (otherwise we'd
3010 hit the assert when changing the limit properties while the
3011 queue is empty or not running yet).
3012 Also, only set a discont if items were actually removed from
3015 * tests/check/elements/queue.c: (test_leaky_downstream):
3016 Test case for the above.
3018 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
3020 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
3022 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
3023 (gst_queue_chain), (queue_capacity_change),
3024 (gst_queue_set_property):
3025 When changing thr max capacity of a leaky queue, immediatly drop buffers
3026 instead of waiting for a push on the sinkpad. Fixes #530637.
3028 2008-04-30 Stefan Kost <ensonic@users.sf.net>
3030 * gst/gstdebugutils.c:
3031 Refactor code and fix handling of ghostpads and their proxypads.
3033 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
3035 * docs/gst/gstreamer-sections.txt:
3036 * gst/gstevent.c: (gst_event_has_name):
3038 * tests/check/gst/gstevent.c: (GST_START_TEST):
3039 Add method to conveniently check the name of a custom event with
3040 gst_event_has_name().
3041 Reformat the event docs so that related methods are put together instead
3042 of the default alphabetical sort.
3043 Update unit test with new method.
3044 API: GstEvent::gst_event_has_name()
3046 2008-04-28 Michael Smith <msmith@songbirdnest.com>
3048 * libs/gst/check/Makefile.am:
3049 Don't add an explicit link to libgstreamer-0.10.la; it's already
3050 included in GST_OBJ_LIBS.
3052 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
3055 Register GstClock type from a type-safe context. Fixes bug #530317.
3057 2008-04-25 Michael Smith <msmith@songbirdnest.com>
3059 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3061 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3063 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3065 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3067 Use the GLib stuff to create a private structure.
3068 Add some locking around some dispose methods to make them a little
3069 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3071 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3073 * libs/gst/base/gstbasesink.h:
3074 * libs/gst/base/gstbasesrc.h:
3075 * libs/gst/base/gstbasetransform.h:
3076 * libs/gst/base/gstcollectpads.h:
3077 Fix doc typos and unify caps a bit.
3079 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3081 * tools/gst-launch.1.in:
3082 Forgot to also add the envvar docs here.
3084 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3086 * gst/gst.c: (init_post), (gst_deinit):
3087 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3088 (test_concurrent_create), (gst_pipeline_suite):
3089 Ref some more classes in gst_init() to work around thread-safety
3090 issues in pre-2.16 GLibs, and add basic unit test.
3092 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3094 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3095 (gst_base_sink_send_event):
3096 Rearrange the latency query code. We always want to do the upstream
3097 query, even if we are not live so that the upstream elements can get the
3098 latency results too. If we fail doing the query and we are live, we
3099 return TRUE afterwards.
3101 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3103 patch by: Jason Zhao <e3423c@motorola.com>
3105 * docs/gst/running.xml:
3107 Enable/disable scan_and_update_registry() based on commandline switch
3108 or environment variable. Fixes #520468.
3111 Fix typo in my previous commit.
3113 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3115 * gst/gstregistrybinary.c:
3116 Add a warning if we hit unhandled factories when saving.
3117 More debug logging detail, but move to LOG category.
3119 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3121 * gst/gstregistry.c:
3122 Tell the *truth* when improving the documentation.
3124 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3126 * gst/gstelementfactory.c: (gst_element_factory_make):
3127 Unref the factory after it was used the last time, not before.
3129 * gst/gstindexfactory.c: (gst_index_factory_make):
3130 Improve debugging a bit and don't leak a ref to the index factory with
3133 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3135 * gst/gstregistry.c:
3136 Improve the documentation.
3138 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3141 The glib macro seems to be borked. Use g_slice_copy directly and cast
3142 in the hope that this fixes the warning on 64bit.
3144 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3147 Document the new function. Use g_slice_dup() (no need for
3148 gst_segment_init()).
3150 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3152 * docs/gst/gstreamer-sections.txt:
3153 Move GParamSepc macros to standart section.
3156 Dn't document _get_type - its in private section in docs anyway and
3157 this doc-blob was incomplete.
3160 Fix wrong symbol names in docs.
3163 Add once doc sentence.
3165 * tests/check/gst/.cvsignore:
3168 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3170 * docs/gst/Makefile.am:
3171 And remove those libs here.
3173 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3175 * docs/libs/Makefile.am:
3176 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3178 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3180 Patch by: Olivier Crete <tester at tester dot ca>
3182 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3183 Add the min-threshold to the min latency if possible. Fixes #529148.
3185 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3187 * docs/gst/gstreamer.types.in:
3188 Stupid editor, I removed that line as it should go in yet.
3190 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3192 * docs/gst/gstreamer.types.in:
3193 * docs/libs/gstreamer-libs.types:
3194 Remove library types fro core docs and have them in libs docs.
3195 Reformat and cleanup. Add comment for miniobject types.
3197 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3199 * gst/gsturi.c: (gst_uri_get_protocol):
3200 Fix leak: g_strdown operates on the string in place, while
3201 g_ascii_strdown() returns a newly-allocated string.
3203 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3205 * tools/gst-inspect.c: (print_uri_handler_info),
3206 (print_element_info):
3207 Print the URI protocols and the URI type supported by the element.
3209 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3211 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3212 Use g_value_take_string() instead of the deprecated
3213 g_value_set_string_take_ownership().
3215 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3217 * gst/gstregistrybinary.c: (_gst_crc32):
3218 Return the old CRC instead of 0 if we give a NULL buffer
3219 or a buffer with a length of 0.
3221 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3223 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3224 (gst_uri_get_protocol), (gst_uri_has_protocol),
3225 (gst_uri_construct), (gst_uri_handler_set_uri):
3226 A valid URI scheme can also include '+', '-' and '.' additional
3227 to alphanumeric characters as per RFC 3986 Section 3.1.
3229 Handle URI schemes case insensitive in all places and convert
3230 to lower-case when constructing an URI or setting an URI with
3231 the GstURIHandler interface. Fixes bug #528868.
3232 All elements can still assume (as before) that they will
3233 get passed URIs with a lower-case URI scheme by the GstURIHandler
3236 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3238 * gst/gstcaps.c: (gst_static_caps_get):
3239 * gst/gstclock.c: (gst_clock_entry_new):
3240 Don't use g_atomic_set_int where it's not needed.
3242 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3244 * gst/gstvalue.c: (gst_value_deserialize_caps):
3245 * gst/parse/grammar.y:
3248 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3250 * gst/gstutils.c: (gst_atomic_int_set):
3251 Use g_atomic_int_set() here too instead of assignment +
3254 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3258 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3259 now that we depend on new enough GLib.
3261 * gst/gstcaps.c: (gst_static_caps_get):
3262 * gst/gstclock.c: (gst_clock_entry_new):
3263 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3264 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3265 (gst_debug_category_set_threshold):
3266 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3267 (gst_base_sink_set_qos_enabled):
3268 * libs/gst/net/gstnettimeprovider.c:
3269 (gst_net_time_provider_set_property):
3270 Use g_atomic_int_set() instead of gst_atomic_int_set().
3272 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3275 Also use G_GINT64_CONSTANT for the queries.
3277 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3280 Use G_GINT64_CONSTANT in varargs function.
3282 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3284 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3285 Initialize the registry magic with zeroes.
3287 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3289 * gst/gstregistrybinary.c: (_gst_crc32),
3290 (gst_registry_binary_write),
3291 (gst_registry_binary_initialize_magic),
3292 (gst_registry_binary_write_cache),
3293 (gst_registry_binary_check_magic),
3294 (gst_registry_binary_read_cache):
3295 * gst/gstregistrybinary.h:
3296 Add crc32 checksum to the binary registry file and check this before
3297 accepting a registry file.
3299 Also free the data list when writing to the registry file fails.
3301 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3303 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3304 (gst_registry_binary_load_feature),
3305 (gst_registry_binary_load_plugin):
3306 If an element supports the Uri interface, returns a valid pointer
3307 to the supported URI protocols but this pointer contains nothing
3308 don't try to save that as it will corrupt the registry.
3310 Don't unref the plugin if we added it to the registry already but
3311 fail to load a feature as gst_registry_add_plugin() takes ownership
3314 Improve debugging a bit.
3316 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3319 Clarify some tag item docs after discussion on irc.
3321 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3323 * docs/gst/gstreamer-docs.sgml:
3324 Remove commented out plugins (they have their own docs). Update
3327 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3329 * docs/gst/gstreamer-docs.sgml:
3330 * docs/gst/gstreamer-sections.txt:
3331 * gst/gstparamspecs.c:
3332 * gst/gstparamspecs.h:
3333 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3334 docs to own section.
3337 This now only documents GValue.
3339 * docs/libs/gstreamer-libs-sections.txt:
3340 * libs/gst/controller/gstcontroller.h:
3341 Remove GST_PARAM_CONTROLLABLE.
3343 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3346 Correct file path. Tell about how to use -overrides.txt.
3347 * docs/design/draft-tagreading.txt:
3348 Small design update.
3350 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3352 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3353 (gst_registry_binary_load_plugin):
3354 Fix a typo in a debug message and revert change from yesterday as
3355 gst_registry_add_plugin() will only fail if something is really wrong
3356 already and we can't survive it anyway.
3358 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3360 * gst/gst.c: (init_post), (gst_deinit):
3361 Pre-register GstGError GType from a thread-safe context
3362 (fixes #527967); unref enum type classes in deinit.
3364 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3366 Patch by: Rene Stadler <mail at renestadler de>
3368 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3369 Merging an empty list with another list in KEEP_ALL mode should
3370 yield an empty list as result and not the second list (#512578).
3372 * tests/check/gst/gsttagsetter.c:
3373 Add unit test for tag merge modes and the aforementioned bug.
3375 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3377 Patch by: Rene Stadler <mail at renestadler de>
3380 Fix description to match the order in the table (#512577).
3382 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3384 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3386 * libs/gst/net/gstnettimepacket.h:
3387 * docs/libs/gstreamer-libs-sections.txt:
3388 Define socklen_t as int if it's not defined yet. Fixes compilation
3389 with MSVC6 and other versions where socklen_t is not defined in
3390 the windows headers (#518022).
3392 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3394 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3395 If gst_registry_add_plugin() fails our reference to the plugin is
3396 invalid so don't try to use it anymore and instead error out.
3398 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3400 * tools/gst-xmlinspect.c: (print_element_info), (main):
3401 De-cruft a bit. If no argument is specified, print all elements in
3402 XML syntax rather than a freestyle list of elements like gst-inspect.
3403 Also, don't print XML header chunk unless we actually have something
3404 to print (ie. don't print it before an error message); print error
3405 message to stderr not stdout. Remove support for printing plugin
3406 info (it would just output something freestyle along the lines of
3407 gst-inspect so far), which fixes #514507. Also add license header.
3409 2008-04-11 Julien Moutte <julien@fluendo.com>
3412 * configure.ac: Merge platform specific defines, introduce a new
3413 define on OS X to remember that forking when updating registry is
3415 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3417 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3419 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3420 condition that leads to absolutely no plugins being registered on
3423 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3425 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3427 * gst/gstutils.c: (gst_pad_add_data_probe),
3428 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3429 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3430 (gst_pad_add_buffer_probe_full):
3432 * docs/gst/gstreamer-sections.txt:
3433 * win32/common/libgstreamer.def:
3434 Add gst_pad_add_*_probe_full() functions with a notify callback that
3435 lets the caller free the data it passes to the probe functions. This
3436 is useful for bindings such as gst-python or gstreamermm (#526814).
3437 API: gst_pad_add_data_probe_full
3438 API: gst_pad_add_buffer_probe_full
3439 API: gst_pad_add_event_probe_full
3441 * tests/check/gst/gstutils.c:
3442 Add minimal unit test to make sure freeing the data actually works
3445 * tests/benchmarks/.cvsignore:
3446 Random cvsignore addendum.
3448 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3450 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3451 (GST_DEBUG_BIN_TO_DOT_FILE):
3452 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3453 to it in the docs (since these are macros the types of the arguments
3454 won't be shown in the docs otherwise).
3456 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3459 Do not abort on out of memory for pad_alloc_buffer.
3461 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3463 * libs/gst/check/gstcheck.c:
3464 Remove blank line between symbol name ad parameters to fix gtkdoc
3467 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3469 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3471 * docs/gst/gstreamer-sections.txt:
3474 * win32/common/libgstreamer.def:
3475 Expose gst_segment_copy() to make things easier for the c++ bindings.
3477 API: gst_segment_copy()
3479 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3481 * gst/gst.c: (gst_init_get_option_group), (init_post):
3482 Fix const position; ref GType classes for enum types to work
3483 around thread-safety issues in GLib versions < 2.16.
3485 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3487 * docs/design/part-buffering.txt:
3488 Fix some typos and set the estimated total for push mode to -1.
3490 * gst/gstquery.c: (gst_query_new_buffering):
3491 Set buffering-left to 0 as we're not buffering by default.
3493 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3494 Implement BUFFERING query.
3496 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3498 Based on patch by: Milosz Derezynski <internalerror gmail com>
3500 * gst/gsterror.c: (_gst_stream_errors_init):
3502 Add two new error codes for encrypted content. Fixes #524659.
3503 API: GST_STREAM_ERROR_DECRYPT
3504 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3506 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3511 * win32/common/libgstreamer.def:
3514 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3516 * plugins/elements/gstidentity.c: (gst_identity_event),
3517 (gst_identity_start):
3518 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3519 event after processing some data. Fixes bug #526042.
3521 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3523 * docs/gst/gstreamer-sections.txt:
3524 * gst/gstquery.c: (gst_query_parse_latency),
3525 (gst_query_set_buffering_percent),
3526 (gst_query_parse_buffering_percent),
3527 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3529 Rename _avail -> _range
3530 API: gst_query_set_buffering_range
3531 API: gst_query_parse_buffering_range
3533 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3535 * docs/design/part-buffering.txt:
3538 * gst/gstquery.c: (gst_query_parse_latency),
3539 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3540 (gst_query_parse_buffering_percent):
3542 Add busy field and quark for the buffering query so that the app can
3543 only use the query to see if buffering is in progress.
3545 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3547 * docs/gst/gstreamer-sections.txt:
3548 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3549 (gst_message_parse_buffering_stats):
3551 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3552 (gst_query_parse_latency), (gst_query_new_buffering),
3553 (gst_query_set_buffering_percent),
3554 (gst_query_parse_buffering_percent),
3555 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3556 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3558 Reorder the message docs and headers for clarity.
3559 Add aditional buffering stats API for messages.
3560 Add buffering query.
3561 Convert some leftover queries to use GstQuark.
3562 API: gst_message_set_buffering_stats
3563 API: gst_message_parse_buffering_stats
3564 API: GST_QUERY_BUFFERING
3565 API: GstBufferingMode
3566 API: gst_query_new_buffering
3567 API: gst_query_set_buffering_percent
3568 API: gst_query_parse_buffering_percent
3569 API: gst_query_set_buffering_stats
3570 API: gst_query_parse_buffering_stats
3572 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3574 * gst/gstmessage.c: (gst_message_new_error),
3575 (gst_message_new_warning), (gst_message_new_info),
3576 (gst_message_new_buffering), (gst_message_new_state_changed),
3577 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3578 (gst_message_new_new_clock), (gst_message_new_segment_start),
3579 (gst_message_new_segment_done), (gst_message_new_duration),
3580 (gst_message_new_async_start), (gst_message_parse_buffering),
3581 (gst_message_parse_state_changed),
3582 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3583 (gst_message_parse_new_clock), (gst_message_parse_error),
3584 (gst_message_parse_warning), (gst_message_parse_info),
3585 (gst_message_parse_segment_start),
3586 (gst_message_parse_segment_done), (gst_message_parse_duration),
3587 (gst_message_parse_async_start):
3588 Use GstQuark for messages.
3590 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3592 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3594 Add some more quarks needed for messages and queries.
3596 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3598 * docs/design/part-buffering.txt:
3599 Remove the "none" buffering mode, STREAM is a good default.
3600 Move estimated-time to the avail query, that's when it will be needed.
3601 Other small typo fixes and updates.
3603 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3605 * gst/gstindex.c: (gst_index_resolver_get_type):
3606 Don't put descriptions into the nick field of a GEnumValue: it's not
3607 meant for that and some language bindings rely on the nick field to
3608 construct constants and the like. Fixes #526705.
3610 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3615 Merge other changes from 0.10.19 release branch.
3617 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3619 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3622 Actually build dlls when cross-compiling with mingw32.
3625 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3627 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3630 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3632 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3634 * docs/design/draft-latency.txt:
3637 * docs/design/part-buffering.txt:
3638 Update design docs with more buffering ideas.
3640 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3643 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3645 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3648 Revert part that belongs to the preset patch.
3650 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3653 Add qoutes to the define. Fixes # 525961.
3655 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3657 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3658 (gst_file_index_load), (gst_file_index_add_id),
3659 (gst_file_index_get_assoc_entry):
3660 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3661 (gst_mem_index_free_id), (gst_mem_index_add_id),
3662 (gst_mem_index_index_format):
3663 Use GSlice when possible.
3665 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3667 * libs/gst/controller/gstinterpolationcontrolsource.c:
3668 (gst_control_point_free),
3669 (gst_interpolation_control_source_set_internal):
3670 Use GSlice for allocating the control points.
3672 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3674 * plugins/elements/gsttypefindelement.c:
3675 (gst_type_find_element_class_init),
3676 (gst_type_find_element_set_property),
3677 (gst_type_find_element_get_property),
3678 (gst_type_find_element_activate):
3679 * plugins/elements/gsttypefindelement.h:
3681 Fix pad leak when peer query fails.
3682 We can still typefind when the peer returns -1.
3683 Add property to force caps and bypass typefinding. This will be used in
3687 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3692 * gst/glib-compat-private.h:
3693 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3694 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3695 Unconditionally use GSlice for allocation.
3697 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3698 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3699 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3700 (gst_structure_free):
3701 Use GSlice for allocation.
3703 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3705 * gst/parse/Makefile.am:
3706 * gst/parse/grammar.tab.pre.c:
3707 * gst/parse/grammar.tab.pre.h:
3708 * gst/parse/lex._gst_parse_yy.pre.c:
3709 Require a new enough flex and bison and remove the parser hacks to use
3710 a pre-regenerated version.
3712 2008-04-01 Julien Moutte <julien@fluendo.com>
3714 patch by: Jason Zhao <E3423C@motorola.com>
3716 * configure.ac: Add a configure switch to disable option parsing
3720 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3723 * gst/gstregistry.c:
3724 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3725 and handle this case.
3728 Add a comment here describing, why we stat each plugin and not try to
3731 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3733 * libs/gst/base/gstbasetransform.c:
3734 (gst_base_transform_prepare_output_buffer):
3735 Also unset the GAP flag on buffers if we're working inplace but
3736 the element is not GAP-aware.
3738 Mark a comment as FIXME 0.11.
3740 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3743 Fix type in log message and add one to ease seeing how long registry
3744 cache verification takes.
3746 * gst/gstregistry.c:
3747 Only test plugin filenames against G_MODULE_SUFFIX.
3749 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3751 * gst/gstdebugutils.c:
3752 Improve handling ghost/proxy pads.
3754 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3756 * docs/gst/gstreamer-sections.txt:
3759 Expose macro to docs and fix link to it.
3761 2008-03-27 Michael Smith <msmith@fluendo.com>
3763 * libs/gst/dataprotocol/dataprotocol.c:
3764 (gst_dp_packet_from_event_1_0):
3765 When calculating GDP body CRC, use the correct pointer.
3766 Fixes part of #522401.
3768 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3770 Patch by: Mark Nauwelaerts <manauw at skynet be>
3772 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3773 (gst_identity_init), (gst_identity_prepare_output_buffer):
3774 Identity is not always a passthrough element, it can modify the buffer
3775 timestamps when it has a datarate and operates in single-segment mode.
3776 We therefore make it an in_place filter with a custom buffer prepare
3777 function that conditionally makes the input buffer metadata writable
3778 when needed. Fixes #523985.
3780 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3782 Patch by: Mark Nauwelaerts <manauw at skynet be>
3785 * libs/gst/base/gstbasesrc.h:
3786 * libs/gst/base/gstbasetransform.c:
3787 * libs/gst/check/gstcheck.c:
3788 Small documentation fixes. Fixes #523978.
3790 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3792 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3793 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3794 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3796 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3798 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3799 (single_queue_underrun_cb):
3800 When trying to make room in the queue, bump the max allowed buffers
3801 bigger than the current amount of buffers in the queue. this fixes some
3802 nasty deadlocks in multiqueue when dynamically changing the limits of
3805 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3807 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3809 * gst/gstcaps.c: (gst_caps_set_simple),
3810 (gst_caps_set_simple_valist), (gst_caps_intersect):
3812 Constify the field gchar * params in set_simple and friends.
3815 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3817 * gst/gstvalue.c: (gst_value_transform_object_string):
3818 Transform a GstObject to a more meaningfull string that includes the
3819 object type in addition to its name.
3821 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3824 ChangeLog surgery to add bugnumber to commit.
3826 2008-03-23 Rene Stadler <mail@renestadler.de>
3828 * libs/gst/base/gstbasetransform.c:
3829 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3831 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3833 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3834 Rename constant everywhere and don't forget one occurence.
3836 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3838 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3839 Align memory to the pointer size even if the architecture allows
3840 unaligned memory access. Unaligned memory access usually comes with
3841 performance penality.
3843 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3845 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3846 (gst_registry_binary_check_magic),
3847 (gst_registry_binary_load_pad_template),
3848 (gst_registry_binary_load_feature),
3849 (gst_registry_binary_load_plugin):
3850 Align memory to the pointer size instead of always 32 bit. Fixes
3851 unaligned memory accesses on ia64 and friends.
3853 * gst/gstregistrybinary.h:
3854 Bump binary registry format version for this as it changes the
3855 format on those architectures that don't have unaligned access
3856 and 64 bit pointers.
3858 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3860 * docs/pwg/advanced-dparams.xml:
3861 * docs/pwg/building-props.xml:
3862 * docs/pwg/other-source.xml:
3863 * gst/glib-compat.h:
3864 * gst/gstbin.c: (gst_bin_class_init):
3865 * gst/gstclock.c: (gst_clock_class_init):
3866 * gst/gstindex.c: (gst_index_class_init):
3867 * gst/gstobject.c: (gst_object_class_init):
3868 * gst/gstpad.c: (gst_pad_class_init):
3869 * gst/gstpipeline.c: (gst_pipeline_class_init):
3870 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3871 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3872 * libs/gst/base/gstbasetransform.c:
3873 (gst_base_transform_class_init):
3874 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3875 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3876 (_gst_check_fault_handler_sighandler),
3877 (_gst_check_fault_handler_setup), (gst_check_init):
3878 * libs/gst/controller/gstcontroller.c:
3879 (_gst_controller_class_init):
3880 * libs/gst/controller/gstlfocontrolsource.c:
3881 (gst_lfo_control_source_class_init):
3882 * libs/gst/net/gstnetclientclock.c:
3883 (gst_net_client_clock_class_init):
3884 * libs/gst/net/gstnettimeprovider.c:
3885 (gst_net_time_provider_class_init):
3886 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3887 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3888 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3889 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3890 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3891 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3892 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3893 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3894 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3895 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3896 * plugins/elements/gsttee.c: (gst_tee_class_init):
3897 * plugins/elements/gsttypefindelement.c:
3898 (gst_type_find_element_class_init):
3899 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3900 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3901 use it everywhere for GParamSpecs that use static strings (i.e. all).
3902 This gives us less memory usage, fewer allocations and thus less
3903 memory defragmentation. Fixes bug #523806.
3905 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3907 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3908 (gst_param_spec_mini_object):
3909 * gst/gstminiobject.h:
3910 * win32/common/libgstreamer.def:
3911 * docs/gst/gstreamer-sections.txt:
3912 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3913 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3914 GstParamSpecMiniObject into a public header for this.
3916 This make GstMiniObject a bit more consistent with GObject and makes
3917 it possible to extend the param specs.
3919 gst_value_dup_mini_object is mainly useful for set_property methods.
3923 * tools/gst-inspect.c: (print_element_properties_info):
3924 Print something useful for GstMiniObject properties and not just
3927 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3929 * docs/gst/gstreamer-sections.txt:
3930 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3931 (gst_registry_binary_check_magic):
3932 * gst/gstregistrybinary.h:
3933 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3934 and add it to the (private part) of the docs to fix the build.
3936 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3938 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3939 (gst_registry_binary_check_magic),
3940 (gst_registry_binary_read_cache):
3941 * gst/gstregistrybinary.h:
3942 Don't use GST_MAJORMINOR for the binary registry version. Instead
3943 hardcode a value that must be changed whenever the format changes
3944 in an incompatible way.
3945 Also don't GST_ERROR when there is a version mismatch, just
3946 regenerate the registry silently.
3948 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3951 Back to development - 0.10.18.1
3953 === release 0.10.18 ===
3955 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
3958 releasing 0.10.18, "So far away"
3960 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
3963 * win32/common/config.h:
3964 0.10.17.4 pre-release
3966 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
3968 Patch by: Ole André Vadla Ravnås
3969 <ole dot andre dot ravnas at tandberg dot com>
3971 * docs/gst/gstreamer-sections.txt:
3972 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3973 (gst_poll_update_winsock_event_mask),
3974 (gst_poll_prepare_winsock_active_sets),
3975 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3976 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3977 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3978 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3979 (gst_poll_check_ctrl_commands), (gst_poll_wait):
3981 * win32/common/libgstreamer.def:
3982 Add new function gst_poll_fd_ignored() for improved Windows
3984 Various minor fixes and cleanups. See #520808.
3986 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
3988 * gst/gstindex.c: (gst_index_entry_free):
3990 Don't free key strings which we don't own. Fixes crash in
3991 gst_index_entry_free() (#522741).
3993 * tests/check/Makefile.am:
3994 * tests/check/gst/.cvsignore:
3995 * tests/check/gst/gstindex.c: (test_index_entries),
3996 (gst_index_suite), (gst_index):
3997 Add unit test for the above.
3999 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
4001 * win32/common/libgstreamer.def:
4002 Remove symbols that were removed recently. Fixes bug #521740.
4004 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
4007 * win32/common/config.h:
4008 0.10.17.3 pre-release
4010 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
4012 Patch by: Ole André Vadla Ravnås
4013 <ole dot andre dot ravnas at tandberg dot com>
4015 * docs/gst/gstreamer-sections.txt:
4016 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
4017 (gst_poll_update_winsock_event_mask), (gst_poll_new),
4018 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
4019 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4020 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
4021 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
4022 (gst_poll_fd_can_write), (gst_poll_wait),
4023 (gst_poll_set_controllable), (gst_poll_restart),
4024 (gst_poll_set_flushing):
4026 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
4027 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
4028 (gst_net_time_provider_new):
4029 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4030 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
4031 * tests/benchmarks/gstpollstress.c: (main):
4032 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
4033 Remove GstPollMode from the API, it does not make sense to let the
4034 application control this.
4035 Add support for Win32.
4036 Fix the testsuite. Fixes #520671.
4038 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
4040 Patch by: Ole André Vadla Ravnås
4041 <ole dot andre dot ravnas at tandberg dot com>
4043 * gst/gstregistrybinary.c:
4044 Include io.h for write() and close() when building with MSVC. Fixes
4047 2008-03-07 Stefan Kost <ensonic@users.sf.net>
4050 * gst/gst_private.h:
4051 * gst/gstconfig.h.in:
4052 * gst/gstregistry.h:
4053 * gst/gstregistrybinary.c:
4054 * win32/common/gstconfig.h:
4055 Move registry backend API to private headers where we can. Add
4056 fixme-0.11 comments for the others. Add stubs for the xml backend when
4057 using the binary to ensure they functions exists (they should not be
4058 used though). Fixes #520756.
4060 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
4063 * win32/common/config.h:
4066 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4068 * gst/gstregistrybinary.c: (gst_registry_binary_write),
4069 (gst_registry_binary_read_cache):
4070 * gst/gstregistryxml.c: (gst_registry_save):
4071 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4072 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4073 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4074 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4075 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4078 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4080 * gst/gstminiobject.c:
4081 Import gst_private.h before any other header that might include other
4082 glib headers. This fixes the build on windows using native compilers.
4084 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4086 * win32/common/gstconfig.h:
4087 Add here too, just for completeness.
4089 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4092 * gst/gstconfig.h.in:
4093 * gst/gstregistry.h:
4094 Fix broken use of config.h-defined preprocessor directive in a public
4095 header file. Add a corresponding define to gstconfig.h, since we can't
4096 really remove those function declarations from the header file now
4097 (or can we? and why are they there in the first place?).
4099 2008-03-03 Andy Wingo <wingo@pobox.com>
4101 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4104 * gst/gststructure.c (gst_structure_from_string): Warn if
4105 structure_from_string didn't consume the whole string, but the
4106 caller did not provide an end pointer.
4108 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4110 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4112 * gst/gstregistryxml.c: (read_string), (load_feature):
4113 Strings allocated by libxml2 should be freed with xmlFree(), not
4114 with g_free(). Fixes issues on windows in certain contexts (#519698).
4116 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4118 * gst/gstinterface.c: (gst_element_implements_interface):
4119 Don't crash if the element supports the interface queried, but does
4120 not implement GstImplementsInterface. Fixes #519584.
4122 * tests/check/Makefile.am:
4123 * tests/check/gst/.cvsignore:
4124 * tests/check/gst/gstinterface.c:
4125 Add unit test for the above.
4127 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4129 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4132 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4134 * gst/gstsegment.c: (gst_segment_set_seek),
4135 (gst_segment_to_stream_time):
4136 Improve some comment.
4137 Update variables where it makes more sense.
4139 2008-02-29 Rene Stadler <mail@renestadler.de>
4141 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4142 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4143 URIHandlers implemented using language bindings.
4145 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4147 * gst/gstelementfactory.h:
4148 * tests/check/elements/fakesink.c:
4149 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4150 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4151 * tests/check/elements/filesink.c: (setup_filesink):
4152 * tests/check/elements/filesrc.c: (setup_filesrc):
4153 * tests/check/elements/identity.c: (setup_identity):
4154 * tests/check/elements/tee.c:
4155 * tests/check/generic/sinks.c:
4156 * tests/check/generic/states.c: (setup), (teardown):
4157 * tests/check/gst/gst.c:
4158 * tests/check/gst/gstabi.c:
4159 * tests/check/gst/gstbin.c:
4160 * tests/check/gst/gstbus.c: (pull_messages):
4161 * tests/check/gst/gstcaps.c:
4162 * tests/check/gst/gstelement.c:
4163 * tests/check/gst/gstevent.c:
4164 * tests/check/gst/gstghostpad.c:
4165 * tests/check/gst/gstiterator.c:
4166 * tests/check/gst/gstmessage.c:
4167 * tests/check/gst/gstminiobject.c: (my_foo_init):
4168 * tests/check/gst/gstobject.c: (thread_name_object),
4170 * tests/check/gst/gstpad.c:
4171 * tests/check/gst/gstplugin.c:
4172 * tests/check/gst/gstpoll.c:
4173 * tests/check/gst/gstquery.c:
4174 * tests/check/gst/gstsegment.c:
4175 * tests/check/gst/gststructure.c:
4176 * tests/check/gst/gstsystemclock.c:
4177 * tests/check/gst/gsttask.c:
4178 * tests/check/gst/gstutils.c:
4179 * tests/check/gst/gstvalue.c:
4180 * tests/check/gst/struct_hppa.h:
4181 * tests/check/gst/struct_i386.h:
4182 * tests/check/gst/struct_ppc32.h:
4183 * tests/check/gst/struct_ppc64.h:
4184 * tests/check/gst/struct_x86_64.h:
4185 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4186 * tests/check/libs/basesrc.c:
4187 * tests/check/libs/controller.c: (GST_START_TEST):
4188 * tests/check/libs/gdp.c:
4189 * tests/check/libs/gstnetclientclock.c:
4190 * tests/check/libs/gstnettimeprovider.c:
4191 * tests/check/libs/libsabi.c:
4192 * tests/check/libs/struct_hppa.h:
4193 * tests/check/libs/struct_i386.h:
4194 * tests/check/libs/struct_ppc32.h:
4195 * tests/check/libs/struct_ppc64.h:
4196 * tests/check/libs/struct_x86_64.h:
4197 * tests/check/pipelines/cleanup.c:
4198 * tests/check/pipelines/simple-launch-lines.c:
4199 * tests/check/pipelines/stress.c:
4200 And correct even more valid sparse warnings.
4202 * win32/common/libgstreamer.def:
4203 Add gst_poll_fd_init to the list of symbols.
4205 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4207 * gst/gstconfig.h.in:
4208 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4209 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4210 (gst_check_log_critical_func), (gst_check_drop_buffers),
4211 (gst_check_element_push_buffer_list):
4212 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4213 (gst_controller_get_type):
4214 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4215 (gst_object_get_controller), (gst_object_get_control_source):
4216 * libs/gst/controller/gstinterpolationcontrolsource.c:
4217 (gst_interpolation_control_source_new):
4218 * libs/gst/controller/gstlfocontrolsource.c:
4219 (gst_lfo_control_source_new):
4220 * libs/gst/dataprotocol/dataprotocol.c:
4221 (gst_dp_event_from_packet_0_2):
4222 * plugins/elements/gstfdsrc.c:
4223 * plugins/elements/gstmultiqueue.c:
4224 * plugins/elements/gsttee.c:
4225 * plugins/elements/gsttypefindelement.c:
4226 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4227 (gst_file_index_add_association):
4228 * plugins/indexers/gstmemindex.c:
4229 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4230 * tests/check/elements/queue.c: (setup_queue):
4231 * tests/check/gst/gstpipeline.c:
4232 * tests/check/libs/collectpads.c: (setup), (teardown),
4233 (gst_collect_pads_suite):
4234 * tests/examples/adapter/adapter_test.c:
4235 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4236 * tests/examples/xml/createxml.c:
4237 * tests/examples/xml/runxml.c:
4238 * tools/gst-inspect.c:
4240 Correct all relevant warnings found by the sparse semantic code
4241 analyzer. This include marking several symbols static, using
4242 NULL instead of 0 for pointers, not using variable sized arrays
4243 on the stack, moving variable declarations to the beginning of
4244 a block and using "foo (void)" instead of "foo ()" for declarations.
4246 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4248 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4249 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4250 Don't reset GstPollFDs, this is not necessary at all.
4252 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4253 (delayed_restart), (delayed_control):
4254 Use GST_POLL_FD_INIT.
4256 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4258 * gst/gstpoll.c: (gst_poll_fd_init):
4262 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4263 Use some more init macros.
4265 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4267 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4268 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4269 Use init macros and functions.
4271 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4273 * docs/gst/gstreamer-sections.txt:
4274 * gst/gstpoll.c: (gst_poll_fd_init):
4276 Add INIT macro and _init method for initializing the GstPollFD.
4278 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4280 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4281 (gst_fd_sink_update_fd):
4282 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4283 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4284 (delayed_restart), (delayed_control):
4285 Initialize some uninitialized variables as spotted by valgrind.
4287 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4289 * tests/benchmarks/Makefile.am:
4290 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4292 Add poll stress test.
4294 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4296 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4298 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4299 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4300 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4301 * plugins/elements/gstfdsink.h:
4302 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4303 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4304 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4305 (gst_fd_src_uri_set_uri):
4306 * plugins/elements/gstfdsrc.h:
4307 Port to GstPoll. See #505417.
4309 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4311 * win32/common/libgstreamer.def:
4312 Add new gst_poll_ symbols to win32 defs.
4314 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4316 * docs/libs/gstreamer-libs-sections.txt:
4317 * libs/gst/net/gstnetclientclock.c:
4318 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4319 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4320 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4321 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4322 * libs/gst/net/gstnetclientclock.h:
4323 * libs/gst/net/gstnettimeprovider.c:
4324 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4325 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4326 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4327 (gst_net_time_provider_new):
4328 * libs/gst/net/gstnettimeprovider.h:
4329 Use a private stuct to not break ABI.
4331 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4333 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4335 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4336 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4337 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4338 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4339 * libs/gst/net/gstnetclientclock.h:
4340 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4341 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4342 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4343 (gst_net_time_provider_new):
4344 * libs/gst/net/gstnettimeprovider.h:
4345 Massive code removal and cleanups because of GstPoll.
4348 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4351 Add checks for poll, ppoll and pselect.
4353 * docs/gst/gstreamer-docs.sgml:
4354 * docs/gst/gstreamer-sections.txt:
4355 Add docs for GstPoll.
4359 * gst/gstpoll.c: (find_index), (selectable_fds),
4360 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4361 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4362 (gst_poll_set_mode), (gst_poll_get_mode),
4363 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4364 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4365 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4366 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4367 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4368 (gst_poll_fd_can_write), (gst_poll_wait),
4369 (gst_poll_set_controllable), (gst_poll_restart),
4370 (gst_poll_set_flushing):
4372 Add generic poll abstraction. We ideally don't want to have this in core
4373 here but in glib intead...
4374 This code will be used in various network elements and ultimately for
4375 the nanosecond precision monotonic clock (that's why it's here in core).
4376 It'll allow us to implement cancelable socket operations for windows too.
4378 * tests/check/Makefile.am:
4379 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4380 (delayed_stop), (delayed_restart), (delayed_flush),
4381 (delayed_control), (gst_poll_suite):
4382 Add GstPoll unit test.
4384 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4387 Improve documentation of gst_filter_run(). Fixes #518627.
4389 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4392 Add a few lines about the new 'check-inspected-versions' target.
4394 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4396 * tests/check/gst/gstevent.c:
4397 Add qos to the event test. Rename tcase/tsuite; is not only about
4400 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4402 * plugins/elements/gstqueue.c:
4403 Ensure that buffer metadata is writeable, before modifying. Spotted by
4406 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4408 * plugins/elements/gstqueue.c:
4409 * plugins/elements/gstqueue.h:
4410 When dropping buffers in leaky modes, mark next buffers we sent as
4413 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4415 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4416 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4418 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4420 * plugins/elements/Makefile.am:
4421 * plugins/elements/gstbufferstore.c:
4422 * plugins/elements/gstbufferstore.h:
4423 * plugins/elements/gsttypefindelement.h:
4424 Remove GstBufferStore, no idea why we were still building it.
4425 It's not used anywhere and superseded by GstAdapter.
4427 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4428 (gst_file_src_create_mmap):
4429 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4430 Printf format fixes for 64-bit integers.
4432 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4435 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4436 We're not in 0.8 times anymore.
4438 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4440 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4441 (gst_check_element_push_buffer_list):
4442 * libs/gst/check/gstcheck.h:
4443 Make the declaration in the header for
4444 gst_check_element_push_buffer_list match the implementation.
4446 Fix up spelling, grammar and wording of the documentation in a few
4447 places, and add the Since keyword to new API functions.
4448 Use g_list_delete_link instead of g_list_remove in
4449 gst_check_drop_buffers, since it's immeasurably more efficient.
4451 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4452 Use new gst_check_drop_buffers function where appropriate.
4454 * win32/common/libgstbase.def:
4455 * win32/common/libgstreamer.def:
4456 Add new symbols gst_collect_pads_take_buffer,
4457 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4460 Changelog surgery to add API keyword to new gst_check API.
4462 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4464 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4465 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4466 Update pre-generated flex files with flex 2.3.34.
4468 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4470 * gst/gstminiobject.c:
4471 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4472 friendly to subclasses and not require them to know all internals
4473 of their parent class.
4475 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4477 * docs/libs/gstreamer-libs-sections.txt:
4478 * libs/gst/base/gstcollectpads.c:
4479 * libs/gst/base/gstcollectpads.h:
4480 Add sub-buffer functions to collectpads. Fixes #516187.
4481 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4483 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4486 Copy selected buffer-flags when creating subbuffers.
4489 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4491 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4492 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4493 * gst/gstmessage.c: (gst_message_class_init),
4494 (gst_message_finalize):
4495 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4496 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4497 (gst_mmap_buffer_finalize):
4498 Properly chain up finalize functions to the parent class.
4500 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4502 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4504 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4505 (gst_index_set_resolver_full):
4507 Add new function with option to dispose of user_data in resolver.
4508 Actually call the dispose function when finalizing the object and not
4509 just when changing the resolver/filter.
4510 API: GstIndex::gst_index_set_resolver_full()
4512 * docs/gst/gstreamer-sections.txt:
4513 Add new function to docs. Fixes #515469.
4515 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4517 * gst/gstindex.c: (gst_index_finalize):
4518 Chain up finalize to the parent class. Fixes leaking the GstObject
4519 name and other things.
4521 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4524 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4525 pre-releases or releases.
4527 * docs/faq/gst-uninstalled:
4530 * docs/random/release:
4531 Change one of the steps - we only upload core & base to Gnome FTP
4533 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4535 * gst/gstconfig.h.in:
4536 Add 'id' for example.
4540 * plugins/elements/gstfdsink.c:
4541 Link to signals. Doc and comment fixes.
4543 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4545 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4546 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4547 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4548 unused and unimplemented; finally, it is plugin features, not
4549 plugins, that have ranks.
4551 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4553 * gst/gstpluginfeature.h:
4554 Clarify GstRank range docs.
4556 2008-02-05 David Schleef <ds@schleef.org>
4558 * gst/gst.c: Add a separate gst_deinitialized that prevents
4559 gst_init() from being called after gst_deinit(). Fixes #509559
4561 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4563 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4564 (gst_bin_class_init):
4565 * gst/gstelement.c: (gst_element_base_class_init),
4566 (gst_element_class_add_pad_template):
4567 * gst/gstpadtemplate.c: (gst_pad_template_init):
4568 * gst/gstpipeline.c: (gst_pipeline_get_type),
4569 (gst_pipeline_base_init), (gst_pipeline_class_init):
4570 * libs/gst/base/gstbasesink.c:
4571 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4572 (gst_base_src_base_init), (gst_base_src_class_init):
4573 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4574 (gst_capsfilter_class_init):
4575 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4576 (gst_fake_sink_class_init):
4577 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4578 (gst_fake_src_class_init):
4579 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4580 (gst_fd_sink_class_init):
4581 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4582 (gst_fd_src_class_init):
4583 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4584 (gst_file_sink_class_init):
4585 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4586 (gst_file_src_class_init):
4587 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4588 (gst_identity_class_init):
4589 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4590 (gst_multi_queue_class_init):
4591 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4592 (gst_queue_class_init):
4593 * plugins/elements/gsttee.c: (gst_tee_base_init),
4594 (gst_tee_class_init):
4595 * plugins/elements/gsttypefindelement.c:
4596 (gst_type_find_element_base_init),
4597 (gst_type_find_element_class_init):
4598 * tests/check/gst/gstelement.c: (gst_element_suite):
4599 Revert previous changes to the behaviour of GstPadTemplates, etc
4600 and the possiblity to call them in class_init as it breaks too
4601 many elements. Reopens bug #491501.
4603 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4606 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4608 * tools/gst-launch.c:
4609 Dump one graph per pipeline state-change and state change name
4610 (if GST_DEBUG_DUMP_DOT_DIR is set).
4612 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4615 * tests/check/gst/gstpad.c:
4616 Be sure that we have a new copy of the caps and not
4617 reffed caps from a template
4619 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4621 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4622 * gst/gstpipeline.c: (gst_pipeline_get_type),
4623 (gst_pipeline_class_init):
4624 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4625 (gst_base_sink_class_init):
4626 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4627 (gst_base_src_class_init):
4628 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4629 (gst_base_transform_class_init):
4630 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4631 (gst_collect_pads_class_init):
4632 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4633 * libs/gst/net/gstnettimeprovider.c:
4634 (gst_net_time_provider_base_init),
4635 (gst_net_time_provider_class_init):
4636 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4637 (gst_capsfilter_class_init):
4638 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4639 (gst_fake_sink_class_init):
4640 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4641 (gst_fake_src_class_init):
4642 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4643 (gst_fd_sink_class_init):
4644 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4645 (gst_fd_src_class_init):
4646 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4647 (gst_file_sink_class_init):
4648 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4649 (gst_file_src_class_init):
4650 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4651 (gst_identity_class_init):
4652 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4653 (gst_multi_queue_class_init):
4654 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4655 (gst_queue_class_init):
4656 * plugins/elements/gsttee.c: (gst_tee_base_init),
4657 (gst_tee_class_init):
4658 * plugins/elements/gsttypefindelement.c:
4659 (gst_type_find_element_base_init),
4660 (gst_type_find_element_class_init):
4661 Don't use base_init where not absolutely necessary. For example it's
4662 not necessary anymore for adding pad templates or setting element
4665 Leave empty base_init functions in several places as GST_BOILERPLATE
4666 still defines and uses them.
4668 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4670 * gst/gstelement.c: (gst_element_base_class_init),
4671 (gst_element_class_add_pad_template):
4672 * gst/gstpadtemplate.c:
4673 Make it possible (and recommended) to set element details and add
4674 pad templates in the class_init functions by copying the details/pad
4675 templates in GstElement's base_init.
4677 Also make it possible to replace existing pad templates by adding
4678 a new one with the same name. This was done in a hackish fashion
4679 in same elements before already.
4681 Don't reference pad templates that are added a second time. A
4682 new pad template has a refcount of one and is not floating anymore
4683 and to be owned by the element's class. Make this more explicit by
4684 mentioning it in the docs of gst_element_class_add_pad_template().
4686 These changes are backwards compatible. Fixes bug #491501.
4688 * tests/check/gst/gstelement.c:
4689 Add unit test for setting element details, adding pad templates and
4690 replacing them in a subclass.
4692 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4694 * tools/gst-inspect.c: (print_interfaces),
4695 (print_element_properties_info), (print_pad_info),
4696 (print_signal_info), (print_element_info):
4697 Fix a few memory leaks.
4699 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4701 * docs/libs/gstreamer-libs-sections.txt:
4702 * libs/gst/check/gstcheck.c:
4703 * libs/gst/check/gstcheck.h:
4704 Add more functions for unit testing: gst_check_drop_buffers,
4705 gst_check_caps_equal, gst_check_element_push_buffer_list,
4706 gst_check_element_push_buffer
4707 API: gst_check_drop_buffers
4708 API: gst_check_caps_equal
4709 API: gst_check_element_push_buffer_list
4710 API: gst_check_element_push_buffer
4712 2008-02-01 Julien Moutte <julien@fluendo.com>
4714 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4715 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4716 (gst_index_finalize), (gst_index_entry_free),
4717 (gst_index_add_association): Fix memory leaks.
4718 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4719 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4720 (gst_mem_index_free_format), (gst_mem_index_free_id),
4721 (gst_mem_index_finalize): Fix memory leaks.
4722 * win32/common/config.h: Updated to CVS HEAD.
4724 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4727 Some more details about how the plugin docs works.
4729 * docs/plugins/gstreamer-plugins-sections.txt:
4732 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4734 * gst/parse/grammar.tab.pre.c:
4735 * gst/parse/grammar.tab.pre.h:
4736 * gst/parse/grammar.y:
4737 * gst/parse/lex._gst_parse_yy.pre.c:
4738 Add delayed set-property. This allows to set properties on dynamicaly
4739 created objects (pads in videomxer). Fixes #509391.
4741 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4744 Check if caps are not NULL (fix bug #510194)
4746 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4748 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4749 (gst_base_sink_get_position_paused):
4750 Add fixme regarding EOS in pull mode.
4751 Fix position reporting in PAUSED for negative rates.
4753 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4755 * gst/gstminiobject.c: (gst_mini_object_replace):
4756 When replacing a miniobject, do a quick equality check first so that we
4757 can avoid a ref/unref pair.
4759 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4761 * docs/design/part-synchronisation.txt:
4764 * docs/plugins/Makefile.am:
4765 * docs/plugins/gstreamer-plugins-docs.sgml:
4766 * docs/plugins/gstreamer-plugins-sections.txt:
4767 * plugins/elements/gstmultiqueue.c:
4768 Add multiqueue to the docs.
4770 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4775 === release 0.10.17 ===
4777 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4780 releasing 0.10.17, "Due Negligence"
4782 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4785 Revert caps != NULL check temporarily for 0.10.17 release.
4787 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4790 Check if caps are not NULL (fix bug #510194)
4792 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4795 Fix compilation on systems that have posix timers but no
4798 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4801 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4803 * tools/gst-inspect.c:
4804 Revert previous commit in preparation for an impromptu 0.10.17 release
4806 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4808 * tools/gst-inspect.c: (print_interfaces),
4809 (print_element_properties_info), (print_pad_info),
4810 (print_signal_info), (print_element_info):
4811 Fix a few memory leaks.
4813 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4818 === release 0.10.16 ===
4820 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4823 releasing 0.10.16, "Special Dispensation"
4825 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4828 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4829 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4830 not fail when trying to crosscompile on OpenEmbedded (#511750).
4832 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4835 Use $(MAKE) instead of make to fix the build if GNU make is
4836 called different. Fixes bug #510747.
4838 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4840 * gst/gstplugin.c: (_gst_plugin_initialize):
4841 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4842 again, which I broke two commits ago when changing the API
4843 of gst_plugin_register_static(): the g_list_foreach() in
4844 _gst_plugin_register_static still assumed the old function
4845 signature and would therefore fail (re-fixes #510187).
4847 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4848 (_gst_plugin_register_static), (gst_plugin_register_static):
4849 Revert the (technically correct) change to call g_thread_init() from
4850 the pre-main() constructor. This will break programs which call
4851 g_thread_init() without an if (!g_thread_supported()) guard in their
4852 main function. We could just blame it on GLib or the application, but
4853 it's probably best to just avoid this altogether and simply not use
4854 any GLib functions here and use plain old malloc() with a simple
4855 array to store the plugins to register later when gst_init() is
4856 finally called (re-fixes #510187).
4858 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4859 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4860 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4861 (GST_START_TEST), (gst_plugin_suite):
4862 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4865 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4867 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4868 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4869 This makes gtk-doc complain, but results in slightly better
4870 compiler errors. The old _gst_plugin_register_static() is
4871 still guarded, so there'll be a compiler warning about that
4872 instead. Fixes #510187 too.
4874 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4876 * gst/gst.c: (init_post):
4877 * gst/gstplugin.c: (_gst_plugin_register_static),
4878 (gst_plugin_register_static), (_gst_plugin_initialize):
4879 * gst/gstplugin.h: (GstPluginFilter):
4880 Change API of gst_plugin_register_static() to not take
4881 a GstPluginDesc, but rather just take all the arguments
4882 in a GstPluginDesc directly. This is more intuitive and
4883 avoids certain mistakes when porting code from
4884 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4887 * tests/check/gst/gstplugin.c:
4888 Fix up for changed API.
4890 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4892 * docs/faq/legal.xml:
4893 Update FAQ, Totem actually has an exception these days.
4895 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4897 * win32/common/libgstreamer.def:
4898 Add new API declarations
4900 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4902 * gst/gstminiobject.c:
4903 Spelling fixes for the API docs.
4905 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4907 * libs/gst/base/gstbasetransform.c:
4908 Fix long property description for QoS.
4910 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4913 _gst_trace_on is already provided by gsttrace.h, no need to declare
4916 * docs/libs/gstreamer-libs-sections.txt:
4917 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4918 and remove strange tcase_add_test which is outputting a warning.
4920 * libs/gst/check/gstcheck.c:
4921 * libs/gst/check/gstcheck.h:
4922 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4923 and define them in gstcheck.c instead of having every .c file whcih
4924 includes gstcheck.h be defining its own copy and relying on symbol
4925 interposing to marry them all, which doesn't work on Solaris.
4927 * tests/check/elements/identity.c: (GST_START_TEST):
4928 Don't define 'buffers' locally, it comes from libgstcheck.
4930 * tests/check/generic/sinks.c: (send_buffer):
4931 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4933 * tests/check/gst/gststructure.c: (GST_START_TEST):
4934 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4935 * tests/check/gst/gstutils.c: (GST_START_TEST):
4936 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4937 Add a bunch of casts to make various constants fit the types
4938 they're being assigned to.
4940 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4942 * gst/gstchildproxy.c:
4943 Improve docs and add some ideas for making this more general-purpose.
4945 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4947 * gst/gst_private.h: (GST_CAT_TYPES):
4948 Add GST_CAT_TYPES, for consistency, and so that the other
4949 debug categories don't make fun of it. Spotted by Saur on IRC.
4951 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4953 * gst/parse/Makefile.am:
4954 Move types.h from EXTRA_DIST to noinst_HEADERS.
4956 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4959 Add -Wno-portability to the automake parameters to stop warnings
4960 about GNU make extensions being used. We require GNU make in almost
4961 every Makefile anyway.
4964 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4965 at the same time is required for per target flags.
4967 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4970 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4971 __GNUC__ is defined before using it.
4973 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4975 * docs/gst/gstreamer-sections.txt:
4976 * gst/gst.c: (init_post):
4977 * gst/gstplugin.c: (_gst_plugin_register_static),
4978 (gst_plugin_register_static), (_gst_plugin_initialize),
4979 (gst_plugin_register_func):
4980 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4981 API: add gst_plugin_register_static() and deprecate
4982 GST_PLUGIN_DEFINE_STATIC, since it's not portable
4984 Also, in _gst_plugin_register_static(), make sure to call
4985 g_thread_init() before calling GLib functions such as
4986 g_list_append() if we're not initialised yet, since that
4987 may lead to random crashes with older GSlice/GLib versions.
4989 * tests/check/gst/gstplugin.c:
4990 Adapt unit test to above changes.
4992 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4994 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4995 * gst/gstcaps.c: (gst_caps_to_string):
4996 * gst/gststructure.c: (GST_ASCII_IS_STRING),
4997 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4998 Yet another gratuitous GString micro-optimisation: add a (private)
4999 function that serialises a structure appending to an existing
5000 GString, so that when we serialise caps we don't need to alloc+free
5001 a throwaway GString for each structure (each of which also entailing
5002 multiple reallocs on the way); also use g_string_sized_new() in
5003 various places with an approximate string length to avoid reallocs
5004 within GString. See #500143.
5006 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
5008 * gst/gststructure.c: (gst_structure_id_set_value):
5009 Always check UTF-8 conformance of structure strings and not only
5010 if the debugging system is enabled; reasoning: the behaviour of
5011 the actual code shouldn't really change depending on whether the
5012 debugging system is enabled or not (#508291).
5014 2008-01-09 Stefan Kost <ensonic@users.sf.net>
5017 Remove old coverage target in favour of "make lcov".
5019 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5021 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5022 (gst_base_src_loop):
5023 The start segment for reverse playback goes from start to last_stop.
5025 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5027 Patch by: Peter Kjellerstedt <pkj axis com>
5030 Cast the results from the timeval/spec_to_time macros to what the
5031 docs say it casts to, a GstClockTime. fixes #508175.
5033 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
5036 Update some comments.
5038 * tools/gst-inspect.c: (print_element_properties_info):
5039 Improve printing of flags.
5041 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
5043 * libs/gst/base/gstbasetransform.c:
5044 (gst_base_transform_transform_size):
5045 Print element name with g_warning() if there's a problem
5048 2008-01-07 David Schleef <ds@schleef.org>
5050 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5052 * libs/gst/controller/gstcontroller.h:
5053 * libs/gst/controller/gstcontrolsource.h:
5054 * libs/gst/controller/gstinterpolationcontrolsource.h:
5055 * libs/gst/controller/gstlfocontrolsource.h:
5056 * libs/gst/dataprotocol/dataprotocol.h:
5057 Fix empty prototypes. Fixes bug #507957.
5059 2008-01-07 David Schleef <ds@schleef.org>
5061 * docs/faq/dependencies.xml: Fix typo.
5063 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
5065 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5066 (gst_base_src_loop):
5067 Don't update the last_stop position in do_seek, that's the position we
5069 Read backwards when we have a negative rate.
5071 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5072 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5074 Add check for reverse reading.
5076 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5078 Patch by: Alexis Ballier <aballier at gentoo org>
5080 * tests/check/gst/gstabi.c:
5081 * tests/check/gst/struct_ppc64.h:
5082 * tests/check/libs/libsabi.c:
5083 * tests/check/libs/struct_ppc64.h:
5084 Decide which header to include based on the userland ABI target
5085 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5086 for 64-bit userland (#503590). Might need something similar for
5089 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5091 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5092 Log the reason why fopen fails in addition to the fact that it failed.
5094 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5096 * gst/parse/parse.l:
5097 Use "%option never-interactive" to prevent useless calls to isatty()
5098 on every input when parsing. Also use "%option noinput" to not define
5099 the static input/yyinput functions which we don't use anyway. This
5100 removes a compiler warning with gcc 4.3 and saves some bytes in the
5103 * gst/parse/lex._gst_parse_yy.pre.c:
5104 Regenerated for the above change.
5106 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5108 * gst/gstpad.c: (fixate_value):
5109 Don't crash when trying to fixate and empty list.
5112 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5114 * docs/faq/gst-uninstalled:
5115 Clarify the comments to make the usage of this script and what it
5116 does easier to understand.
5118 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5120 * tools/gst-plot-timeline.py:
5121 Add more options to gst-plot-timeline
5123 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5125 * docs/design/part-synchronisation.txt:
5126 Some more info on how the stream_time in GstBaseSink is done.
5128 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5130 * tests/check/generic/sinks.c: (gst_sinks_suite):
5131 Put back the tcase_set_timeout(), apparently it's needed after
5132 all; fix it up in a way that makes things work with valgrind too.
5134 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5136 * gst/gstdebugutils.c:
5137 Add warning when failed to open file for writing.
5139 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5141 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5143 * gst/gstvalue.c: (gst_value_is_fixed):
5144 Optimisation: bail out of the loop as early as possible (#500143).
5146 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5148 * gst/gstcaps.c: (gst_caps_to_string):
5149 * gst/gstinfo.c: (gst_debug_construct_term_color):
5150 * gst/gstparse.c: (gst_parse_launchv):
5151 * gst/gstutils.c: (gst_util_dump_mem):
5152 * gst/gstvalue.c: (gst_value_serialize_any_list),
5153 (gst_value_transform_any_list_string):
5154 Bunch of gratuitous nano-optimisations.
5156 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5158 * tests/check/generic/sinks.c: (async_done_func),
5159 (async_done_eos_func):
5160 Fix leak in unit test (bus sync handler must unref the message
5161 if it returns GST_BUS_DROP). Don't fiddle with the default test
5162 timeout, this is smaller than the current preconfigured value
5163 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5164 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5166 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5168 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5171 Check for stdio_ext.h for the filesink changes.
5173 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5174 (gst_file_sink_class_init), (gst_file_sink_init),
5175 (gst_file_sink_dispose), (gst_file_sink_set_property),
5176 (gst_file_sink_get_property), (gst_file_sink_open_file),
5177 (gst_file_sink_close_file):
5178 * plugins/elements/gstfilesink.h:
5179 Add two properties to control the buffering mode and size.
5180 API: GstFileSink::buffer-mode
5181 API: GstFileSink::buffer-size
5184 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5186 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5187 Add some more docs to explain why a FIXME was wrongly added.
5189 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5192 Fix typo in the gst_object_{ref,unref} documentation.
5194 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5196 * tests/check/libs/controller.c:
5197 * tests/check/libs/typefindhelper.c:
5198 * tests/check/pipelines/parse-launch.c:
5199 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5200 going to be deprecated (see #498924).
5202 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5204 * gst/gsttypefind.c: (gst_type_find_register):
5205 Make gst_type_find_register work for static typefind functions,
5206 ie. allow passing plugin == NULL (prerequisite for #498924).
5208 * gst/gstelementfactory.c: (gst_element_register):
5209 Small docs addition.
5211 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5213 * gst/gstpad.c: (gst_pad_dispose):
5214 Really unlink the peer pad instead of setting the peer pointer to NULL
5215 when we dispose the pad.
5216 This correctly calls the unlink functions and makes sure that the peer
5217 does not have a handle to invalid memory. See #504671.
5219 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5220 Add testsuite for above case.
5222 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5224 Patch by: Peter Kjellerstedt <pkj axis com>
5226 * libs/gst/check/gstcheck.h:
5227 Fix detection of the check version we're compiling against (would
5228 otherwise break if check goes v0.10.0); correctly report the
5229 name of the failed test again in case of failure, instead of
5230 just 'tf' (fixes #504499).
5232 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5234 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5235 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5236 (gst_base_src_loop), (gst_base_src_set_flushing),
5237 (gst_base_src_change_state):
5238 Allow sending EOS to the source to make it send out an EOS event from
5239 the streaming thread.
5240 Update docs and deprecate the old NULL/READY shutdown method.
5242 * tests/check/libs/basesrc.c: (GST_START_TEST),
5243 (gst_basesrc_suite):
5244 Add unit test for controlled shutdown.
5246 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5248 * docs/design/part-synchronisation.txt:
5251 * gst/gstsegment.c: (gst_segment_set_seek),
5252 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5253 (gst_segment_to_running_time):
5254 The seek format can be different from the segment format when the start
5255 and stop values are not to be updated, when we only do a rate change for
5258 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5259 (gst_segment_suite):
5260 Add a testcase for the rate-only seeks, checking that the format is
5261 correctly ignored when start and stop are not updated.
5263 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5265 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5267 * win32/vs8/grammar.vcproj:
5268 * win32/vs8/libgstcontroller.vcproj:
5269 * win32/vs8/libgstreamer.vcproj:
5270 Fix compilation with VS8 and include some missing files.
5272 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5275 Small docs addition: mention that the strings returned by
5276 gst_tag_list_get_string*() are in UTF-8 encoding.
5278 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5281 The check-exports stuff moved to common/win32.mak, so include that.
5283 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5285 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5286 (gst_base_src_perform_seek), (gst_base_src_get_range),
5287 (gst_base_src_set_playing), (gst_base_src_change_state):
5288 Make _wait_playing() not check any variables so that we can call this
5289 function from subclasses. Move the checks elsewhere similar to
5290 _wait_preroll() in basesink.
5292 Only signal the LIVE cond when we are going back to PLAYING.
5294 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5296 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5297 Use g_remove() and g_rename(). Check result of g_rename(), and
5298 don't leak the open file descriptor if we error out when writing.
5300 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5301 Must check the return value of close() after writing out the new
5302 registry file. Sometimes write problems such as out-of-diskspace
5303 are only reported when the file is closed and not already during
5304 the write. This may have caused partial/broken registry files in
5305 some rare circumstances. Should fix #503675.
5307 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5309 * docs/gst/.cvsignore:
5310 * docs/libs/.cvsignore:
5311 * docs/plugins/.cvsignore:
5312 Ignore files generated by new common/* modifications
5314 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5316 * win32/common/libgstbase.def:
5317 Yes, you can also have a <TAB> if you want.
5319 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5321 * win32/common/libgstbase.def:
5322 Add new basetransform API to win export file.
5324 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5326 * tests/check/gst/gstbin.c:
5327 Adjust the test to the refcount change two days ago.
5329 2007-12-14 David Schleef <ds@schleef.org>
5331 * docs/faq/getting.xml: Fix typo.
5333 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5335 * docs/libs/gstreamer-libs-sections.txt:
5336 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5337 (gst_base_transform_prepare_output_buffer),
5338 (gst_base_transform_set_gap_aware):
5339 * libs/gst/base/gstbasetransform.h:
5340 API: Add gst_base_transform_set_gap_aware() to control whether
5341 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5342 get buffers with this flag at all. Fixes #503231.
5344 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5346 * libs/gst/base/gstbasesink.c:
5347 * libs/gst/base/gstbasesrc.c:
5348 * libs/gst/base/gstbasetransform.c:
5349 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5350 thread. Correct log message in gstbasesrc.c.
5352 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5354 * gst/gstutils.c: (element_find_unconnected_pad):
5355 Fix possible compiler warning (#503417).
5357 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5359 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5360 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5362 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5364 * tools/gst-inspect.c: (print_element_properties_info):
5365 Add support for GstFraction properties.
5367 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5370 Add check-exports target and run it as part of 'make check'
5371 (see #499140 and #493983).
5373 * gst/gst_private.h:
5374 * gst/gstelementfactory.h:
5375 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5376 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5377 (_priv_gst_in_valgrind):
5378 * gst/gstinfo.h: (GstLogFunction):
5379 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5380 (gst_type_find_register):
5381 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5382 (gst_type_find_factory_get_type):
5383 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5384 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5385 (gst_controller_new_valist), (gst_controller_new_list),
5386 (_gst_controller_dispose), (_gst_controller_class_init):
5387 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5388 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5389 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5390 (gst_object_get_controller), (gst_object_set_controller),
5391 (gst_object_suggest_next_sync), (gst_object_sync_values),
5392 (gst_object_set_control_source), (gst_object_get_control_source),
5393 (gst_object_get_value_arrays), (gst_object_get_value_array),
5394 (gst_object_get_control_rate), (gst_object_set_control_rate):
5395 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5396 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5397 Make some functions that should be static static; rename some
5398 private symbols so that they don't get exported; add some FIXME
5399 comments so we can move accidentally exported functions into
5400 our private section in 0.11.
5402 * win32/common/libgstreamer.def:
5403 Add gst_utils_get_timestamp().
5405 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5409 Add more missing "Since:" tags to docs.
5411 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5414 Add mising "Since:" to docs.
5416 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5419 Include "glib-compat-private.h" to fix the build on system with
5420 glib < 2.10. Fixes #503131.
5422 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5426 Actually its not PURE as it gets the time from elsewhere.
5428 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5430 * docs/gst/gstreamer-sections.txt:
5432 * gst/gstdebugutils.c:
5436 * libs/gst/base/gstbasesink.c:
5437 * tools/gst-launch.c:
5438 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5439 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5440 Thanks Tim for spotting.
5441 API: gst_util_get_timestamp
5443 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5446 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5448 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5450 * gst/gststructure.c: (gst_structure_validate_name),
5451 (gst_structure_new_valist), (gst_structure_parse_value),
5452 (gst_structure_from_string):
5453 Don't crash in _from_string() if the structure name is not valid
5454 (fixes #501560). Allow structure names to start with a number
5455 again (this apparently broke the ubuntu codec installer).
5457 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5459 Add unit test for the crash; update unit tests for new behaviour.
5461 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5464 Clarify gst_element_get_compatible_pad() documentation.
5467 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5469 * tests/check/Makefile.am:
5470 Don't forget to dist {gst,libs}/struct_hppa.h.
5472 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5474 * libs/gst/base/gstbasesink.c:
5475 Use new API to get elapsed time.
5477 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5479 * gst/gstdebugutils.c:
5481 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5483 * tools/gst-launch.c:
5484 Use new API to get elapsed time.
5486 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5488 * docs/gst/gstreamer-sections.txt:
5490 * gst/gstdebugutils.c:
5492 Rename new API + ChangeLog surgery to remove old name from last entry..
5494 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5496 * docs/gst/gstreamer-sections.txt:
5498 * gst/gstdebugutils.c:
5500 Now hide the different clock stuff behind a macro.
5502 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5505 * gst/gstdebugutils.c:
5507 Apply the posix-timer check from #361155. Conditionally use the posix
5508 timer for logging. This gives better timestamp precission, less
5509 overhead and no ntp jitter.
5511 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5513 * gst/gstminiobject.c: (gst_mini_object_get_type),
5514 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5515 (gst_mini_object_finalize), (gst_mini_object_copy),
5516 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5517 (gst_mini_object_replace), (param_mini_object_validate),
5518 (gst_param_spec_mini_object_get_type):
5519 Some cleanup and checking against invalid function parameters.
5521 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5523 * docs/gst/gstreamer-sections.txt:
5525 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5526 (gst_systemclock_suite):
5527 Start merging in the easy bits of #361155, the monotonic clock patch.
5528 This one adds a few handy macros with docs and a testsuite.
5530 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5532 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5533 Be a bit smarter when seeking, like, don't try to do a seek when it's
5534 not needed. This avoids errors when the file is not seekable.
5537 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5539 * docs/gst/gstreamer-docs.sgml:
5540 * docs/gst/gstreamer-sections.txt:
5541 * docs/gst/gstreamer.types.in:
5546 * plugins/elements/gstqueue.c:
5547 Due to popular request remove preset interface again. :-(.
5549 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5551 * tools/gst-inspect.c:
5552 Print 'default value' for enums and flags too.
5554 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5556 * docs/random/ensonic/profiling.txt:
5560 Fix typo and give better log output.
5562 * gst/gstdebugutils.c:
5563 * gst/gstdebugutils.h:
5564 More ideas, make graphs a bit smaller and fix param name in macro.
5566 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5569 Try harder to use the return value from fgets().
5571 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5574 For theses two fgets we handle the error below.
5576 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5578 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5579 Only send upstream events upstream. Fixes #498746.
5581 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5583 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5585 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5586 (gst_identity_init), (gst_identity_transform_ip),
5587 (gst_identity_set_property), (gst_identity_get_property):
5588 * plugins/elements/gstidentity.h:
5589 Add property to disable handoff signal emission. Fixes #498694.
5590 API: GstIdentity::signal-handoffs
5592 2007-11-21 Julien Moutte <julien@fluendo.com>
5594 * docs/faq/gst-uninstalled: Yet another missing library for the
5595 uninstalled script (fft)
5597 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5599 * docs/faq/developing.xml:
5600 Add a question about how to submit new translations.
5602 * docs/random/release:
5603 Update the contact email address for the Translation Project
5605 * plugins/elements/gstfdsrc.c:
5606 The parent_class for fdsrc is pushsrc, not GstElement.
5608 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5611 Plug a leak and fix saving.
5613 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5615 * docs/gst/gstreamer-sections.txt:
5616 Add new gst_preset__get_property_names() function to the docs
5619 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5623 Change _get_preset_names API to return a strv with copies. Add
5624 _get_property_names to allow implementations to filter and provide
5625 good default implementation.
5627 2007-11-20 Julien MOUTTE <julien@moutte.net>
5629 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5632 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5635 More cleanups, docs, and TODOs from comments that now slowly come in.
5637 2007-11-19 Julien MOUTTE <julien@moutte.net>
5639 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5642 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5645 Fix bogus warning and make the property type specific code more
5648 2007-11-19 Julien MOUTTE <julien@moutte.net>
5650 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5653 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5655 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5656 (gst_bin_add_func), (gst_bin_remove_func),
5657 (gst_bin_change_state_func), (gst_bin_continue_func):
5658 Change email, cleanups add some more debug and comments.
5659 Also set bus and clock on new elements when the pipeline was in error.
5661 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5664 * gst/gstdebugutils.c:
5665 Fix build with --disable-gst-debug. Fixes #497859.
5666 Spotted by Sameer Naik.
5668 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5671 Little documentation improvment.
5674 More TODO cleanups. Remove c++ comments.
5676 * libs/gst/controller/gstcontroller.c:
5677 Add TODO and use quark from static string.
5679 * tests/check/gst/gstmessage.c:
5680 * tests/check/gst/gststructure.c:
5681 Use quark from static string.
5683 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5686 Add some comments and TODOs.
5689 Add padding for future changes.
5691 * plugins/elements/gstqueue.c:
5692 Implement the iface.
5694 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5696 * docs/gst/gstreamer-docs.sgml:
5697 * docs/gst/gstreamer-sections.txt:
5698 * docs/gst/gstreamer.types.in:
5703 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5705 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5711 === release 0.10.15 ===
5713 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5716 releasing 0.10.15, "October"
5718 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5720 * win32/vs6/libgstreamer.dsp:
5721 Convert line endings back to DOS.
5723 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5725 * docs/design/draft-tagreading.txt:
5726 * docs/random/ensonic/profiling.txt:
5727 Update fast tagreading draft and performance profiling ideas.
5729 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5731 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5732 Don't hold the object lock when unreffing a buffer because it could
5733 cause a deadlock when the finalize function wants to grab the object
5734 lock too. Fixes #495133.
5736 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5738 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5739 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5740 Also accumulate time correctly when doing reverse playback. Fixes
5742 When converting to running and stream time, use default values for
5743 start/stop/time/accum when comparing different formats. Fixes #494245.
5745 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5746 Do running/stream time in TIME format.
5748 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5749 (gst_segment_suite):
5750 2 new unit tests for segment accumulation.
5752 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5754 * gst/gst.c: (init_pre):
5755 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5756 (_gst_debug_bin_to_dot_file):
5757 Move getenv() back into gst_init, so everyone can live happily
5758 ever after. Make sure the symbol isn't exported though.
5760 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5762 Patch by: Sebastien Moutte <sebastien moutte net>
5764 * win32/common/gstenumtypes.c:
5765 * win32/common/gstenumtypes.h:
5768 * win32/vs6/libgstreamer.dsp:
5769 Update vs6 project files (#494343).
5771 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5773 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5774 (gst_base_src_perform_seek), (gst_base_src_default_event),
5775 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5776 (gst_base_src_activate_pull):
5777 Unify flushing code, remove some old unlock code that is no longer used.
5778 Take the streaming lock when seeking to avoid races. Fixes #492729.
5779 Added some more comments.
5781 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5783 * gst/gst.c: (_gst_disable_segtrap):
5784 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5785 we can use gst_segtrap_is_enabled() there now that we have that API.
5786 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5787 to do the getenv here (and export the variable).
5789 * gst/gstdebugutils.c: (debug_dump_element),
5790 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5791 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5793 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5794 (gst_debug_log_default):
5795 Rename _gst_info_start_time to priv_gst_info_start_time so it
5796 doesn't get exported (was never in any header).
5798 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5799 (gst_plugin_loading_mutex):
5800 Make static mutex gst_plugin_loading_mutex really static (was never
5801 in any header), and use gst_segtrap_is_enabled() instead of
5802 _gst_disable_segtrap.
5804 * gst/gsttrace.c: (_gst_trace_default):
5805 Make local _gst_trace_default static (was never in any header).
5807 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5809 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5811 * win32/common/libgstbase.def:
5812 * win32/common/libgstcontroller.def:
5813 * win32/common/libgstdataprotocol.def:
5814 * win32/common/libgstnet.def:
5815 * win32/common/libgstreamer.def:
5816 Add more missing symbols, remove some duplicates, and sort
5817 as the 'sort' command sorts it (partially fixes #493983).
5819 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5821 * gst/gstelement.c: (gst_element_set_state_func):
5822 Only change the state cookie if a different state was set on the
5823 element. See #492729.
5825 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5828 Remove unused and uninitialised type variables that were still
5829 exported for some reason (they were never in any header files
5832 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5834 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5835 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5836 (gst_base_sink_event), (gst_base_sink_get_position_last),
5837 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5838 (gst_base_sink_change_state):
5839 Don't try to report a 0 position when we don't know, return -1 and FALSE
5840 instead. This mostly happens when we are prerolling.
5841 Make sure we can report the right position before we post the ASYNC_DONE
5842 message so that a message handler can query position without races.
5844 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5845 (async_done_handoff), (async_done_func), (send_buffer),
5846 (async_done_eos_func), (gst_sinks_suite):
5847 Add two tests for the above.
5849 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5852 Update with new email address.
5854 * docs/design/part-TODO.txt:
5855 Add some more info about future pad-block and negotiation changes.
5857 * docs/design/part-buffering.txt:
5858 Add some ideas about buffering reporting.
5860 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5862 * tests/check/gst/gstobject.c:
5863 Disable silly racy test that always fails on this combination of CPU
5866 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5868 Patch by: Murray Cumming <murrayc@murrayc.com>
5871 Corrected the registration of the parent-set and parent-unset
5872 signals: The parameter is a GstObject, not a GObject (#493134).
5874 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5876 * gst/gst_private.h:
5885 Move declaration of private _gst_foo_initialize() functions into
5886 our private header file where they should have been all along.
5888 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5890 * docs/plugins/gstreamer-plugins-sections.txt:
5891 * gst/gstdebugutils.h:
5893 * plugins/elements/gstqueue.c:
5894 gtk-doc fixes; trailing-comma-in-enum fix.
5896 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5898 * gst/gst.c: (gst_deinit):
5899 Clean up on deinit (not the external ones though, doesn't seem to be
5900 needed for some reason).
5902 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5904 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5905 Remove __declspec(dllimport) for MSVC that was copied over into core
5906 from a plugin, obviously without ever having been tested (note the
5907 single underscore in _declspec in the initial commit), and that doesn't
5908 really make sense. See #492077.
5910 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5912 * gst/gst.c: (init_post):
5913 * gst/gstevent.c: (_gst_event_initialize):
5914 * gst/gstquery.c: (_gst_query_initialize):
5915 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5916 g_type_class_ref() other types as well, see #349410 and #64764.
5918 * gst/gstbuffer.c: (_gst_buffer_initialize):
5919 * gst/gstmessage.c: (_gst_message_initialize):
5920 Simplify existing g_type_class_ref().
5922 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5924 * gst/gstformat.c: (_gst_format_initialize):
5925 g_type_class_ref() our GstFormat type to make sure we avoid the
5926 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5927 bug #64764. Should fix intermittent tee unit test failures (#474823).
5929 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5931 * tests/check/elements/tee.c: (test_num_buffers):
5932 Simplify, simplify, simplify - or not. Rewrite unit test
5933 not to use gst_parse_launch(); allow N sub-streams. Increasing
5934 the number of sub-streams seems to reproduce #474823 more easily.
5936 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5938 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5941 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5942 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5943 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5944 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5945 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5946 so use _pipe() directly (#492077).
5948 * win32/common/dirent.c: (_treaddir):
5949 Add a couple of casts to make it build without warnings with MSVC.
5951 * win32/common/libgstreamer.def:
5952 Add some more symbols that need to be exported.
5954 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5956 * tests/examples/metadata/read-metadata.c: (message_loop):
5957 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5958 arriving in a second or third tag message are added to
5959 the tag list as well.
5961 2007-10-31 Stefan Kost <ensonic@users.sf.net>
5963 * libs/gst/base/gstbasesrc.c:
5964 Its "Since:" and not "@Since:". And remove an superflous cast.
5966 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
5968 * docs/libs/gstreamer-libs-sections.txt:
5969 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5970 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5971 (gst_base_sink_get_property), (gst_base_sink_render_object),
5972 (gst_base_sink_preroll_object),
5973 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5974 (gst_base_sink_change_state):
5975 * libs/gst/base/gstbasesink.h:
5976 Add a new last-buffer property that contains the last buffer used in
5977 basesink for preroll or rendering. useful for making snapshots.
5978 API: gst_base_sink_get_last_buffer()
5979 API: GstBaseSink::last-buffer
5981 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5983 * docs/gst/running.xml:
5985 * gst/gstdebugutils.c:
5986 * gst/gstdebugutils.h:
5987 * tools/gst-launch.c:
5988 Improve bin graph dumping, by using the envvar to specify a path.
5989 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5991 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
5993 * plugins/elements/gsttypefindelement.c:
5994 (gst_type_find_element_handle_event),
5995 (gst_type_find_element_activate):
5996 Post special error message if we can't determine the type of a stream
5999 2007-10-29 Stefan Kost <ensonic@users.sf.net>
6001 * docs/gst/running.xml:
6002 * gst/gstdebugutils.c:
6003 Document new env-var. Add one log-line after dumpng a graph.
6005 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
6008 Ugly hack to put the (recently removed and non-portable, apparently)
6009 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
6010 GNU ld, because without that 'make check' fails miserably on my debian
6011 stable box. Someone with more knowledge of linker intricacies and
6012 portability issues than me fix this properly please.
6014 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
6016 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6017 Reset last seen position after flushing so that we don't report the old
6020 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6022 * gst/gstelementfactory.c: (gst_element_register):
6024 Patch from Alessandro Decina adding get_type_full and
6025 get_protocols_full private vfuncs to the URIHandler interface
6026 to allow bindings to support creating URI handlers.
6027 Partially fixes: #339279
6028 API: GstURIHandlerInterface::get_type_full
6029 API: GstURIHandlerInterface::get_protocols_full
6031 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6033 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
6034 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
6035 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
6036 Make it so that pads are considered linked until a buffer is pushed
6037 and discovered otherwise. This avoids problems with decodebin2 hanging
6038 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
6041 Make sure we lock the multiqueue when updating the max-size properties.
6043 Fix a crash on Solaris in a debug statement in get_request_pad that
6044 passes a NULL string to GST_DEBUG.
6046 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6047 (run_output_order_test):
6048 Fix the test to allow the first buffer on not-linked pads to come out
6049 of sequence while multiqueue discovers that they are not-linked.
6051 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
6054 * libs/gst/check/Makefile.am:
6055 Use a custom export symbol regex for libgstcheck, as it needs
6056 to export symbols that don't match the standard GStreamer gst_*
6057 pattern, and --export-dynamic is not portable (only works on
6060 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6061 (gst_check_setup_sink_pad):
6062 Make sure to pass a message parameter to the fail_* macros.
6064 * tests/check/gst/gstinfo.c: (GST_START_TEST):
6065 Fix some compiler warnings.
6067 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
6069 * tests/check/gst/gststructure.c: (test_to_string):
6070 Disable test that checks that white spaces are not allowed
6071 in structure names or field names, since we need to
6072 support that for now for backwards compatibility reasons.
6074 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6076 * docs/gst/gstreamer-sections.txt:
6079 API: add GST_TAG_ARTIST_SORTNAME
6080 API: add GST_TAG_ALBUM_SORTNAME
6081 API: add GST_TAG_TITLE_SORTNAME
6082 Add tag variants for sorting (#414539).
6084 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6086 * gst/gststructure.c:
6087 Also allow white space for names so we don't break
6088 backwards compatibility.
6090 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6092 * docs/design/part-TODO.txt:
6093 * docs/design/part-segments.txt:
6094 * docs/design/part-streams.txt:
6097 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6099 * docs/gst/gstreamer-sections.txt:
6100 Fixed documentation from my previous commit (added new API add
6101 gst_value_set_structure(), add gst_value_get_structure() and
6102 GST_VALUE_HOLDS_STRUCTURE).
6104 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6106 * gst/gstdebugutils.c:
6107 Reflow code to fix uninitialized variable warning.
6109 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6111 * gst/gstcaps.c: (gst_caps_to_string),
6112 (gst_caps_from_string_inplace):
6113 * gst/gststructure.c: (gst_structure_get_abbrs),
6114 (gst_structure_to_string), (gst_structure_from_string):
6115 * gst/gstvalue.c: (gst_value_set_structure),
6116 (gst_value_get_structure), (gst_value_serialize_structure),
6117 (gst_value_deserialize_structure), (_gst_value_initialize):
6119 * tests/check/gst/gststructure.c: (GST_START_TEST),
6120 (gst_structure_suite):
6121 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6122 Added GstStructure to gst_value_table and its related functions.
6123 Changed gst_structure_to_string to print ';' in the end.
6124 Changed gst_caps_to_string to not print ';' beteween its
6125 fields (structures) anymore and remove the lastes ';' from latest
6126 structure. Now it is possible to have nested structures.
6127 In addition, backward compatibilty is assured by accepting '\0' as
6128 end delimiter. Fixes: #487969.
6129 API: add gst_value_set_structure()
6130 API: add gst_value_get_structure()
6131 API: add GST_VALUE_HOLDS_STRUCTURE
6133 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6136 When no GSource callback has been set up, tell developer
6137 to use a function that actually exists.
6139 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6141 * docs/gst/gstreamer-sections.txt:
6145 * gst/gstdebugutils.c:
6146 * gst/gstdebugutils.h:
6149 * tools/gst-launch.c:
6150 Allow dumping pipelines as dot graphs. Fixes #456573.
6152 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6154 * gst/gststructure.c:
6155 Allow '+' as well, it can be part of media or mime types
6156 such as image/svg+xml.
6158 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6160 * docs/gst/gstreamer-sections.txt:
6163 API: add gst_bus_pop_filtered
6164 API: add gst_bus_timed_pop_filtered
6165 Two new functions for waiting for specific message types on the
6166 bus for a specified amount of time without iterating any main
6167 loops or main contexts.
6169 * tests/check/gst/gstbus.c:
6170 Some tests for the new functions.
6172 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6174 * docs/libs/gstreamer-libs-sections.txt:
6175 Make gtk-doc ignore stuff it should ignore.
6177 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6179 * libs/gst/check/gstcheck.c:
6180 * libs/gst/check/gstcheck.h:
6181 Allow runtime selection of unit tests to run via the GST_CHECKS
6182 environment variable (test case function names, comma-separated).
6184 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6186 * gst/gststructure.c:
6187 * tests/check/gst/gststructure.c:
6188 Revert serialisation change and constrain structure-names after
6189 consensus on irc. Update api documentation to reflect the change.
6191 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6193 * gst/gststructure.c:
6194 Improve serialization and fix tests.
6196 * tests/check/gst/gststructure.c:
6197 Add another test that covers why I actually did the previous structure
6200 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6202 * tools/gst-inspect.c: (print_element_info):
6203 Don't crash when inspecting an element.
6205 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6207 * tests/check/gst/gststructure.c:
6208 Add unit test for escaping of structure name when serialising
6209 and deserialising to/from strings.
6211 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6213 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6214 (gst_single_queue_new):
6215 * plugins/elements/gstqueue.c: (gst_queue_init),
6216 (gst_queue_push_one):
6217 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6218 upstream is tricked into thinking it can suggest a format downstream
6219 while downstream does not support that format. The real problem is that
6220 core calls acceptcaps when pushing a buffer with new caps, for which we
6221 do a little workaround by setting the caps on the srcpad ourselves
6222 before pushing the buffer (until this is figured out). Fixes #486758.
6224 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6226 * gst/gststructure.c:
6228 Add some more comments and debug output. Quote structure name to fix
6229 deserialisation of some strings.
6231 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6234 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6235 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6237 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6239 * tools/gst-inspect.c:
6240 Save approx. 400 1 byte allocs when printing. Use API to acces element
6246 * tools/gst-xmlinspect.c:
6247 Use API to acces element details.
6249 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6252 Fix some spelling errors.
6254 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6256 * gst/gstbin.c: (bin_handle_async_done):
6257 Correctly set the next state if all of our async children commited their
6258 state. This makes sure we can actually cancel the state change in
6259 progress. Fixes a regression in Rhythmbox when seeking.
6261 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6264 Don't shadow local variable.
6267 Don't shadow global function name.
6269 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6271 * gst/gstelementfactory.c:
6272 * gst/gstpluginfeature.c:
6273 * gst/gstpluginfeature.h:
6274 * gst/gstregistrybinary.c:
6275 * gst/gstregistryxml.c:
6276 * gst/gsttypefind.c:
6277 Use already-interned string for the private GstPluginFeature
6280 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6282 * docs/libs/gstreamer-libs-sections.txt:
6283 Add new API to docs; fixes the build.
6285 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6287 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6289 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6290 (gst_base_sink_event):
6291 * libs/gst/base/gstbasesink.h:
6292 Add function to wait for EOS, subclasses can use this to correctly wait
6293 for devices to drain before performing the EOS logic. Fixes #485343.
6294 API: gst_base_sink_wait_eos()
6296 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6299 Cast description string constants in GST_PLUGIN_DEFINE macros
6300 to a (gchar*) to make C++ code using these macros compile
6301 without warning with g++-4.2 (see #462737). Even if slightly
6302 ugly, this seems preferable to putting the description strings
6303 into the GLib quark table or making the structure member a
6304 const gchar * and doing casts in core code that allocs and
6305 frees these strings, or requiring a cast in the C++ code.
6307 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6310 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6311 to print the entire class/function signature into the log
6312 file for C++ code. This only affects C++ code, for C code
6313 everything remains the same.
6315 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6317 * gst/gstbin.c: (remove_from_queue):
6318 Work around a problem with pipelines containing (semi)loops until a
6319 proper, more complicated solution is ready. See #475455.
6321 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6325 * gst/gstregistrybinary.c:
6326 * gst/gstregistryxml.c:
6327 Put more strings into the GLib quark table. No need to keep
6328 a hundred-something copies of identical version strings,
6329 license strings, package name strings and package origin
6332 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6334 * docs/manual/advanced-dataaccess.xml:
6335 Don't imply that it's okay to unconditionally change
6336 buffer data or buffer metadata in a pad probe callback,
6337 and a bunch of other comments. Fixes #430031.
6339 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6341 * win32/common/gstenumtypes.c:
6342 * win32/common/gstenumtypes.h:
6343 * win32/common/gstversion.h:
6344 Update generated files.
6346 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6348 * docs/manual/advanced-autoplugging.xml:
6349 Prefix section with broken code with a warning (see #342432).
6351 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6353 * docs/manual/appendix-integration.xml:
6354 * docs/manual/basics-init.xml:
6355 Call g_thread_init() before g_option_context_new() to
6356 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6358 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6360 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6361 (gst_base_sink_queue_object_unlocked),
6362 (gst_base_sink_queue_object), (gst_base_sink_event),
6363 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6364 When we received EOS and are waiting for when to post the EOS message,
6365 our state is prerolled and we should not return ASYNC.
6366 Reorganize some code paths to implement this behavior.
6368 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6370 Add unit test to verify above EOS fix.
6372 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6374 * plugins/elements/gsttypefindelement.c:
6375 (gst_type_find_element_have_type), (gst_type_find_element_init),
6376 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6377 Move detecting the input caps of the sinkpad to the setcaps function.
6378 This allows us to update the output caps when we receive new input caps
6379 instead of always using the first detected caps.
6381 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6383 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6384 (gst_base_sink_get_position):
6385 Don't try to preroll non-async elements after a flush.
6386 Subtract latency form clock times when reporting position.
6388 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6390 * gst/gstpad.c: (gst_pad_pause_task):
6392 Small comment and documentation update.
6394 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6396 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6397 (gst_base_src_set_live), (gst_base_src_is_live),
6398 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6399 (gst_base_src_default_event), (gst_base_src_wait),
6400 (gst_base_src_do_sync), (gst_base_src_get_range),
6401 (gst_base_src_pad_get_range), (gst_base_src_loop),
6402 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6403 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6404 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6405 (gst_base_src_change_state):
6406 Rework the locking of basesrc in a similar fashion to basesink. We
6407 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6408 us to handle live sources and semi live ones much better.
6410 Fix unlocking when seeking, shutting down and pausing in live sources.
6412 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6414 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6415 Fix compilation again.
6417 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6420 Use meaningful categories for the logs to clean the default one.
6422 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6424 * tests/check/pipelines/cleanup.c:
6425 Print message name and not just number.
6427 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6429 * docs/design/draft-tagreading.txt:
6430 Add some more thoughts.
6432 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6434 * tests/check/pipelines/simple-launch-lines.c:
6435 Print message name and not just number.
6437 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6439 * libs/gst/base/gsttypefindhelper.c:
6440 Speedup typefinding. This is work in progress (see #459862).
6442 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6445 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6446 Spotted by Josep Torra Valles <josep@fluendo.com>.
6448 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6451 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6452 field has moved to GstObject.
6454 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6456 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6457 (gst_base_src_get_range), (gst_base_src_change_state):
6458 Call unlock for live sources so that they can't get stuck in _create and
6459 produce a buffer before they are set back to PLAYING.
6461 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6463 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6464 (gst_queue_locked_dequeue):
6465 Comment the segment-related code... in the PROPER function.
6466 See #482147 and my commit from yesterday.
6468 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6470 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6471 Also initialize the counter that calculates the first timestamp on a
6472 buffer correctly for non-live sources.
6474 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6476 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6477 Disable code that's breaking the current-time-level reporting.
6480 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6482 * docs/gst/gstreamer-sections.txt:
6483 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6484 as they shouldn't show up. Fixes the docs build.
6486 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6489 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6490 Define M_PI which is used in files which are including gstinfo.h.
6491 VS6 includes doesn't define it.
6492 * win32/common/libgstbase.def:
6493 * win32/common/libgstcontroller.def:
6494 * win32/common/libgstreamer.def:
6495 Add new exported functions and variables.
6496 * win32/vs6/libgstcontroller.dsp:
6497 * win32/vs6/libgstreamer.dsp:
6498 Update the list of files to build.
6500 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6502 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6504 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6505 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6506 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6507 Improve debugging. Fixes #480858.
6509 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6511 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6513 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6514 First patch of code cleanups, use the macros and right arguments in the
6515 macros to signal and lock the queue. See #480858.
6517 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6519 * gst/gstbus.c: (poll_func):
6520 Improve debugging when dealing with _poll().
6522 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6524 * gst/gstregistryxml.c:
6525 Fix memory leak I introduced a few days ago.
6527 2007-09-26 Michael Smith <msmith@fluendo.com>
6529 * gst/gstbuffer.c: (gst_buffer_finalize):
6530 Make it once again possible to free GstBuffers in the default
6532 The poisoning scribbles on parts of the miniobject we need in
6536 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6538 * docs/gst/gstreamer-sections.txt:
6541 API: add GST_TAG_COMPOSER, fixes #459809.
6543 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6547 Add the 3-clause BSD license and the MIT/X11 license to the license
6548 list. Fixes #479784.
6550 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6552 * docs/faq/getting.xml:
6553 Add Q+A about different GStreamer versions (#364056).
6555 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6557 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6558 (gst_base_sink_event), (gst_base_sink_change_state):
6559 Return correct gboolean from query function.
6561 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6563 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6564 (gst_base_sink_event), (gst_base_sink_query),
6565 (gst_base_sink_change_state):
6566 Simplify latency query.
6567 When not synchronizing, we can report latency without querying the peer
6570 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6574 Fix small typos in the docs.
6576 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6578 * docs/design/draft-latency.txt:
6579 * docs/design/draft-push-pull.txt:
6580 * docs/design/draft-tagreading.txt:
6581 * docs/design/part-MT-refcounting.txt:
6582 * docs/design/part-activation.txt:
6583 * docs/design/part-block.txt:
6584 * docs/design/part-element-source.txt:
6585 * docs/design/part-events.txt:
6586 * docs/design/part-gstbin.txt:
6587 * docs/design/part-gstelement.txt:
6588 * docs/design/part-gstobject.txt:
6589 * docs/design/part-gstpipeline.txt:
6590 * docs/design/part-messages.txt:
6591 * docs/design/part-preroll.txt:
6592 * docs/design/part-push-pull.txt:
6593 * docs/design/part-qos.txt:
6594 * docs/design/part-query.txt:
6595 * docs/design/part-scheduling.txt:
6596 * docs/design/part-seeking.txt:
6597 * docs/design/part-segments.txt:
6598 * docs/design/part-states.txt:
6599 Documentation updates and typo fixes.
6601 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6603 * plugins/elements/gstfakesink.c:
6604 Add some debug text to error message to indicate that
6605 we errored out on request.
6607 * tools/gst-launch.c:
6608 When the state change to PLAYING fails, check for an
6609 error message on the bus and print it.
6611 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6613 translated by: Jorge González González <aloriel@gmail.com>
6617 Added Spanish translation.
6619 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6621 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6622 Fix printf arguments.
6624 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6626 * tests/check/generic/states.c:
6627 Improved state change unit test.
6629 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6632 Move priv to the right place.
6634 * gst/gstsystemclock.c:
6635 Add FIXME: and improve log.
6637 * tests/check/Makefile.am:
6638 * tests/examples/manual/Makefile.am:
6639 Work with all types of registries.
6641 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6643 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6644 Don't unref the event after pushing it. Fixes #478401.
6646 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6649 * tests/examples/manual/.cvsignore:
6650 Ignore registries in any format.
6652 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6654 * gst/glib-compat-private.h:
6655 Add compatibility macro for g_intern_string() for
6656 GLib-2.8 (any reason we can't just bump the
6657 requirement to at least 2.10?)
6659 * gst/gstpadtemplate.h:
6660 * gst/gstelementfactory.c:
6661 * gst/gstregistryxml.c:
6662 * gst/gstregistrybinary.c:
6663 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6664 up the internal code accordingly. This shouldn't be a problem, since
6665 there is no reason external code could ever assume the string in such
6666 a structure is dynamically allocated unless it did that itself; the
6667 use of g_strdup() is private to element factories. The new code also
6668 saves some memory by putting pad template name strings into the GLib
6669 quark table instead of allocating them dynamically.
6670 Declaring this field constant fixes warnings with g++-4.2 when using
6671 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6673 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6675 * gst/gstelementfactory.c:
6676 Release static caps. Fixes #475723.
6678 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6682 Make some internal API take const gchar * instead of just
6683 gchar * to avoid compiler warnings with g++-4.2.2 when
6684 passing string constants (partially fixes #478092).
6686 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6688 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6689 A latency query fails when one of the sinks fail.
6691 * gst/gstelement.c: (gst_element_set_base_time):
6694 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6696 * gst/gstbin.c: (gst_bin_continue_func):
6697 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6698 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6699 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6701 Fix minor compilation warnings shown with Forte.
6703 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6705 * plugins/elements/gstqueue.c: (apply_buffer),
6706 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6707 Measure queue level based on the diff between head and tail timestamps
6708 even when pushing the first buffer.
6710 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6712 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6713 (gst_base_sink_event), (gst_base_sink_change_state):
6714 Sinks that don't preroll can always be queried for the latency.
6715 Don't post ASYNC start when we are not async.
6717 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6719 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6720 (gst_queue_handle_sink_event), (gst_queue_chain),
6721 (gst_queue_push_one), (gst_queue_handle_src_query),
6722 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6723 * plugins/elements/gstqueue.h:
6724 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6725 push more buffers but allow pushing of EOS and NEWSEGMENT.
6726 Add some more debug info here and there. Fixes #476514.
6728 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6730 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6731 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6732 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6733 (gst_base_sink_set_flushing), (gst_base_sink_query),
6734 (gst_base_sink_change_state):
6735 Latency query is allowed after we are prerolled. Introduce a new flag
6736 for this and stop abusing other variables.
6738 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6740 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6741 Push OOB events downstream when we get them in send_event. This allows
6742 the application to insert events in the pipeline.
6743 Add some more comments.
6745 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6747 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6748 (do_bin_latency), (gst_bin_change_state_func):
6749 * gst/gstpipeline.c: (gst_pipeline_change_state):
6750 Move latency query from GstPipeline to GstBin so that we can also
6751 use it when async-handling is enabled on bins.
6753 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6755 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6756 (gst_base_src_do_sync), (gst_base_src_change_state):
6758 Clean up the timestamping and syncing code for pseudo live sources.
6760 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6762 Patch by: Steve Fink <sphink gmail com>
6764 * docs/manual/appendix-checklist.xml:
6765 Mention less -R switch in the section about debug output (#474055).
6767 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6769 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6770 Queue can latency to the pipeline up to the configured max size in time.
6771 Report this fact in the latency query.
6773 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6775 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6777 * libs/gst/controller/gstinterpolation.c:
6778 * libs/gst/controller/gstlfocontrolsource.c:
6779 Use gst_guint64_to_gdouble() when converting from a uint64 or
6780 GstClockTime to double to fix the build on win32. Fixes #474371.
6782 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6784 * gst/gstbuffer.c: (gst_buffer_finalize):
6785 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6786 When finalizing a buffer the complete struct is filled with 0xff,
6787 thus making a use of the buffer after the final unref impossible.
6789 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6791 * tests/check/libs/controller.c: (GST_START_TEST):
6792 Use fail_unless_equals_int(a, b) instead of
6793 fail_unless_equals (a == b) to get better output on failures.
6795 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6797 * tests/check/gst/gsturi.c:
6798 Also check for the other file URI variant on win32.
6800 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6802 * gst/gsturi.c: (gst_uri_get_location):
6803 If there's no hostname, we want to return 'c:/foo/bar.txt'
6804 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6806 * tests/check/gst/gsturi.c:
6807 Unit test for the above and a few more things.
6809 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6811 * docs/design/part-live-source.txt:
6812 Add docs on how live sources should timestamp.
6814 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6815 Add some more debug info.
6816 For subclasses that are live and like to sync, add aditional startup
6817 latency to sync time and timestamps so that we timstamp according to the
6820 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6823 Also do a g_type_class_ref() for the subbuffer type in
6826 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6828 * docs/gst/gstreamer-sections.txt:
6829 * gst/gstpad.c: (gst_pad_peer_query):
6831 Add function to perform a query on the peer of a pad.
6832 API: gst_pad_peer_query()
6834 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6836 * tests/check/gst/gstsystemclock.c:
6837 Cleanup the test a little (use gst-logging and not g_message). Improve
6838 test to check if a wait reached the target.
6840 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6842 * docs/libs/gstreamer-libs-sections.txt:
6843 Add new API to docs and fix the build.
6845 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6847 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6848 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6849 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6850 (gst_base_src_get_property), (gst_base_src_do_sync):
6851 * libs/gst/base/gstbasesrc.h:
6852 Add property to make the basesrc timestamp buffers based on the current
6854 API: GstBaseSrc::do-timestamp
6855 API: gst_base_src_set_do_timestamp()
6856 API: gst_base_src_get_do_timestamp()
6858 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6860 * docs/random/release:
6861 Really make sure translations are up-to-date before
6862 a release (#465010).
6864 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6866 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6867 Always destroy the timer, also in error cases.
6869 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6871 * docs/manual/highlevel-xml.xml:
6872 Fix XML example code. Fixes #472714.
6874 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6876 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6877 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6878 (gst_base_sink_query):
6879 Protect eos and have_preroll with the OBJECT lock so we don't need to
6880 take the PREROLL lock when querying the latency. Fixes #473846.
6882 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6885 Give some log-messages a category.
6887 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6889 * gst/gststructure.c:
6890 (gst_structure_fixate_field_nearest_fraction):
6891 Fix fraction list fixation code. Take the fraction with the smallest
6892 difference with the target instead of the first one in the list.
6894 * tests/check/gst/gststructure.c: (GST_START_TEST),
6895 (gst_structure_suite):
6896 Added test to verify correct fraction list fixation behaviour.
6898 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6900 * win32/common/libgstreamer.def:
6901 Export gst_bus_add_signal_watch too.
6903 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6905 * docs/libs/gstreamer-libs-sections.txt:
6906 Add new methods to docs.
6908 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6909 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6910 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6911 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6912 * libs/gst/base/gstbasesink.h:
6913 Add ts-offset property to fine-tune the synchronisation.
6914 API: GstBaseSink::ts-offset property
6915 API: gst_base_sink_set_ts_offset()
6916 API: gst_base_sink_get_ts_offset()
6918 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6920 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6921 (gst_base_sink_init), (gst_base_sink_set_sync),
6922 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6923 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6924 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6925 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6926 (gst_base_sink_get_property), (gst_base_sink_change_state):
6927 * libs/gst/base/gstbasesink.h:
6928 Add async property to instruct the sink never to inform the parent about
6929 ASYNC state changes, update docs.
6930 Check argument with g_return_* for the public functions.
6931 API: GstBaseSink::async property
6932 API: gst_base_sink_set_async_enabled()
6933 API: gst_base_sink_is_async_enabled()
6935 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6937 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6940 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6941 (gst_base_src_default_query), (gst_base_src_wait),
6942 (gst_base_src_do_sync), (gst_base_src_change_state):
6943 Rearrange some code so that we can add support for measuring the
6946 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6948 * docs/random/ensonic/dynlink.txt:
6949 More thoughs on this.
6951 * plugins/elements/gstcapsfilter.c:
6952 Add bugzilla ticket number to FIXME comment.
6954 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6956 * docs/design/part-TODO.txt:
6957 * docs/design/part-block.txt:
6960 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6963 Revert patch which uses $(gst_headers) instead of $^ because it
6966 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6968 * tests/check/gst/gstbin.c: (GST_START_TEST):
6969 Fix leaks in the new unit test.
6971 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
6974 Don't use GST_INFO before the debug system is actually initialised
6975 (shouldn't do any harm, but won't print anything either, so we can
6976 just as well remove it).
6979 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6980 compilers that don't support variadic macros (such as MSVC), should
6981 check for debug_level <= __gst_debug_min as well, since that's the
6982 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6983 inline helper functions. Should improve performance a bit, but also
6984 makes sure uses of GST_INFO et.al are ignored if the debugging
6985 system isn't initialised yet (instead of printing an assertion
6988 2007-08-23 Stefan Kost <ensonic@users.sf.net>
6990 patch by: David Nečas <yeti@physics.muni.cz>
6993 Replace some non portable makefile constructs.
6995 2007-08-21 Stefan Kost <ensonic@users.sf.net>
6997 * common/gtk-doc-plugins.mak:
6998 Grrrrr. Don't remove the types file on make clean.
7000 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
7002 * tools/gst-launch.1.in:
7003 Add colorspace to example pipeline. Fixes #458274.
7005 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
7007 * docs/random/release:
7008 The release manager should run 'make download-po' before making a
7009 release to make sure translations are up-to-date.
7015 Add some new translations.
7017 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
7019 * tools/gst-launch.c: (event_loop), (main):
7020 Don´t try to do any state management when a live pipeline posts
7022 Also make the buffering string translatable.
7024 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7026 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
7027 (bin_handle_async_start), (gst_bin_handle_message_func):
7029 When adding elements, insert messages into the bus of the newly added
7030 element and make sure the element is the source of the message. This
7031 allows the parent bin to intercept the message and do the
7032 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
7033 messages to the app (which is not allowed).
7036 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7037 Fix testsuite so that is does not work around messages that should not
7038 have been posted in the first place.
7040 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7042 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7043 (update_degree), (gst_bin_sort_iterator_next):
7044 Fix annoying bug in the sorted iterator where a sink that is not really
7045 a sink (when it has downstream links) screwed up the iterator.
7047 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7048 Unit test to verify the fix.
7050 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
7053 Add some more docs for the messages.
7055 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7056 (gst_base_sink_query):
7057 Add some more debugging.
7059 * tools/gst-launch.c: (event_loop):
7060 When interrupting, don't try to set pipeline to PAUSED twice.
7062 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7065 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7066 (bin_handle_async_start), (gst_bin_handle_message_func):
7067 Move ASYNC_START message posting to where it belongs, similar to
7069 Don't post ASYNC_START when we are in error.
7070 Post ASYNC_START when we added an async element to a bin.
7072 2007-08-14 Julien MOUTTE <julien@moutte.net>
7074 * gst/gstindex.c: (gst_index_add_association): Fix index entry
7075 generation from vargs. Fixes #466595.
7077 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7079 * gst/gstbin.c: (gst_bin_element_set_state):
7080 Always change the state of a NO_PREROLL element even if it has ASYNC
7081 elements inside (in case of a bin).
7083 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7084 Unit test for this case.
7086 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7088 * libs/gst/check/gstbufferstraw.c:
7089 * libs/gst/check/gstcheck.h:
7090 * libs/gst/controller/gstcontroller.c:
7091 * libs/gst/controller/gstcontrolsource.h:
7092 * libs/gst/controller/gstlfocontrolsource.h:
7093 * plugins/elements/gstcapsfilter.h:
7094 * plugins/elements/gstfdsink.h:
7095 * plugins/elements/gstfdsrc.h:
7096 Add more missing docs.
7098 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7100 * gst/gststructure.c:
7101 Add Since tag to docs.
7103 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7105 * docs/gst/gstreamer-sections.txt:
7106 * gst/gststructure.c: (gst_structure_get_uint):
7107 * gst/gststructure.h:
7108 Add function to get uint from a structure.
7109 API: gst_structure_get_uint()
7111 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7113 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7114 (gst_caps_intersect):
7115 Fix proper check for simple caps.
7117 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7119 * docs/gst/Makefile.am:
7120 * docs/libs/Makefile.am:
7121 Remove cruft and do some cleanups.
7123 * docs/gst/gstreamer-docs.sgml:
7124 * docs/libs/gstreamer-libs-docs.sgml:
7125 Prepare for comming gtkdoc features (rebase against online docs).
7127 2007-08-10 Michael Smith <msmith@fluendo.com>
7129 * docs/gst/gstreamer-sections.txt:
7130 Add gst_registry_add_path to docs.
7132 2007-08-10 Michael Smith <msmith@fluendo.com>
7134 * gst/gstregistry.h:
7135 Add gst_registry_add_path, which was missing from this header.
7137 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7139 * libs/gst/controller/gstlfocontrolsource.c:
7142 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7144 * libs/gst/base/gstbasesink.c:
7145 Don't send an async_start message during downwards state change if
7146 target state is less than READY
7148 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7150 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7154 Added Hungarian translation.
7156 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7163 Updated translations.
7165 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7167 * libs/gst/controller/Makefile.am:
7168 Dist gstlfocontrolsourceprivate.h
7170 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7172 * docs/libs/gstreamer-libs.types:
7173 Don't register the enum type gst_lfo_waveform_get_type() in the
7174 .types file - only GObject derived types belong.
7176 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7178 Patch by: <arenevier at fdn dot fr>
7181 Remove comma from last element in enum to avoid compile errors when
7182 using -pendantic. Fixes #464366.
7184 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7186 * docs/design/part-TODO.txt:
7187 Add some more TODO items
7189 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7192 * gst/gstcaps.c: (gst_caps_intersect):
7193 Optimize trivial intersection case between identical caps pointers.
7195 * gst/gstelement.c: (gst_element_continue_state),
7196 (gst_element_set_state_func):
7198 Fix spelling and grammar mistakes.
7200 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7204 Update POTFILES. Fixes #461599.
7206 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7209 Fix confusing typo in debug output.
7211 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7213 reviewed by: Stefan Kost <ensonic@users.sf.net>
7215 * libs/gst/controller/Makefile.am:
7216 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7217 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7218 (gst_lfo_control_source_new),
7219 (gst_lfo_control_source_set_waveform),
7220 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7221 (gst_lfo_control_source_finalize),
7222 (gst_lfo_control_source_dispose),
7223 (gst_lfo_control_source_set_property),
7224 (gst_lfo_control_source_get_property),
7225 (gst_lfo_control_source_class_init):
7226 * libs/gst/controller/gstlfocontrolsource.h:
7227 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7228 API: Add GstLFOControlSource, a control source that gives values
7229 for specific timestamps based on several periodic waveforms.
7232 * tests/check/libs/controller.c: (GST_START_TEST),
7233 (gst_controller_suite):
7234 * docs/libs/gstreamer-libs-docs.sgml:
7235 * docs/libs/gstreamer-libs-sections.txt:
7236 * docs/libs/gstreamer-libs.types:
7237 Add documentation and unit tests for GstLFOControlSource.
7239 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7244 === release 0.10.14 ===
7246 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7249 releasing 0.10.14, "Breathing Vacuum"
7251 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7253 * gst/gstelement.c: (gst_element_class_set_details_simple):
7255 Make strings passed to gst_element_class_set_details_simple()
7256 constant, as they should be (#462752).
7258 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7260 * gst/gstbin.c: (gst_bin_change_state_func),
7261 (bin_handle_async_done), (gst_bin_handle_message_func):
7262 Don't forget about the fact that some element went ASYNC even after a
7263 resync. This makes us post the ASYNC_DONE message correctly.
7266 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7268 * gst/gstregistry.c: (gst_registry_add_feature):
7269 When replacing an existing feature in the registry, make sure to
7270 continue holding a reference until we've replaced the name string
7271 within our feature hash table. Make sure to use g_hash_table_replace
7272 instead of g_hash_table_insert to ensure the new name string is used
7273 as a key instead of the old one that we're about to free.
7276 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7278 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7279 (gst_plugin_feature_set_name):
7280 Revert patch from #459466 until after the release and we can work
7281 out exactly what the problem is (if any).
7283 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7285 * docs/gst/gstreamer-sections.txt:
7288 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7290 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7292 * docs/libs/Makefile.am:
7293 Include our build-prefix libs and includes before the generic ones to
7294 avoid linking against the installed libs when we want the build-tree
7297 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7299 Patch by: Steve Fink <sphink gmail com>
7301 * docs/pwg/building-testapp.xml:
7302 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7303 if people try to build or install the example from the plugin
7304 template against a GStreamer from package using the configure
7307 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7309 Patch by: Steve Fink <sphink gmail com>
7311 * tools/gst-inspect.1.in:
7312 Document --print-all and --print-plugin-auto-install-info command
7313 line options in man page.
7315 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7317 * docs/gst/gstreamer-sections.txt:
7318 Add docs for new api function.
7320 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7322 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7323 * gst/gstelementfactory.h:
7324 API: gst_element_factory_has_interface()
7325 Added method to check if an element factory implements a named
7328 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7331 * docs/gst/gstreamer.types.in:
7332 Another conditional doc check.
7335 * gst/gstparamspecs.h:
7336 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7341 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7343 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7344 (gst_registry_binary_load_feature),
7345 (gst_registry_binary_load_plugin),
7346 (gst_registry_binary_read_cache):
7347 Print error just once and with additional info.
7349 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7351 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7352 (helper_find_suggest), (helper_find_get_length),
7353 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7354 (gst_type_find_helper_for_buffer):
7355 Cleanup the typefindhelper code and add private doc comments.
7357 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7359 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7360 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7361 Fix capsfilter for cases where the caps set on capsfilter will provide
7362 additional information.
7365 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7367 * gst/gsttypefindfactory.c:
7368 Fix docs that recommened wrong function to use.
7370 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7372 * tools/gst-inspect.c: (print_plugin_features):
7373 Also give media-type for typefinders in element output.
7375 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7377 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7378 (gst_registry_remove_features_for_plugin_unlocked),
7379 (gst_registry_add_feature), (gst_registry_remove_feature),
7380 (gst_registry_lookup_feature_locked):
7381 * gst/gstregistry.h:
7382 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7385 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7387 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7388 (gst_plugin_feature_set_name):
7389 Avoid double memory usage for pluginfeature names. Fixes #459466.
7391 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7394 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7395 driving the pipeline may need to explicitly check for NOT_LINKED as
7396 well, since IS_FATAL doesn't cover that.
7398 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7400 * docs/pwg/advanced-types.xml:
7401 Fix typo and duplicate entry in video formats list.
7403 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7405 * libs/gst/controller/gstinterpolation.c:
7406 Also round to the nearest int when using cubic interpolation.
7408 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7410 * libs/gst/controller/gstinterpolation.c:
7411 When linearly interpolating integer types, round to the nearest int
7412 by adding 0.5. Don't do it for float/double types.
7413 Fixes the failing controller test on my machine, which is somehow
7414 rounding differently than on the buildbots.
7416 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7418 * tools/gst-plot-timeline.py:
7419 Better log parsing (categories can have -). Adjust text vs. lines, so
7420 that they span the same y-range.
7422 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7424 * docs/random/ensonic/audiobaseclasses.txt:
7425 * docs/random/ensonic/dynlink.txt:
7426 * docs/random/ensonic/profiling.txt:
7429 * docs/random/moving-plugins:
7430 Add note to use g_assert type macros.
7432 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7435 * libs/gst/check/Makefile.am:
7436 Add libm check as we use in for plugins.
7438 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7440 * gst/gstbin.c: (gst_bin_continue_func):
7441 Check that the state_cookie hasn't changed since the continue_func
7442 was scheduled. Avoids problems where the state changes back to
7443 something it shouldn't be because it was changed in the meantime.
7445 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7447 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7448 (gst_registry_binary_save_string),
7449 (gst_registry_binary_save_pad_template),
7450 (gst_registry_binary_save_feature),
7451 (gst_registry_binary_save_plugin),
7452 (gst_registry_binary_load_feature),
7453 (gst_registry_binary_load_plugin),
7454 (gst_registry_binary_read_cache):
7455 Fix memory leak. Be less verbose in the log.
7457 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7459 * tests/check/elements/.cvsignore:
7460 Add file to cvsignore as commanded.
7462 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7464 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7465 (mq_dummypad_event), (run_output_order_test):
7466 Use a GStaticMutex to protect all cases where libcheck
7467 fail_if/fail_unless macros might be called from multiple threads
7468 simultaneously to avoid errors like:
7469 "check_pack.c:107: :-1081725400:Bad message type arg"
7471 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7473 * tests/check/pipelines/stress.c: (GST_START_TEST):
7474 Make sure we set the pipeline back to the NULL state before
7475 dropping our final reference.
7477 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7479 * tests/check/elements/tee.c: (GST_START_TEST):
7480 Make the tee stress-test a little less stressful so it doesn't just
7481 time out on slow-machines, and remove a small race when it's starting
7482 up by adding a get_state() call.
7484 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7487 Avoid reading registry twice on startup. Fixes #457322.
7489 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7491 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7492 * pkgconfig/gstreamer-check.pc.in:
7493 Substitute the CFLAGS for libcheck into our .pc file too so that
7494 dependent modules will pick it up properly if libcheck is installed
7495 into some other prefix.
7497 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7500 Revert the pkg-config check for libcheck, since it pulls in the
7501 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7502 a proper solution, either from the check project, or something else.
7504 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7507 Use pkg-config to locate check.
7509 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7516 Add deprecation guards.
7518 * libs/gst/base/gstcollectpads.h:
7519 Don't document object (this is implicitly private).
7521 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7523 * gst/gststructure.c: (gst_structure_parse_value):
7524 When deserialising foo=bar without a type cast, check if it's a
7525 boolean before falling back to a string type, otherwise things like
7526 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7527 because the filtercaps end up having a signed=(string)true field,
7528 which causes problems later when intersection caps.
7530 * tests/check/gst/gststructure.c: (GST_START_TEST):
7531 Add a unit test for this.
7533 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7535 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7537 * libs/gst/controller/Makefile.am:
7538 * libs/gst/controller/gstcontroller.c:
7539 (gst_controlled_property_add_interpolation_control_source),
7540 (gst_controlled_property_new), (gst_controlled_property_free),
7541 (gst_controller_find_controlled_property),
7542 (gst_controller_new_valist), (gst_controller_new_list),
7543 (gst_controller_new), (gst_controller_remove_properties_valist),
7544 (gst_controller_remove_properties_list),
7545 (gst_controller_remove_properties),
7546 (gst_controller_set_property_disabled),
7547 (gst_controller_set_disabled), (gst_controller_set_control_source),
7548 (gst_controller_get_control_source), (gst_controller_get),
7549 (gst_controller_sync_values), (gst_controller_get_value_array),
7550 (_gst_controller_dispose), (gst_controller_get_type),
7551 (gst_controlled_property_set_interpolation_mode),
7552 (gst_controller_set), (gst_controller_set_from_list),
7553 (gst_controller_unset), (gst_controller_unset_all),
7554 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7555 * libs/gst/controller/gstcontroller.h:
7556 * libs/gst/controller/gstcontrollerprivate.h:
7557 * libs/gst/controller/gstcontrolsource.c:
7558 (gst_control_source_class_init), (gst_control_source_init),
7559 (gst_control_source_get_value),
7560 (gst_control_source_get_value_array), (gst_control_source_bind):
7561 * libs/gst/controller/gstcontrolsource.h:
7562 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7563 (gst_object_get_control_source):
7564 * libs/gst/controller/gstinterpolation.c:
7565 (gst_interpolation_control_source_find_control_point_node),
7566 (gst_interpolation_control_source_get_first_value),
7567 (_interpolate_none_get), (interpolate_none_get),
7568 (interpolate_none_get_boolean_value_array),
7569 (interpolate_none_get_enum_value_array),
7570 (interpolate_none_get_string_value_array),
7571 (_interpolate_trigger_get), (interpolate_trigger_get),
7572 (interpolate_trigger_get_boolean_value_array),
7573 (interpolate_trigger_get_enum_value_array),
7574 (interpolate_trigger_get_string_value_array):
7575 * libs/gst/controller/gstinterpolationcontrolsource.c:
7576 (gst_control_point_free), (gst_interpolation_control_source_reset),
7577 (gst_interpolation_control_source_new),
7578 (gst_interpolation_control_source_set_interpolation_mode),
7579 (gst_interpolation_control_source_bind),
7580 (gst_control_point_compare), (gst_control_point_find),
7581 (gst_interpolation_control_source_set_internal),
7582 (gst_interpolation_control_source_set),
7583 (gst_interpolation_control_source_set_from_list),
7584 (gst_interpolation_control_source_unset),
7585 (gst_interpolation_control_source_unset_all),
7586 (gst_interpolation_control_source_get_all),
7587 (gst_interpolation_control_source_get_count),
7588 (gst_interpolation_control_source_init),
7589 (gst_interpolation_control_source_finalize),
7590 (gst_interpolation_control_source_dispose),
7591 (gst_interpolation_control_source_class_init):
7592 * libs/gst/controller/gstinterpolationcontrolsource.h:
7593 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7594 API: Refactor GstController into the core controller which can take
7595 a GstControlSource for providing actual values for timestamps.
7596 Implement a interpolation control source and use this for backward
7597 compatibility, deprecate a bunch of functions that are now handled
7598 by GstControlSource or GstInterpolationControlSource.
7599 Make it possible to disable the controller completely or only for
7600 specific properties. Fixes #450711.
7601 * docs/libs/gstreamer-libs-docs.sgml:
7602 * docs/libs/gstreamer-libs-sections.txt:
7603 * docs/libs/gstreamer-libs.types:
7604 Add new functions and classes to the docs.
7605 * tests/check/libs/controller.c: (GST_START_TEST),
7606 (gst_controller_suite):
7607 * tests/examples/controller/audio-example.c: (main):
7608 Port unit test and example to the new API and add some new
7611 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7613 Patch by: Mark Nauwelaerts <manauw at skynet be>
7615 * plugins/elements/gstmultiqueue.c:
7616 (gst_multi_queue_get_internal_links), (apply_buffer),
7617 (single_queue_overrun_cb), (gst_single_queue_new):
7618 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7619 the pipeline layout can be tracked correctly. Fixes #453732.
7621 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7623 * docs/gst/Makefile.am:
7624 * docs/libs/Makefile.am:
7625 * docs/plugins/Makefile.am:
7626 Simplify --extra-dir as gtkdoc scans recursively.
7628 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7630 * tools/gst-launch.c: (main):
7631 When we got an error, there is no point in waiting for preroll when
7634 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7636 * plugins/elements/gsttee.c: (gst_tee_base_init),
7637 (gst_tee_request_new_pad), (gst_tee_release_pad),
7638 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7639 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7641 Be a lot smarter when deciding what srcpad to use for proxying
7642 the buffer_alloc. Also handle pad added/removed when doing so.
7644 Keep track of what pads we already pushed on in case we have pads
7645 added/removed while pushing. Fixes #374639
7647 * tests/check/Makefile.am:
7648 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7650 Added unit test for pad resync.
7652 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7656 Updated translations.
7658 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7660 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7664 Added new Finnish translation.
7666 2007-06-28 Wim Taymans <wim@fluendo.com>
7668 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7669 (single_queue_overrun_cb):
7670 When figuring out when a queue is filled, use our internal time estimate
7671 based on segments, just like check_full does.
7673 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7675 * gst/gstminiobject.c: (gst_mini_object_get_type):
7676 Remove 3 do-nothing methods.
7678 2007-06-27 Wim Taymans <wim@fluendo.com>
7680 Patch by: Tim Angus <tim at ngus dot net>
7682 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7683 (gst_capsfilter_set_property):
7684 Take a reference instead of a copy when setting "caps".
7685 Fix documentation to clarify this behaviour. Fixes #449414.
7687 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7689 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7690 * gst/gstplugin.c: (gst_plugin_init):
7691 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7692 * gst/gstquery.c: (gst_query_get_type):
7693 * gst/gstregistry.c: (gst_registry_init):
7694 * gst/gsturi.c: (gst_uri_handler_base_init):
7695 Remove empty instance_init() functions to save relocs and lessen the
7696 noise. Remove some of the function prototypes that are doubled by
7699 2007-06-27 Wim Taymans <wim@fluendo.com>
7701 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7703 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7704 Add peer and direction in the XML serialisation of ghostpads.
7707 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7710 Preserve useful information, thanks Tim.
7712 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7714 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7715 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7716 (gst_single_queue_push_one), (gst_multi_queue_loop),
7717 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7718 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7719 (compute_high_id), (gst_single_queue_new):
7720 * plugins/elements/gstmultiqueue.h:
7721 Take the multiqueue lock when updating the fill level so we don't get
7724 After applying a buffer or event on the src pad segment, make sure to
7725 call gst_data_queue_limits_changed() to get the data queue to unblock
7726 and check the filled state again.
7728 Rework the not-linked pad handling so the logic is that not-linked
7729 pads can push as fast as they like, but only so they never get
7730 ahead of any linked pads.
7732 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7733 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7734 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7736 Add a test to check that not-linked pads always stay behind
7741 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7743 * docs/random/release:
7744 Some updates to the release procedure.
7746 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7748 * gst/gstelementfactory.c: (__gst_element_details_clear):
7749 Microoptimization that saves stunning 80 bytes.
7751 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7753 * docs/plugins/gstreamer-plugins.args:
7754 * docs/plugins/inspect/plugin-coreelements.xml:
7755 * docs/plugins/inspect/plugin-coreindexers.xml:
7756 Update docs with caps info.
7758 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7761 Updated Italian translation.
7763 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7767 Update Vietnamese translations.
7769 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7771 * libs/gst/base/gstbasesink.c:
7772 Remove unused signal enum.
7774 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7776 * docs/gst/gstreamer-sections.txt:
7778 * gst/gstutils.c: (gst_type_register_static_full):
7779 Beef up and include the docs for gst_type_register_static_full and
7780 gst_element_class_set_details_simple and add the API keyword
7783 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7785 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7786 (update_time_level), (gst_single_queue_push_one),
7787 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7788 (single_queue_overrun_cb), (single_queue_underrun_cb),
7789 (single_queue_check_full):
7790 Fix setting max-* properties after adding queues.
7791 Use IS_FILLED for checking visible items.
7792 Signal overrun if multiple queues overrun.
7793 Add extra debug output.
7794 Patch by: Wim Taymans <wim@fluendo.com>
7796 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7798 * gst/gstelement.c: (gst_element_class_set_details_simple):
7800 * gst/gstutils.c: (gst_type_register_static_full):
7802 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7803 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7804 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7805 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7806 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7807 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7808 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7809 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7810 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7811 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7812 (apply_buffer), (gst_queue_chain):
7813 * plugins/elements/gsttee.c: (gst_tee_base_init):
7814 * plugins/elements/gsttypefindelement.c:
7815 (gst_type_find_element_base_init),
7816 (gst_type_find_element_class_init):
7817 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7818 API: add gst_type_register_static_full
7819 API: add gst_element_class_set_details_simple
7821 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7823 * docs/pwg/advanced-types.xml:
7824 Fix typo in iana.org URI.
7826 2007-06-19 Andy Wingo <wingo@pobox.com>
7828 * tests/check/pipelines/simple-launch-lines.c
7829 (test_state_change_returns): Enable pull-mode tests now that
7830 basesink has been fixed.
7832 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7833 Changed from gst_base_sink_is_prerolled, reversing the sense of
7834 the return value. Returns FALSE also if the sink is in pull mode,
7835 in which case it needs no preroll.
7836 (gst_base_sink_query, gst_base_sink_change_state): Update for
7837 needs_preroll change.
7838 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7839 chaining up, in which we return SUCCESS directly if we activated
7840 in pull mode instead of ASYNC. Involves countering an async_start
7841 message sent before chaining up; not sure if this is correct, in
7842 an ideal world we only send async-start when activating in push
7845 * tests/check/pipelines/simple-launch-lines.c
7846 (test_state_change_returns): New test, partially disabled until
7849 2007-06-19 Wim Taymans <wim@fluendo.com>
7851 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7852 (gst_multi_queue_sink_event):
7855 2007-06-19 Wim Taymans <wim@fluendo.com>
7857 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7858 (gst_bin_change_state_func), (bin_push_state_continue),
7859 (bin_handle_async_start), (bin_handle_async_done),
7860 (gst_bin_handle_message_func):
7861 Move the common code for posting state-change messages into
7863 Broadcast the state signal after we posted the messages.
7864 Mark the bin as busy when it's doing a state-change.
7865 Make sure async-start/done messages don't interfere with the bin's
7866 state when it's busy.
7867 After the state change, let the bin check which elements completed the
7868 state change while it was busy so that it can update its state.
7870 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7872 * docs/random/release:
7873 Add a note about updating the doap file to the release checklist
7875 2007-06-18 Wim Taymans <wim@fluendo.com>
7877 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7878 (gst_single_queue_push_one), (gst_multi_queue_chain),
7879 (gst_multi_queue_sink_event):
7880 Make sure we don't reference the buffer/event after we have given away
7881 ownership in the queue.
7883 2007-06-18 Wim Taymans <wim@fluendo.com>
7885 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7886 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7887 Update queue state _after_ adding the item in the queue because else we
7888 could end up being full without the element added yet.
7890 2007-06-18 Wim Taymans <wim@fluendo.com>
7892 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7893 (gst_bin_remove_func), (gst_bin_get_state_func),
7894 (gst_bin_element_set_state), (gst_bin_continue_func),
7895 (bin_push_state_continue), (bin_handle_async_start),
7896 (bin_handle_async_done), (gst_bin_handle_message_func):
7898 Immediatly commit the toplevel bin state when receiving an async-done
7899 message. This enables us to avoid spawning a thread to commit the state
7900 in some common cases and it also avoids some races.
7901 Avoid spawning a state thread when adding/removing async elements to a
7902 toplevel bin. Instead we immediatly update the bin state.
7903 Get rid of iterating all the children when getting the state in the bin
7904 because it is now always up-to-date.
7905 Fix bug where locked elements would always return _SUCCESS even it they
7906 returned NO_PREROLL before being locked.
7907 Fix the order of the state_change, async-start/done messages that was
7908 sometimes incorrect.
7909 Mark the state_dirty field as deprecated, we don't need it anymore as we
7910 are always up-to-date.
7912 * gst/gstelement.c: (gst_element_get_state_func),
7913 (gst_element_continue_state):
7914 Small debug inprovements.
7915 Return the previous element state return when nothing is pending instead
7916 of blindly returning SUCCESS.
7918 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7920 Add a whole bunch of new testcases.
7922 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7926 Update translations.
7928 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7931 Fix typo in the docs.
7933 2007-06-15 Wim Taymans <wim@fluendo.com>
7935 * docs/libs/gstreamer-libs-sections.txt:
7936 Add docs for new methods.
7938 2007-06-15 Wim Taymans <wim@fluendo.com>
7940 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7941 (gst_multi_queue_item_new):
7942 Don't use GSlice because we don't depend on >= 2.10 yet.
7944 2007-06-15 Wim Taymans <wim@fluendo.com>
7946 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7947 (update_time_level), (apply_segment), (apply_buffer),
7948 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7949 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7950 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7951 (single_queue_underrun_cb), (single_queue_check_full):
7952 Remove debug printf.
7954 2007-06-15 Wim Taymans <wim@fluendo.com>
7956 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7957 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7958 (gst_data_queue_set_flushing), (gst_data_queue_push),
7959 (gst_data_queue_pop), (gst_data_queue_drop_head),
7960 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7961 * libs/gst/base/gstdataqueue.h:
7963 Added methods to get the current levels and to inform the queue that the
7964 'full' limits changed.
7966 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7967 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7968 (gst_single_queue_flush), (update_time_level), (apply_segment),
7969 (apply_buffer), (gst_single_queue_push_one),
7970 (gst_multi_queue_item_steal_object),
7971 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7972 (gst_multi_queue_loop), (gst_multi_queue_chain),
7973 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7974 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7975 (gst_multi_queue_src_query), (single_queue_overrun_cb),
7976 (single_queue_underrun_cb), (single_queue_check_full),
7977 (gst_single_queue_new):
7978 Keep track of time in the queue by measuring the difference between
7979 running_time on input and output. This gives more accurate results and
7980 can compensate for segments correctly.
7981 Make a queue by default only 5 buffers deep. We will now increase the
7982 buffer size depending on the filledness of the other queues.
7983 Factor out commong flush code.
7984 Make sure we don't add additional refcounts to buffers when we can avoid
7986 Propagate GstFlowReturn differently.
7987 Use GSlice for intermediate GstMultiQueueItems.
7989 Resize queues on over and underruns based on filled level of other
7991 When checking if the queue is filled, prefer to measure in time if we
7992 can and fall back to bytes when no time is known.
7994 * plugins/elements/gstqueue.c:
7997 2007-06-15 Wim Taymans <wim@fluendo.com>
7999 * libs/gst/base/gstbasetransform.c:
8000 (gst_base_transform_sink_event):
8001 Work around the brokenness of the event vmethod in basetransform. Prefer
8002 to return TRUE when the subclass returned FALSE (meaning don't forward
8005 * libs/gst/base/gstbasetransform.h:
8008 2007-06-15 Wim Taymans <wim@fluendo.com>
8010 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
8011 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8012 (gst_base_src_default_query), (gst_base_src_get_range),
8013 (gst_base_src_start):
8014 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
8017 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8019 * docs/pwg/advanced-types.xml:
8020 Added more formats to caps table.
8022 2007-06-15 Stefan Kost <ensonic@users.sf.net>
8024 * tools/gst-launch.c: (main):
8025 Remove crufy code. GOption does not need this workaround.
8027 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8029 * libs/gst/controller/gstcontroller.c:
8030 (gst_controlled_property_set_interpolation_mode):
8031 Fix wrong getter for enums in controller.
8033 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8035 * libs/gst/check/gstcheck.c: (gst_check_init):
8036 Intercept criticals and warnings in the Gst-Phonon log domain, so
8037 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
8040 2007-06-14 Edward Hervey <edward@fluendo.com>
8042 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8043 Since this file doesn't include "gst.h" it will not go through the
8044 macros that disable GST_LOG if debugging was disabled.
8046 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8048 * libs/gst/check/Makefile.am:
8049 * libs/gst/check/gstcheck.h:
8050 * pkgconfig/gstreamer-check-uninstalled.pc.in:
8051 * pkgconfig/gstreamer-check.pc.in:
8052 Ugly 'fix' for the controller unit test on the p5 bot: in
8053 fail_unless_equals_float() check whether the values are 'almost
8054 equal' by allowing a small absolute error, which should be good
8055 enough for our use cases (normal numbers and values close to 0).
8056 Proper fixage left to floating point arithmetic aficionados.
8058 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8060 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8061 (gst_base_sink_render_object), (gst_base_sink_get_position):
8062 Add two breaks thats where missing.
8064 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8066 * docs/libs/gstreamer-libs-sections.txt:
8067 * libs/gst/check/gstcheck.h:
8068 API: add fail_unless_equals_float() and assert_equals_float().
8069 Add documentation for some of the macros.
8071 * tests/check/libs/controller.c: (GST_START_TEST):
8072 Use newly-added asserts.
8074 2007-06-14 Stefan Kost <ensonic@users.sf.net>
8076 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8077 Show the caps change in the log to help spotting the case of not
8078 exactly matching caps.
8080 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8082 * docs/pwg/building-boiler.xml:
8083 Fix typos, spotted by Thijs Vermeir (#447190).
8085 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8087 * docs/plugins/tmpl/.cvsignore:
8088 Ignore file to keep the buildbots happy
8090 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8092 * docs/plugins/Makefile.am:
8093 * docs/plugins/gstreamer-plugins-docs.sgml:
8094 * docs/plugins/gstreamer-plugins-sections.txt:
8095 Pull fdsink into the docs too.
8097 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8099 * libs/gst/controller/gstinterpolation.c:
8100 Actually use the new functions with min/max checks for the trigger and
8101 none interpolation modes for get() and get_value_array() instead of
8104 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8106 * libs/gst/controller/gstcontroller.c:
8107 (gst_controlled_property_free):
8108 Unset the minimum and maximum GValues when freeing the corresponding
8109 GstControllerProperty struct.
8111 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8113 * libs/gst/controller/gstcontroller.c:
8114 (gst_controlled_property_new):
8115 * libs/gst/controller/gstcontrollerprivate.h:
8116 * libs/gst/controller/gstinterpolation.c:
8117 (gst_controlled_property_find_control_point_node),
8118 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8119 (interpolate_none_get_string_value_array),
8120 (interpolate_trigger_get),
8121 (interpolate_trigger_get_enum_value_array),
8122 (interpolate_trigger_get_string_value_array):
8123 Protect against values larger or smaller than the minimum or maximum
8124 allowed value for the property when using values that can be compared.
8126 Optimize trigger interpolator a bit by taking the last requested value
8127 into account instead of always looping through the complete list.
8129 Fix coding style a bit, everywhere else we use "return foo" instead
8132 * tests/check/libs/controller.c: (GST_START_TEST),
8133 (gst_controller_suite):
8134 Add unit test for the protection against too large or too small
8137 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8139 * docs/random/slomo/controller.txt:
8140 Add some thoughts about the future of the controller.
8142 2007-06-08 Wim Taymans <wim@fluendo.com>
8144 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8145 Don't overflow in retimestamping code.
8147 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8149 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8150 Use gst_util_guint64_to_gdouble for conversions.
8151 * win32/common/libgstreamer.def:
8152 Add new exported functions.
8154 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8157 Small docs addition.
8159 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8162 Remove that test line again.
8164 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8167 Test commit mail sending.
8169 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8172 Fix typo and test commit mail sending.
8174 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8176 * tests/examples/controller/audio-example.c:
8177 Improve comment and test commit mail sending.
8179 2007-06-07 Wim Taymans <wim@fluendo.com>
8181 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8182 (gst_bin_remove_func), (gst_bin_element_set_state),
8183 (bin_handle_async_start), (bin_handle_async_done),
8184 (gst_bin_handle_message_func):
8185 Add helper function to find messages.
8186 Generate the async-done messages together with the state change
8188 Small cleanups in handling toplevel bins.
8190 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8192 * libs/gst/base/gstdataqueue.c:
8193 * libs/gst/base/gstdataqueue.h:
8194 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8195 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8196 (gst_multi_queue_sink_event):
8197 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8198 Fix multiqueue leaking buffers and events when downstream or the
8199 queue are flushing. Make refcounting assumptions explicit and
8200 document them (shouldn't break existing code that uses it other than
8201 maybe leak miniobjects, but that already happens anyway). Add unit
8202 test for the most common flushing case. Fixes #423700.
8204 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8206 * libs/gst/controller/gstcontroller.c:
8207 Clarify docs: The get_all, get_value_array(s) functions
8208 don't modify the GObject properties.
8210 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8212 * libs/gst/controller/gstcontroller.c:
8213 (gst_controlled_property_set_interpolation_mode),
8214 (gst_controlled_property_prepend_default),
8215 (gst_controlled_property_new), (gst_controller_set_unlocked),
8216 (gst_controller_set), (gst_controller_set_from_list),
8217 (gst_controller_unset), (gst_controller_unset_all):
8218 * libs/gst/controller/gstcontrollerprivate.h:
8219 * libs/gst/controller/gstinterpolation.c:
8220 Factor out the 'set' logic into gst_controller_set_unlocked for the
8221 gst_controller_set and gst_controller_set_from_list functions.
8223 To make life of the interpolators easier always add a control point
8224 at timestamp zero with the default value.
8226 In the linear interpolator make things more obvious by better variable
8229 Implement cubic interpolation mode (by using a natural cubic spline)
8230 and map the quadratic interpolation mode to this too (as quadratic
8231 doesn't make much sense, see discussion on the list).
8233 * tests/check/libs/controller.c: (GST_START_TEST),
8234 (gst_controller_suite):
8235 Add unit test for the cubic interpolation mode and check everywhere
8236 if the interpolation mode could be set as expected.
8238 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8240 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8241 Don't use GLib-2.10 functions, we still depend on
8242 GLib-how-old-is-it-again-2.8.
8244 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8246 * docs/gst/gstreamer-sections.txt:
8250 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8251 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8252 (_gst_param_fraction_values_cmp),
8253 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8254 * gst/gstparamspecs.h:
8256 * tests/check/Makefile.am:
8257 * tests/check/gst/.cvsignore:
8258 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8259 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8260 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8261 (GST_START_TEST), (gst_param_spec_suite):
8262 API: add GstParamSpecFraction, so elements can have fraction
8263 properties without lots of painful string parsing (#444648).
8265 2007-06-05 Wim Taymans <wim@fluendo.com>
8267 * gst/gstobject.c: (gst_object_class_init):
8268 Fix signal signature.
8271 Add small clarification in the api docs.
8273 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8274 States are protected with object lock.
8276 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8279 I should probably be listed as an author by now.
8281 * docs/random/release:
8282 Update the release doc
8284 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8287 Make docs for gst_value_compare() mention return enums that
8290 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8295 === release 0.10.13 ===
8297 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8300 releasing 0.10.13, "With or without you"
8302 2007-05-25 Wim Taymans <wim@fluendo.com>
8304 * gst/gstbin.c: (bin_handle_async_done):
8305 Make sure that the child bin stops after completing the async state
8306 change so that the parent can continue the state change to PLAYING.
8309 2007-05-25 Wim Taymans <wim@fluendo.com>
8311 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8312 (unref_data), (gst_collect_pads_remove_pad),
8313 (gst_collect_pads_check_pads):
8314 Use additional refcounting to avoid crashes when dynamically adding and
8315 removing pads. Fixes #420206.
8317 2007-05-24 Wim Taymans <wim@fluendo.com>
8319 * tools/gst-launch.c: (event_loop):
8320 When buffering goes from a two digit to a single digit number, make sure
8321 to remove the old second digit by writing a blank over it.
8323 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8325 * libs/gst/base/gstdataqueue.c:
8326 Eliminate tabs and trailing comma in enum list; fix some typos.
8328 2007-05-24 Wim Taymans <wim@fluendo.com>
8330 * tests/check/gst/gstbin.c: (GST_START_TEST):
8331 Allow refcount of 3 and 4 because some state thread might still be busy
8334 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8336 * plugins/elements/Makefile.am:
8337 * plugins/elements/gstmultiqueue.h:
8338 * plugins/elements/gstqueue.h:
8339 These are not installed headers, no need for padding.
8341 2007-05-24 Wim Taymans <wim@fluendo.com>
8343 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8344 (gst_bin_continue_func):
8345 Enable latency for next release.
8346 Restore STATE_LOCK around recalc_state that was left out during the
8347 rewrite and could result in racy behaviour when _get_state and
8348 recalc_state are run concurrently. See #440463.
8350 2007-05-23 Wim Taymans <wim@fluendo.com>
8352 * tests/check/gst/gstsystemclock.c: (store_callback),
8354 Improve test_async_order to also work when both timers are already
8355 expired when we get scheduled to check it.
8357 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8359 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8360 (gst_bin_set_property), (gst_bin_get_property),
8361 (gst_bin_remove_func), (gst_bin_handle_message_func):
8363 'private' is a c++ keyword, let's not use that in header files,
8364 otherwise c++ compilers will throw a tantrum.
8366 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8368 * plugins/elements/gstelements.c:
8369 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8370 (gst_file_sink_get_current_offset):
8371 * plugins/indexers/gstindexers.c: (plugin_init):
8372 Use #ifdef for HAVE_XYZ for consistency.
8374 * tests/check/Makefile.am:
8375 * tests/check/elements/.cvsignore:
8376 * tests/check/elements/filesink.c: (setup_filesink),
8377 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8378 Add some unit tests for filesink.
8380 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8382 Patch by: Mark Nauwelaerts <manauw at skynet be>
8384 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8385 (gst_file_sink_query), (gst_file_sink_do_seek),
8386 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8387 * plugins/elements/gstfilesink.h:
8388 Fix position reporting; rename data_written member to current_pos to
8389 reflect its real meaning (fixes #412648).
8391 2007-05-22 Edward Hervey <edward@fluendo.com>
8393 * docs/gst/gstreamer-sections.txt:
8394 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8395 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8396 (gst_bin_remove_func), (gst_bin_handle_message_func):
8398 Add a property for bins that handle the state change of their childs.
8401 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8403 * libs/gst/controller/gstinterpolation.c:
8404 Use an array of the correct type when using _get_value_array with
8405 linear interpolation.
8407 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8409 * gst/gstelement.c (gst_element_requires_clock,
8410 gst_element_provides_clock, gst_element_request_pad,
8411 gst_element_class_set_details, gst_element_class_set_details_simple,
8412 gst_element_default_send_event, gst_element_abort_state,
8413 gst_element_continue_state, gst_element_set_state,
8414 gst_element_set_state_func, iterator_activate_fold_with_resync):
8415 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8416 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8417 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8418 gst_pad_get_range, gst_pad_pull_range):
8419 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8420 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8421 GstPadActivateModeFunction, GstPadChainFunction,
8422 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8423 GstPadFixateCapsFunction, GstPadTemplate):
8424 * gst/gstpipeline.c (gst_pipeline_change_state,
8425 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8426 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8427 gst_pipeline_get_delay):
8428 Whitespace and docs fixes.
8430 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8432 * libs/gst/controller/gstinterpolation.c:
8433 (interpolate_trigger_get_enum_value_array),
8434 (interpolate_trigger_get_string_value_array):
8435 Add support for retrieving value arrays when using the trigger
8438 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8440 * libs/gst/controller/gstcontroller.c:
8441 (gst_controller_get_value_array):
8442 * libs/gst/controller/gstcontroller.h:
8443 Clarify the docs of gst_controller_get_value_array(): The array where
8444 the values should be written to must be allocated as there seems to be
8445 no way to get the size of a random GType. This doesn't change any
8446 behaviour. Also fix some typos all over the place and remove an unused,
8447 commented function that is not necessary as g_object_set() could be
8449 * tests/check/libs/controller.c: (GST_START_TEST),
8450 (gst_controller_suite):
8451 Add unit test for gst_controller_get_value_array().
8453 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8455 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8457 Disable part of the gst_buffer_try_new_and_alloc test, because
8458 it can happily succeed on 64-bit systems where there's more address
8461 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8463 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8464 Add unit test for the improved caps checking from bug #421543.
8466 2007-05-21 Wim Taymans <wim@fluendo.com>
8468 * docs/design/part-synchronisation.txt:
8471 * gst/gstbin.c: (gst_bin_query):
8472 * plugins/elements/gstqueue.c: (apply_segment):
8478 2007-05-21 Wim Taymans <wim@fluendo.com>
8480 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8481 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8482 (gst_pad_configure_src):
8483 Added simple version of improved caps checking. It was previously
8484 assumed that a setcaps function would check the validity of the caps but
8485 people prefer us to check caps against the template automatically.
8488 2007-05-21 Wim Taymans <wim@fluendo.com>
8490 * libs/gst/base/gstbasetransform.h:
8491 Fix macro for locking/unlocking the transform lock.
8493 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8495 * docs/plugins/tmpl/.cvsignore:
8498 2007-05-18 Edward Hervey <edward@fluendo.com>
8500 * plugins/elements/gstqueue.c: (gst_queue_loop):
8501 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8502 for the subtle art of warning a potentially blocking thread that it
8503 should check the source pad return value, and relay the information
8506 2007-05-18 Edward Hervey <edward@fluendo.com>
8508 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8509 Release the queue lock !
8511 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8513 * docs/libs/gstreamer-libs-sections.txt:
8514 Add the two new controller functions to the appropiate places.
8516 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8518 reviewed by: Stefan Kost <ensonic@users.sf.net>
8520 * libs/gst/controller/gstcontroller.c:
8521 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8522 (_gst_controller_get_property), (_gst_controller_set_property),
8523 (_gst_controller_init), (_gst_controller_class_init):
8524 * libs/gst/controller/gstcontroller.h:
8525 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8526 (gst_object_get_control_rate), (gst_object_set_control_rate):
8527 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8528 Add API that provides sync suggestion timestamps for elements that
8529 call gst_object_sync_values() from which those elements can subdivide
8530 their processing loop to get the best results for the controlled
8531 properties. For now it just suggests last_sync + control_rate as
8532 new timestamp but this will be improved in the future.
8534 While doing that change the control-rate property to a GstClockTime
8535 from guint and change it's meaning from samples to nanoseconds as
8536 the GstController doesn't know anything about sampling rate. Strictly
8537 speaking this breaks ABI but as the control-rate property didn't do
8538 anything in the past and as such couldn't be used this should be no
8541 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8543 reviewed by: Stefan Kost <ensonic@users.sf.net>
8545 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8546 (gst_controller_unset_all):
8547 * libs/gst/controller/gstcontrollerprivate.h:
8548 * libs/gst/controller/gstinterpolation.c:
8549 (gst_controlled_property_find_control_point_node):
8550 Save last synced value from the list to continue searching from there
8551 in future syncs. This speeds everything up a bit.
8553 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8555 reviewed by: Stefan Kost <ensonic@users.sf.net>
8557 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8558 (gst_control_point_find), (gst_controlled_property_new),
8559 (gst_control_point_free), (gst_controlled_property_free),
8560 (gst_controller_set), (gst_controller_set_from_list),
8561 (gst_controller_unset), (gst_controller_unset_all),
8562 (gst_controller_sync_values):
8563 * libs/gst/controller/gstcontroller.h:
8564 * libs/gst/controller/gstcontrollerprivate.h:
8565 * libs/gst/controller/gstinterpolation.c:
8566 (gst_controlled_property_find_control_point_node),
8567 (interpolate_none_get), (interpolate_trigger_get):
8568 Add a new private GstControlPoint struct which "inherits" from
8569 GstTimedValue to allow different interpolators to store internal
8570 values next to each control point. From the outside everything is
8571 still a GstControlPoint so we don't loose binary compatibility.
8572 Also fixup all the GValue handling to not leak GValues or list nodes.
8573 * tests/check/libs/controller.c: (GST_START_TEST):
8574 Free the list nodes and GValues in the controller_misc test.
8576 2007-05-17 Edward Hervey <edward@fluendo.com>
8581 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8583 * gst/gstplugin.c: (gst_plugin_load_file):
8584 If we fail to load a plugin because of unresolved symbols or missing
8585 libraries and spew a warning to stderr, we may just as well mention
8586 which plugin it was that failed to load.
8588 2007-05-13 David Schleef <ds@schleef.org>
8590 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8591 handles the case when ENABLE_GTK_DOC is false, and installs
8592 the prebuilt documentation. So gtk-doc subdirs are
8593 unconditionally enabled. Fixes: #349099.
8595 2007-05-13 David Schleef <ds@schleef.org>
8597 * gst/gstutils.h: Reword some documentation.
8599 2007-05-12 David Schleef <ds@schleef.org>
8601 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8602 do anything with the passed "module" parameter, so remove it.
8603 Allows removal of additional vestigal code.
8605 2007-05-12 David Schleef <ds@schleef.org>
8608 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8609 Switch to using g_stat() because it's more portable.
8611 2007-05-12 David Schleef <ds@schleef.org>
8614 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8615 parsing for embedded systems.
8616 * gst/gstelementfactory.c:
8617 Allow gst_element_register() to be called with plugin==NULL.
8618 Did nobody notice that static elements were broken?
8620 2007-05-12 Wim Taymans <wim@fluendo.com>
8622 * tools/gst-launch.c: (event_loop):
8623 Give more interesting info when buffering starts and stops.
8624 Fix case where buffering starts but we fail to update the buffering flag
8625 because the target state is not PLAYING.
8627 2007-05-12 Wim Taymans <wim@fluendo.com>
8629 * plugins/elements/gstqueue.c: (gst_queue_init),
8630 (gst_queue_finalize), (update_time_level), (apply_segment),
8631 (apply_buffer), (gst_queue_locked_flush),
8632 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8633 (gst_queue_handle_sink_event), (gst_queue_chain),
8634 (gst_queue_push_one), (gst_queue_loop):
8635 * plugins/elements/gstqueue.h:
8636 Refactor an cleanup queue a bit.
8637 Do better time level calculations that also work when the srcpad is not
8639 Remove some unneeded debug lines.
8641 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8642 Added testcase for time level measurement.
8643 Try to make some stuff more racefree.
8645 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8647 * gst/gsturi.c: (gst_element_make_from_uri):
8648 Don't leak plugin feature.
8650 * tests/check/Makefile.am:
8651 * tests/check/gst/.cvsignore:
8652 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8653 Add brain-dead unit test.
8655 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8657 Patch by: Jeroen Wouters <woutersj at gmail com>
8659 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8660 Treat protocol strings in a case-insensitive way (#437563).
8662 2007-05-11 Michael Smith <msmith@fluendo.com>
8664 * gst/gstplugin.c: (gst_plugin_load_file):
8665 * gst/gstregistry.c: (gst_registry_scan_path_level):
8666 Don't print a g_warning for any failure to load a shared object.
8667 Instead, push this down into gstplugin.c, and warn _only_ if we
8668 failed to open the module (i.e. failure to link).
8669 Avoids warnings on normal, working, non-plugin .so files.
8671 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8673 * gst/gstplugin.c (gst_plugin_load_file):
8674 * gst/gstregistry.c (GST_CAT_DEFAULT,
8675 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8676 Print a g_warning if there was an error when loading a plugins during
8677 registry scan. The shuld help beginners starting with gst-plugin
8680 2007-05-10 Wim Taymans <wim@fluendo.com>
8682 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8683 (update_time_level), (gst_queue_locked_flush),
8684 (gst_queue_handle_sink_event), (gst_queue_chain),
8685 (gst_queue_push_one), (gst_queue_loop):
8686 * plugins/elements/gstqueue.h:
8687 Be smarter when calculating the current amount of data in the queue by
8688 measuring the difference between start and end timestamps (in running
8689 time) inside the queue. Fixes #432876.
8690 API: GstQueue::pushing to notify elements that we are pushing data again
8691 since the running signal is rather broken for this purpose.
8693 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8695 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8696 gst_queue_base_init, gst_queue_init):
8699 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8701 * win32/common/libgstreamer.def:
8702 Add new exported functions.
8703 * win32/vs6/grammar.dsp:
8704 Use grammar pre-generated files.
8706 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8708 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8711 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8713 * gst/gstutils.c: (gst_parse_bin_from_description):
8715 Maintain API and ABI when --disable-parse is used. Now that
8716 we have an appropriate error code, we can just return NULL and the
8717 appropriate error when gst_parse_launch() is used despite it having
8718 been disabled (#342564).
8720 * tests/check/Makefile.am:
8721 * tests/check/pipelines/.cvsignore:
8722 * tests/check/pipelines/parse-disabled.c:
8723 Make sure these functions exist and return NULL plus a GError when
8724 --disable-parse is used.
8726 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8728 * tests/benchmarks/complexity.c: (main):
8729 * tests/benchmarks/mass-elements.c: (main):
8730 Set a good example and don't leak messages.
8732 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8734 * docs/gst/Makefile.am:
8735 * docs/libs/Makefile.am:
8736 Correct fixxrefs options.
8738 * docs/plugins/Makefile.am:
8739 * docs/plugins/gstreamer-plugins-docs.sgml:
8740 * docs/plugins/gstreamer-plugins-sections.txt:
8741 * plugins/elements/Makefile.am:
8742 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8743 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8744 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8745 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8746 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8747 _GstCapsFilterClass, trans_class):
8748 * plugins/elements/gstelements.c (name, rank, type, _elements):
8749 * plugins/elements/gstidentity.c
8750 (gst_identity_check_imperfect_timestamp,
8751 gst_identity_check_imperfect_offset):
8752 Document capsfilter and add doc-blurb to identity.
8754 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8756 * libs/gst/controller/gstcontroller.c:
8757 (gst_controlled_property_set_interpolation_mode):
8758 * libs/gst/controller/gstinterpolation.c:
8759 Don't crash if someone tries to set an interpolation mode that
8760 is invalid or that isn't supported yet. Fixes #422295.
8762 * tests/check/libs/controller.c: (GST_START_TEST),
8763 (gst_controller_suite):
8764 Add a test case for the above.
8766 2007-05-03 Edward Hervey <edward@fluendo.com>
8768 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8769 Properly set the last_stop position on GstSegment. This will only happen
8770 if there is a buffer to push out.
8772 2007-05-03 Wim Taymans <wim@fluendo.com>
8774 * libs/gst/base/gstbasetransform.c:
8775 (gst_base_transform_buffer_alloc):
8776 always_in_place does not mean that the sink and source caps are the
8777 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8779 2007-05-03 Wim Taymans <wim@fluendo.com>
8781 * docs/libs/gstreamer-libs-sections.txt:
8782 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8783 (gst_base_src_default_query), (gst_base_src_get_range):
8784 * libs/gst/base/gstbasesrc.h:
8785 API: gst_base_src_query_latency(). Added method so that subclasses can
8786 easily get the latency values of the base source class.
8788 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8790 * tools/gst-inspect.c (print_implementation_info):
8793 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8795 * tools/Makefile.am:
8796 * tools/gst-launch.1.in:
8797 Don't create a customised man page based on the host architecture,
8798 describe the default registry path generically. That way the man
8799 page is the same for all architectures and packagers have one
8800 multilib issue less to deal with. Fixes #434926.
8802 2007-05-02 Wim Taymans <wim@fluendo.com>
8805 Fix documentation as spotted by rg on IRC.
8807 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8810 Improve docs for gst_element_{link,unlink}.
8812 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8814 * docs/design/part-events.txt:
8815 * docs/design/part-overview.txt:
8819 * libs/gst/base/gstbasesink.c:
8820 Typo fixes; minor docs addition.
8822 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8824 * docs/gst/gstreamer-sections.txt:
8825 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8826 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8828 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8829 or src that supports a given URI protocol exists.
8831 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8833 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8834 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8835 Set the location to NULL if "file://" is set as URI. Otherwise
8836 some random previous URI would still be set if "file://" is
8837 set on an already used filesink/filesrc.
8839 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8841 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8842 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8843 Special case the "file://" URI as as this is used by some
8844 applications to test with gst_element_make_from_uri if there's
8845 an element that supports the URI protocol.
8846 Also move the g_path_is_absolute() check for the location part
8847 of the URI to also check this for "file://localhost/bla" URIs.
8849 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8851 * docs/gst/gstreamer-sections.txt:
8852 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8854 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8856 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8858 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8860 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8861 (gst_registry_binary_load_pad_template),
8862 (gst_registry_binary_load_plugin),
8863 (gst_registry_binary_read_cache):
8864 * gst/gstregistrybinary.h:
8865 Implement no-mmap alternative for registry reading. Do code cleanups.
8866 Add more comments about avoiding strdups for all text data. Comments
8869 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8871 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8872 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8873 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8874 Comment structs and reformat to fix the build (that stuff should go
8875 into a priv. header).
8877 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8879 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8880 (gst_registry_binary_load_feature):
8881 * gst/gstregistrybinary.h:
8882 Refactor so that we can implement multiple features. Add support for
8883 TypeFindFactory features.
8885 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8887 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8890 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8892 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8894 * gst/gstbin.c: (gst_bin_element_set_state),
8895 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8896 (bin_handle_async_done), (gst_bin_handle_message_func):
8897 Fix build with --gst-disable-gst-debug
8899 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8901 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8902 Make sure streaming has finished before calling the ::stop() vfunc,
8903 since that vfunc might clear state which is being used in the
8904 streaming thread. This fixes a race that caused crashes in
8905 audioresample when shutting down a pipeline (#420106).
8907 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8909 * docs/gst/gstreamer-sections.txt:
8910 That was one byte missing.
8912 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8915 * docs/gst/gstreamer-sections.txt:
8917 * gst/gstconfig.h.in:
8918 * gst/gstobject.c: (gst_object_class_init),
8919 (gst_signal_object_class_init):
8921 2nd attempt to have a xml-less build as a joined effort of #413123
8924 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8926 * docs/design/draft-tagreading.txt:
8927 Added open issues/thoughts to draft.
8929 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8931 * gst/parse/grammar.tab.pre.c:
8932 * gst/parse/grammar.tab.pre.h:
8933 * gst/parse/lex._gst_parse_yy.pre.c:
8934 Update the prebuild parser sources.
8936 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8938 * gst/parse/Makefile.am:
8939 And now fix the building of the flex sources. Now everything should
8942 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8944 * gst/parse/Makefile.am:
8945 Now hopefully fix the build failures by setting proper rule
8946 dependencies and moving instead of copying.
8948 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8950 * tests/benchmarks/complexity.gnuplot:
8951 * tests/benchmarks/complexity.scm:
8952 * tests/benchmarks/mass-elements.gnuplot:
8953 * tests/benchmarks/mass-elements.scm:
8954 Total licensification.
8956 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8958 * gst/parse/Makefile.am:
8959 Fix the build by correcting the rule that gave wrong files to flex.
8961 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8963 * tests/benchmarks/complexity.c:
8964 * tests/benchmarks/mass-elements.c:
8965 Change licence to LGPL as granted by Benjamin and Andy.
8967 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8969 * gst/parse/Makefile.am:
8970 Add correct grammar.tab.h dependency if compiling without new enough
8971 flex. Fixes #431150.
8973 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8975 * gst/parse/Makefile.am:
8976 Fix typo and use outdated sources if the flex/bison sources are newer
8977 than the pregenerated ones but flex is too old. Print a warning in
8978 that case. This should fix the build on the build bot.
8980 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8982 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8983 * gst/parse/Makefile.am:
8984 * gst/parse/grammar.y:
8985 * gst/parse/parse.l:
8986 Make the parser reentrant and recursively callable. This requires flex
8987 >= 2.5.31, for older versions pregenerated sources are used as we
8988 can't bump the build dependency. Finally fixes #349180.
8990 * gst/gstparse.c: (gst_parse_launch):
8991 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8994 * docs/gst/Makefile.am:
8995 * docs/gst/Makefile.am:
8996 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8997 (__gst_parse_strfree), (__gst_parse_link_new),
8998 (__gst_parse_link_free), (__gst_parse_chain_new),
8999 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
9000 (gst_parse_element_set), (gst_parse_free_link),
9001 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
9002 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
9003 (_gst_parse_launch):
9004 * gst/parse/grammar.tab.pre.h:
9005 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
9006 (yy_get_previous_state), (yy_try_NUL_trans), (input),
9007 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
9008 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
9009 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
9010 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
9011 (_gst_parse_yypop_buffer_state),
9012 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
9013 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
9014 (yy_fatal_error), (_gst_parse_yyget_extra),
9015 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
9016 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
9017 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
9018 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
9019 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
9020 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
9021 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
9022 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
9023 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
9024 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
9025 (_gst_parse_yyfree):
9026 If the installed flex version is too old use pre-generated parser
9027 sources. These pre-generated parser sources are always updated when
9028 the actual flex/bison sources change but require everybody who wants
9029 to change something in the parser to have flex >= 2.5.31 installed.
9031 2007-04-18 Stefan Kost <ensonic@users.sf.net>
9033 * common/m4/gst-gettext.m4:
9034 * gst/gst-i18n-lib.h:
9035 Make --disable-nls to work
9037 2007-04-17 Wim Taymans <wim@fluendo.com>
9039 * gst/gstconfig.h.in:
9040 Revert previous change that broke the build.
9042 2007-04-17 Stefan Kost <ensonic@users.sf.net>
9046 * gst/gstconfig.h.in:
9047 Drop libxml2 dependency when building with
9048 --enable-binary-registry --disable-loadsave
9050 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
9052 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9053 (gst_registry_binary_read_cache):
9054 * gst/gstregistrybinary.h:
9055 Remove unnecessary <sys/mman.h> include which broke the win32 build
9056 with MingW; move includes from header file to .c file, even if the
9057 header file isn't installed; use g_strerror() where UTF-8 strings
9058 are expected, such as in GST_DEBUG messages.
9060 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9062 * docs/libs/gstreamer-libs-sections.txt:
9063 Remove bogus addition for API I didn't end up keeping.
9065 * libs/gst/base/gstbasesrc.h:
9066 Mention Since: 0.10.13 in the documentation.
9068 Add the API keyword to the previous ChangeLog entry.
9070 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9072 * docs/libs/gstreamer-libs-sections.txt:
9073 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9074 (gst_base_src_default_prepare_seek_segment),
9075 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9076 * libs/gst/base/gstbasesrc.h:
9077 Allow basesrc derived classes to execute seeks in other formats
9078 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9079 to prepare the GstSegment in any format that their perform_seek method
9080 will be able to understand. The default implementation provides the
9081 old behaviour of attempting to convert the seek offsets to the
9082 configured native format.
9084 API: basesrc::prepare_seek_segment vmethod.
9086 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9088 * gst/gstelement.c: (gst_element_get_state_func):
9089 Don't output the same debug statement twice.
9091 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9092 (gst_adapter_peek), (gst_adapter_take_buffer):
9093 Optimise the case where we have buffers at the head of the queue that
9094 can be joined quickly (because they're contiguous sub-buffers) by
9095 merging them together rather than copying data out into new memory.
9097 * gst/parse/grammar.y:
9098 * tests/check/pipelines/parse-launch.c:
9099 Fix a leak in an error path for parse_launch, and add a check
9100 for it to the testsuite.
9102 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9104 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9105 Don't deadlock when releasing a pad - gst_pad_set_active may try
9106 and take the multiqueue lock too.
9108 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9110 * gst/gsterror.c: (_gst_core_errors_init):
9112 API: add GST_CORE_ERROR_DISABLED (#392804).
9114 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9116 * docs/faq/gst-uninstalled:
9117 don't get empty paths on the PATH variables
9118 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9119 Don't format for the uncommon terminal width of 84 characters.
9121 2007-04-06 Wim Taymans <wim@fluendo.com>
9123 * gst/gstpipeline.c: (reset_stream_time),
9124 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9125 Only try to select a different pipeline clock when we went back to
9126 PAUSED and not when we merely got flushed.
9128 2007-04-05 Michael Smith <msmith@fluendo.com>
9130 * tools/gst-launch.1.in:
9131 fractions are better supported in gstreamer than ractions, so
9132 suggest using those.
9134 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9136 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9140 Added Danish translation.
9142 2007-04-05 Wim Taymans <wim@fluendo.com>
9144 * libs/gst/base/gstbasesink.c:
9145 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9146 Fix leak caused when refusing newsegment after EOS.
9148 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9149 (gst_fake_sink_init), (gst_fake_sink_set_property),
9150 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9151 (gst_fake_sink_render), (gst_fake_sink_change_state):
9152 * plugins/elements/gstfakesink.h:
9153 Add num-buffers property to make the element generate EOS after a
9154 configurable amount of buffers.
9155 API: fakesink::num-buffers property.
9157 * tests/check/elements/fakesink.c: (GST_START_TEST),
9159 Fix GstBus leak in test.
9160 Test for fakesink num-buffers.
9162 2007-04-05 Wim Taymans <wim@fluendo.com>
9164 * libs/gst/base/gstbasesink.c:
9165 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9166 (gst_base_sink_change_state):
9167 Don't accept anything after an EOS, return UNEXPECTED instead.
9169 * tests/check/elements/fakesink.c: (GST_START_TEST),
9171 Unit test for new EOS behaviour.
9173 2007-04-05 Wim Taymans <wim@fluendo.com>
9175 * gst/gstelement.c: (gst_element_get_request_pad):
9176 Make padtemplates also work when they don't contain %s or %d.
9178 2007-04-05 Wim Taymans <wim@fluendo.com>
9180 * docs/gst/gstreamer-sections.txt:
9181 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9182 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9184 Improve _adjust_unlocked() so that it overflows less.
9185 Add gst_clock_unadjust_unlocked to convert from external time to
9186 internal time based on calibration.
9187 Add some more debug.
9188 API: GstClock::gst_clock_unadjust_unlocked()
9190 2007-04-03 Wim Taymans <wim@fluendo.com>
9192 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9194 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9195 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9196 when releasing sink pad. Fixes #425400.
9198 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9200 * docs/random/ensonic/dynlink.txt:
9201 More work on proposal for new core api.
9203 * docs/libs/gstreamer-libs-sections.txt:
9204 * libs/gst/base/gstbasetransform.h:
9205 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9207 * libs/gst/controller/gstcontroller.c:
9208 (on_object_controlled_property_changed),
9209 (gst_controller_sync_values),
9210 (gst_controller_set_interpolation_mode):
9211 * libs/gst/controller/gstcontroller.h:
9212 Less verbose logging add docs for unimplemented parts and correctly
9213 return when using unavailable parts.
9215 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9217 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9218 Move all the debug to the CLOCK category, and associate it with
9221 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9223 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9224 Make take_buffer a bit quicker by removing redundant checks
9225 caused by calling gst_adapter_take.
9227 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9229 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9232 * tests/check/Makefile.am:
9233 * tests/check/elements/.cvsignore:
9234 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9235 (GST_START_TEST), (multiqueue_suite):
9236 Add some dead simple unit tests for the 'multiqueue' element
9237 (some bits don't work yet and are disabled for now).
9239 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9241 * gst/gstelement.c: (gst_element_get_request_pad),
9242 (gst_element_class_get_request_pad_template):
9243 Make gst_element_get_request_pad() create request pads only for
9244 request pad templates and not for, say, sometimes pad templates.
9246 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9248 * docs/design/draft-klass.txt:
9249 Add example that needs more thinking.
9251 * docs/design/draft-missing-plugins.txt:
9252 More thoughts about wrapper plugins.
9254 * docs/random/ensonic/embedded.txt:
9255 * docs/random/ensonic/profiling.txt:
9258 2007-03-25 Wim Taymans <wim@fluendo.com>
9260 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9261 (gst_base_src_loop):
9262 Only push the segment events in the PLAYING state for live sources.
9264 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9266 * gst/gstpipeline.c: (gst_pipeline_change_state):
9267 Modify the clock distribution path in PAUSED->PLAYING so that we
9268 never attempt to choose a new clock unless we're actually leaving
9269 the PAUSED state for the first time. This prevents choosing a
9270 different clock when the state_change gets called for a 2nd time due
9271 to some element doing an async state change.
9273 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9275 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9276 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9277 (gst_pad_chain_unchecked), (gst_pad_push):
9278 Revert last commit. This needs some more thoughts.
9280 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9282 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9283 (gst_pad_chain_unchecked), (gst_pad_push):
9284 Check in set_caps if the caps are compatible with the pad and remove
9285 two functions that are redundant now. Fixes #421543.
9287 2007-03-22 Wim Taymans <wim@fluendo.com>
9289 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9290 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9291 Unref some more to make valgrind happy.
9293 2007-03-22 Wim Taymans <wim@fluendo.com>
9295 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9296 (gst_system_clock_id_wait_jitter),
9297 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9298 Fix anoying regression that survived a few releases. When adding an
9299 async entry while blocking on a sync entry, the sync entry will unblock
9300 but still be busy, so it should continue to wait instead of returning
9302 Add some comments here and there.
9304 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9305 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9306 Add testcase for this.
9308 2007-03-22 Wim Taymans <wim@fluendo.com>
9310 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9311 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9312 WRONG_STATE and can silently pause the task. All other cases should
9315 2007-03-22 Wim Taymans <wim@fluendo.com>
9317 Patch by: Ville Syrjala <syrjala at sci dot fi>
9319 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9320 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9323 2007-03-21 Michael Smith <msmith@fluendo.com>
9325 * docs/pwg/advanced-types.xml:
9326 Fix some errors in the typefinding docs pointed out on irc.
9328 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9330 * libs/gst/base/gstbasesrc.c:
9331 Clarify FIXME comment in the face of having added unlock_stop()
9333 2007-03-21 Wim Taymans <wim@fluendo.com>
9335 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9336 Prepare for release where we warn against possible app breakage in the
9337 case of live pipelines along with an env var to enable/disable live
9338 preroll mode (GST_COMPAT=[no-]live-preroll).
9340 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9342 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9343 So we should use correct constants for checking for None offset.
9345 2007-03-20 Wim Taymans <wim@fluendo.com>
9347 * docs/design/part-block.txt:
9348 Mention the fact that the newly switched element should be set to at
9351 2007-03-20 Wim Taymans <wim@fluendo.com>
9354 Fix compilation with registry disabled as spotted by Saur.
9356 2007-03-20 Wim Taymans <wim@fluendo.com>
9358 Patch by: Olivier Crete <tester at tester dot ca>
9360 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9361 Look at the pending state too when syncing the element state to the
9362 parent. Fixes #420133.
9364 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9366 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9367 (gst_base_sink_change_state):
9368 * libs/gst/base/gstbasesink.h:
9369 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9370 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9371 (gst_base_src_deactivate):
9372 * libs/gst/base/gstbasesrc.h:
9373 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9374 for sub-classes to correctly clear any state they set trying to
9375 unlock, such as clearing out unlock commands from a command fd.
9376 API: basesrc::unlock_stop
9377 API: basesink::unlock_stop
9379 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9380 (gst_fd_sink_render), (gst_fd_sink_unlock),
9381 (gst_fd_sink_unlock_stop):
9382 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9383 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9384 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9386 Implement unlock_stop in fdsrc and fdsink.
9387 Implement seeking in fdsrc when a seekable fd is passed, as in
9388 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9390 2007-03-19 Wim Taymans <wim@fluendo.com>
9392 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9394 * gst/gstelement.c: (gst_element_class_init):
9395 Fix pad-added and pad-removed signal signatures so that the pad type is
9396 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9398 2007-03-19 Wim Taymans <wim@fluendo.com>
9400 * docs/gst/gstreamer-sections.txt:
9401 Add new element field and method.
9403 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9404 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9405 (gst_bin_recalc_state), (gst_bin_get_state_func),
9406 (gst_bin_element_set_state), (gst_bin_change_state_func),
9407 (gst_bin_continue_func), (bin_bus_handler),
9408 (bin_push_state_continue), (bin_handle_async_start),
9409 (bin_handle_async_done), (gst_bin_handle_message_func):
9410 Make async state changes a bit smarter by using new ASYNC_START and
9411 ASYNC_DONE messages. This reduces the number of times we run the state
9412 recalculation thread.
9413 Don't change state of element with a pending ASYNC_START message.
9414 Deprecate STATE_DIRTY messages.
9416 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9417 (gst_element_get_state_func), (gst_element_continue_state),
9418 (gst_element_lost_state), (gst_element_set_state_func),
9419 (gst_element_change_state):
9421 Keep the state that was last set by the app in a new element field.
9422 Don't allow state changes when handling an element event.
9423 Post ASYNC_START and ASYNC_DONE messages.
9424 Change lost_state so that we go to PAUSED and wait for the parent to set
9425 us to PLAYING again (so latency calculation can be performed)
9426 Export gst_element_change_state() method so that subclasses can use it.
9427 API: gst_element_change_state()
9428 API: GST_STATE_TARGET
9430 * gst/gstpipeline.c: (gst_pipeline_class_init),
9431 (reset_stream_time), (gst_pipeline_change_state),
9432 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9433 Using the new ASYNC_START message we can reset the base_time when
9434 needed. This can then be used to implement base_time redistribution in
9435 flushing seeks so that we can remove the explicit seek handling.
9436 Perform latency query and configuration when going to PLAYING.
9438 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9439 (gst_base_sink_query), (gst_base_sink_change_state):
9440 Post new ASYNC_START/ASYNC_DONE messages.
9442 * tests/check/generic/sinks.c: (GST_START_TEST):
9443 Fix test because the bin will not set the async element to PLAYING right
9446 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9447 Make the message check a little stronger.
9448 Handle ASYNC messages.
9450 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9451 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9452 Expect ASYNC_DONE messages.
9454 2007-03-19 Wim Taymans <wim@fluendo.com>
9456 * docs/gst/gstreamer-sections.txt:
9457 * gst/gstmessage.c: (gst_message_new_async_start),
9458 (gst_message_new_async_done), (gst_message_parse_info),
9459 (gst_message_parse_async_start):
9461 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9464 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9466 * tools/gst-inspect.c:
9467 (print_plugin_automatic_install_info_codecs):
9468 Now that we don't check for the 'Codec' keyword any longer in the
9469 klass, we shouldn't spew a warning if the klass isn't a decoder or
9470 encoder (since it might be a Source/Network, for example).
9472 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9474 * tools/gst-inspect.c:
9475 (print_plugin_automatic_install_info_codecs):
9476 Don't require decoder/demuxer/depayloader elements or
9477 encoder/muxer/paylader elements to have 'Codec' as part of their
9478 factory class string when introspecting a plugin's capabilities.
9479 draft-klass.txt mentions that it might be removed in future, and
9480 flump3dec doesn't have it as part of its class string, so chances
9481 are others might also not have it.
9483 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9505 Update translations from translation project
9507 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9509 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9510 (gst_child_proxy_set_property):
9511 Invert precondition check to be alike the ones in the mimiced gobject
9514 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9516 * docs/design/draft-tagreading.txt:
9517 * docs/random/ensonic/audiobaseclasses.txt:
9518 Do some Architect work.
9520 * gst/gstobject.c: (gst_object_set_name):
9524 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9526 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9528 * gst/gstsystemclock.c: (gst_system_clock_init),
9529 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9530 Defer starting the async system clock thread until the first async
9531 wait is scheduled. Fixes #414986.
9533 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9535 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9536 (gst_single_queue_free):
9537 Fix small leak (free GstSingleQueue structure too, not only contents).
9539 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9541 * gst/gstbin.c:(gst_bin_add):
9542 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9543 * win32/common/libgstbase.def:
9544 * win32/common/libgstreamer.def:
9545 Add new exported functions.
9547 2007-03-09 Wim Taymans <wim@fluendo.com>
9549 * docs/plugins/gstreamer-plugins-sections.txt:
9552 2007-03-09 Wim Taymans <wim@fluendo.com>
9554 * docs/gst/gstreamer-sections.txt:
9555 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9557 Add metadata copy functions. Fixes #393099.
9558 API: gst_buffer_copy_metadata()
9560 * gst/gstutils.c: (gst_buffer_stamp):
9561 * libs/gst/base/gstbasetransform.c:
9562 (gst_base_transform_prepare_output_buffer):
9563 Use new metadata copy functions.
9565 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9567 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9568 (gst_identity_init), (gst_identity_check_perfect),
9569 (gst_identity_check_imperfect_timestamp),
9570 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9571 (gst_identity_set_property), (gst_identity_get_property):
9572 * plugins/elements/gstidentity.h:
9573 Separate out check-imperfect-timestamp and check-imperfect-offset.
9574 Put back check-perfect as it was to keep compatibility.
9576 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9578 * gst/gstelement.c: (gst_element_dispose):
9579 There's no need to warn if VOID_PENDING is not NONE here, as
9580 long as the state is NULL it's ok, and that's checked immediately
9583 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9585 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9586 Fix check for perfect stream to ignore buffers with -1
9587 offsets/offset ends when checking data contiguity.
9589 2007-03-08 Wim Taymans <wim@fluendo.com>
9591 * tools/gst-launch.c: (event_loop):
9592 Print INFO messages.
9594 2007-03-08 Wim Taymans <wim@fluendo.com>
9596 * libs/gst/base/gstbasetransform.c:
9597 (gst_base_transform_sink_eventfunc),
9598 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9599 (gst_base_transform_activate):
9600 * libs/gst/base/gstbasetransform.h:
9601 Add support for dropping buffers with custom GstFlowReturn.
9602 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9603 buffers or dropped buffers.
9605 * docs/libs/gstreamer-libs-sections.txt:
9606 docs for new custom return code.
9608 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9609 Use drop support in base class to implement drop-probability.
9611 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9613 * gst/gst.c: (load_plugin_func):
9614 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9615 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9616 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9617 Remove newlines at end of debug log strings.
9619 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9621 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9622 Only post bus message at max, once per buffer received.
9624 2007-03-07 Wim Taymans <wim@fluendo.com>
9626 * docs/design/Makefile.am:
9627 * docs/design/part-synchronisation.txt:
9628 Add doc about synchronisation
9630 * docs/design/draft-latency.txt:
9631 * docs/design/part-TODO.txt:
9632 * docs/design/part-clocks.txt:
9633 * docs/design/part-events.txt:
9634 * docs/design/part-gstbus.txt:
9635 * docs/design/part-gstpipeline.txt:
9636 * docs/design/part-live-source.txt:
9637 * docs/design/part-messages.txt:
9638 * docs/design/part-overview.txt:
9639 * docs/design/part-streams.txt:
9640 * docs/design/part-trickmodes.txt:
9641 Documentation updates.
9643 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9646 Update the doap file.
9648 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9650 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9651 Rename non-perfect to imperfect for Mike and for the sanctity of the
9653 Also make sure bus message gets emitted for data-incontiguities.
9655 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9657 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9658 (gst_identity_start):
9659 * plugins/elements/gstidentity.h:
9660 Emit bus message if check-perfect is true and we encounter a
9661 non-perfect stream between 2 consecutive buffers.
9664 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9669 === release 0.10.12 ===
9671 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9674 releasing 0.10.12, "Inevitable Demise"
9676 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9679 Version 0.10.11.2 (0.10.12 pre-release)
9680 Bump libtool versioning.
9682 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9684 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9685 Log flow-names and not numbers.
9687 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9690 Convert to new AG_GST style.
9692 2007-02-28 Wim Taymans <wim@fluendo.com>
9694 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9695 Don't unref query twice.
9697 2007-02-28 Wim Taymans <wim@fluendo.com>
9699 * gst/gstvalue.c: (gst_value_transform_object_string),
9700 (_gst_value_initialize):
9701 Implement GstObject -> string transform so we print object names
9702 when serializing GValues containing GstObjects.
9704 2007-02-28 Wim Taymans <wim@fluendo.com>
9706 * docs/gst/gstreamer-sections.txt:
9707 Add new stuff to docs.
9709 2007-02-28 Wim Taymans <wim@fluendo.com>
9711 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9712 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9713 (gst_base_sink_change_state):
9714 Improve latency query code.
9715 Don't leak latency events.
9717 * tests/check/gst/gstbin.c: (GST_START_TEST):
9720 2007-02-28 Wim Taymans <wim@fluendo.com>
9722 * gst/gstelement.c: (gst_element_message_full),
9723 (gst_element_get_state_func):
9725 Improve docs a little. Added Since: for new macro.
9727 * gst/gstobject.c: (gst_object_sink):
9728 * gst/gstpipeline.c: (gst_pipeline_change_state),
9729 (gst_pipeline_set_new_stream_time):
9730 * gst/gstpipeline.h:
9731 Improve debugging and docs.
9733 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9736 2007-02-28 Wim Taymans <wim@fluendo.com>
9738 * gst/gstelement.c: (gst_element_message_full),
9739 (gst_element_set_locked_state), (gst_element_get_state_func),
9740 (gst_element_change_state):
9741 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9742 Documentation updates.
9743 Small code cleanups.
9745 * gst/gstmessage.c: (gst_message_new_info),
9746 (gst_message_parse_info):
9748 API: gst_message_new_info()
9749 API: gst_message_parse_info()
9750 Add INFO message create and parse code.
9752 2007-02-28 Wim Taymans <wim@fluendo.com>
9754 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9755 (bin_query_latency_done):
9756 Also report the live parameter of a latency query.
9758 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9760 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9761 Copy the current generic/states example from -base and adapt so
9762 we can use the exact same code everywhere.
9763 Check a STATES_IGNORE_ELEMENTS env var which can be used
9764 to ignore certain element factories for this test, which is
9765 what is being done in -base
9766 * tests/check/Makefile.am:
9767 Mention this environment variable.
9769 2007-02-27 Wim Taymans <wim@fluendo.com>
9771 * docs/gst/gstreamer-sections.txt:
9772 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9773 (gst_bus_timed_pop), (gst_bus_pop):
9775 API: gst_bus_timed_pop()
9776 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9777 message to arrive on the bus.
9779 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9781 Two unit tests for new _timed_pop() function.
9783 2007-02-23 Wim Taymans <wim@fluendo.com>
9785 * gst/gstpipeline.c: (gst_pipeline_change_state),
9786 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9787 Don't ref a NULL clock in _provide_clock_func().
9788 Don't allow an INVALID delay.
9789 Don't try to calculate base_time with an invalid start_time.
9790 Also distribute and notify a NULL clock when it was selected.
9792 * tools/gst-launch.c: (event_loop):
9793 Don't crash when a NULL clock was selected in the pipeline.
9795 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9797 * docs/design/Makefile.am:
9798 * docs/design/draft-missing-plugins.txt:
9799 * docs/random/draft-missing-plugins.txt:
9800 Some small updates: update plugin system identifier prefix
9801 ('gstreamer.net' to 'gstreamer'), mention our new install
9802 API in libgstbaseutils rather than libgimme-codec, add
9803 reference to the online docs.
9805 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9807 * win32/common/config.h:
9808 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9809 use moap cl ci to only check in what is mentioned in the ChangeLog.
9811 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9813 * docs/gst/gstreamer-sections.txt:
9815 Fix up documentation to link to the correct GstGError section.
9816 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9818 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9820 * tools/gst-launch.c: (event_loop):
9821 Make sure that we actually show the important message part of a
9823 No need to check if the gerror is not NULL to free; first of all
9824 g_free accepts NULL; and second the default error handler would
9825 segfault if gerror was NULL.
9827 2007-02-21 Wim Taymans <wim@fluendo.com>
9829 * docs/gst/gstreamer-sections.txt:
9830 Removed docs as well.
9832 2007-02-21 Wim Taymans <wim@fluendo.com>
9834 * gst/gstmessage.c: (gst_message_parse_duration):
9836 Remove new messages for release.
9838 2007-02-20 Wim Taymans <wim@fluendo.com>
9840 * docs/design/part-gstghostpad.txt:
9841 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9842 (gst_ghost_pad_new_full):
9843 Make the ghostpad a parent of the internal pad again for better backward
9844 compatibility. Don't write code that relies on this however.
9846 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9847 (gst_pad_link_check_hierarchy):
9848 Require that parents should be GstElements in the hierarchy check.
9850 2007-02-20 Wim Taymans <wim@fluendo.com>
9852 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9853 (gst_bin_change_state_func), (bin_query_min_max_init),
9854 (bin_query_latency_fold), (bin_query_latency_done),
9857 Implement latency query.
9859 2007-02-20 Wim Taymans <wim@fluendo.com>
9861 * docs/design/part-gstghostpad.txt:
9862 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9863 (gst_ghost_pad_internal_do_activate_push),
9864 (gst_ghost_pad_internal_do_activate_pull),
9865 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9866 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9867 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9868 Do not set the internal pad as a parent anymore so we can avoid
9869 hierarchy linking errors when the ghostpad has no parent yet. This also
9870 fixes failed activation because of unlinked internal pads, which in
9871 turn fixes the impossible case where you have to activate a pad before
9872 you can add it to a running element.
9875 * gst/gstpad.c: (pre_activate), (post_activate),
9876 (gst_pad_set_active), (gst_pad_activate_pull),
9877 (gst_pad_activate_push), (gst_pad_check_pull_range):
9878 Add some more debug info.
9879 Mark activation mode in pre_activate so that we don't try to activate in
9880 endless loops. Fixes #385084.
9882 2007-02-19 Wim Taymans <wim@fluendo.com>
9884 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9885 (gst_base_transform_check_get_range):
9886 Implement a checkgetrange function instead of relying on the default
9887 core behaviour that assumes we can operate in pull mode if we have a
9888 getrange function. First step at fixing #385084.
9890 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9892 * gst/gstchildproxy.h:
9893 * libs/gst/base/gstbasesink.h:
9894 * libs/gst/base/gstbasesrc.h:
9895 * libs/gst/base/gstbasetransform.h:
9896 More docs coverage and some ChangeLog surgery (add missing names)
9898 2007-02-15 Wim Taymans <wim@fluendo.com>
9900 * docs/design/part-TODO.txt:
9901 * docs/design/part-activation.txt:
9902 * docs/design/part-block.txt:
9903 * docs/design/part-buffering.txt:
9904 * docs/design/part-clocks.txt:
9905 * docs/design/part-element-source.txt:
9906 * docs/design/part-events.txt:
9907 * docs/design/part-gstbin.txt:
9908 * docs/design/part-gstbus.txt:
9909 * docs/design/part-gstpipeline.txt:
9910 * docs/design/part-live-source.txt:
9911 * docs/design/part-messages.txt:
9912 * docs/design/part-overview.txt:
9913 * docs/design/part-qos.txt:
9914 * docs/design/part-query.txt:
9915 * docs/design/part-states.txt:
9916 * docs/design/part-trickmodes.txt:
9917 Some doc updates. Start renaming from stream_time to running_time where
9918 it was used wrongly.
9920 2007-02-15 Wim Taymans <wim@fluendo.com>
9922 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9923 Answer LATENCY query.
9925 2007-02-15 Wim Taymans <wim@fluendo.com>
9927 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9931 2007-02-15 Wim Taymans <wim@fluendo.com>
9933 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9934 (gst_pad_dispatcher):
9935 Improve debugging of default pad dispatcher and query functions.
9937 2007-02-15 Wim Taymans <wim@fluendo.com>
9939 * docs/gst/gstreamer-sections.txt:
9940 Remove old unused method.
9942 2007-02-13 Wim Taymans <wim@fluendo.com>
9944 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9947 2007-02-13 Wim Taymans <wim@fluendo.com>
9949 * docs/design/part-seeking.txt:
9952 * gst/gstsegment.c: (gst_segment_set_seek):
9953 Revert old bogus change that should make seeking work again.
9955 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9957 * docs/random/ensonic/dynlink.txt:
9958 * docs/random/ensonic/interfaces.txt:
9959 * docs/random/ensonic/receipies.txt:
9960 Possible dynamic reconnection api, plus some type fixes the other two
9963 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
9965 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9966 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9967 Also check for an absolute path following file:// in the filesrc
9968 element. Remove redundant check and call g_path_is_absolute() on the
9971 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9973 * docs/design/draft-klass.txt:
9974 Add existing category analysis.
9977 Fix doc example, framerate is a fraction.
9979 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9982 * docs/gst/Makefile.am:
9983 * docs/gst/gstreamer-sections.txt:
9984 * docs/libs/Makefile.am:
9985 Erm, forgot a bunch of --extra-dir.
9987 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9990 * docs/gst/Makefile.am:
9991 * docs/libs/Makefile.am:
9992 * docs/plugins/Makefile.am:
9993 Add crossreferences to glib/gobject docs.
9995 2007-02-12 Wim Taymans <wim@fluendo.com>
9997 * docs/design/draft-latency.txt:
10000 * docs/libs/gstreamer-libs-sections.txt:
10001 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
10002 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
10003 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
10004 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
10005 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
10006 (gst_base_sink_get_position), (gst_base_sink_query),
10007 (gst_base_sink_change_state):
10008 * libs/gst/base/gstbasesink.h:
10009 API: gst_base_sink_query_latency() to let subclasses query the upstream
10011 API: gst_base_sink_get_latency() to let subclasses query the configured
10012 latency in the sink.
10013 Implement query and set latency.
10015 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
10016 don't continue preroll when we are flushing. Fixes #405284.
10018 * tests/check/pipelines/stress.c: (change_state_timeout),
10019 (quit_timeout), (GST_START_TEST), (stress_suite):
10022 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
10024 Patch by: René Stadler <mail at renestadler de>
10026 * docs/gst/gstreamer-sections.txt:
10027 * gst/gsttaglist.c: (_gst_tag_initialize):
10028 * gst/gsttaglist.h:
10029 API: add GST_TAG_REFERENCE_LEVEL (#403597).
10031 2007-02-11 Stefan Kost <ensonic@users.sf.net>
10033 * docs/libs/Makefile.am:
10034 Fix path to core docs.
10036 * gst/gstbin.c: (gst_bin_get_by_interface),
10037 (gst_bin_iterate_all_by_interface):
10038 Refix docs by also renaming 'interface' to 'iface' in implementation.
10040 * docs/gst/gstreamer-sections.txt:
10042 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10043 * gst/gstchildproxy.h:
10044 * gst/gstelementfactory.c:
10045 * gst/gstpadtemplate.h:
10046 * libs/gst/controller/gstcontroller.c:
10047 (gst_controlled_property_new):
10050 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
10052 * gst/gstbin.h:(gst_bin_get_by_interface),
10053 (gst_bin_iterate_all_by_interface):
10054 Replace interface parameter name by iface as interface is
10055 a reserved keyword in Visual Studio for C++ projects so it removes
10056 a build error for application developpers using VS.
10057 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10058 Fix a bug on Windows in uri format check. Now the prefix checked
10059 is file:// and next we check if the path after file:// is absolute.
10060 * win32/common/libgstbase.def:
10061 * win32/common/libgstdataprotocol.def:
10062 * win32/common/libgstgstreamer.def:
10063 Add new exported functions.
10065 2007-02-09 Andy Wingo <wingo@pobox.com>
10067 * tests/check/pipelines/simple-launch-lines.c
10068 (simple_launch_lines_suite, test_tee): Disable tee test until I
10069 have time to fix it :-(
10071 * tests/check/Makefile.am (noinst_HEADERS):
10072 * tests/check/libs/libsabi.c:
10073 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10074 * tests/check/gst/gstabi.c:
10075 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10077 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10078 tests for push and pull tee behavior.
10080 * plugins/elements/gsttee.h:
10081 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10082 mark as deprecated as well as unimplemented. It was a crack idea.
10083 Add support for tee operating in pull mode, off by default.
10085 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10086 normal-case logs down to LOG, raise errors to WARNING.
10087 (gst_registry_xml_read_cache): Don't log before calling a function
10090 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10091 exit (registry finalize).
10092 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10093 DEBUG log when we emit signals that people don't even have the
10094 chance to connect to.
10095 (gst_registry_scan_path_level): Less logging in the normal case.
10097 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10099 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10101 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10102 Correctly generate EOS for non-seekable files. We don't have a total
10103 length for them and would get an unexpected end of file if we only
10104 special-cased for regular files. (Fixes: #404569)
10106 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10108 * tests/check/elements/filesrc.c: (GST_START_TEST),
10110 Add unit test for the GstURIHandler interface in filesrc. This also
10111 tests the newly added file://localhost/foo/bar support.
10113 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10115 * gst/gstelementfactory.h:
10116 The klass string is not a hierarchy. Add reference to the design doc
10117 for more information and common types.
10119 2007-02-02 Wim Taymans <wim@fluendo.com>
10121 * gst/gstquery.c: (gst_query_new_latency):
10122 Remove old structure field.
10124 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10126 * tools/gst-launch.1.in:
10127 Give example for network streaming (#351998)
10129 2007-02-02 Wim Taymans <wim@fluendo.com>
10131 * docs/gst/gstreamer-sections.txt:
10132 Add docs for new methods.
10134 * gst/gstevent.c: (gst_event_new_latency),
10135 (gst_event_parse_latency):
10137 Add new LATENCY event to configure latency in a pipeline.
10138 API: gst_event_new_latency
10139 API: gst_event_parse_latency
10141 * gst/gstmessage.c: (gst_message_new_buffering),
10142 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10143 (gst_message_new_latency), (gst_message_parse_buffering),
10144 (gst_message_parse_lost_preroll):
10145 * gst/gstmessage.h:
10146 Added messages used in draft-latency.
10147 API: gst_message_new_lost_preroll
10148 API: gst_message_parse_lost_preroll
10149 API: gst_message_new_prerolled
10150 API: gst_message_new_latency
10152 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10153 (gst_query_parse_latency):
10155 Implemented new latency query as in design doc.
10156 API: gst_query_new_latency
10157 API: gst_query_set_latency
10158 API: gst_query_parse_latency
10160 2007-02-02 Wim Taymans <wim@fluendo.com>
10162 * docs/design/draft-latency.txt:
10163 Slight redesign to allow for dynamic latency adjustments.
10165 * docs/design/part-negotiation.txt:
10168 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10170 reviewed by: Wim Taymans <wim@fluendo.com>
10172 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10173 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10174 Allow file://localhost/foo/bar URLs and correctly fail for every other
10175 hostname that one sets. This was gnomevfssrc is linked for those if
10176 installed as it can handle it (#403172)
10178 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10180 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10182 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10183 (unref_data), (gst_collect_pads_add_pad_full):
10184 * libs/gst/base/gstcollectpads.h:
10185 Don't put the previously added destroy notify in the GstCollectData
10186 struct as all it's padding is already used and we don't want to break
10187 ABI. Instead put in the pad's GObject data for now. This should be
10188 cleaned up for 0.11 (#402393).
10190 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10192 reviewed by: Wim Taymans <wim@fluendo.com>
10194 * docs/libs/gstreamer-libs-sections.txt:
10195 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10196 (unref_data), (gst_collect_pads_add_pad),
10197 (gst_collect_pads_add_pad_full):
10198 * libs/gst/base/gstcollectpads.h:
10199 API: Add function to specify a destroy notification for custom
10200 GstCollectData when adding new pads in GstCollectPads (#402393).
10202 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10205 Update Swedish translation (#378255).
10207 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10209 * docs/design/draft-klass.txt:
10210 Fix the previous change, this is a list of categories and not a hierarchy.
10212 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10214 * docs/design/draft-klass.txt:
10215 Add info about how to get a list of used classes.
10217 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10219 * plugins/elements/gsttypefindelement.c:
10220 (gst_type_find_element_chain_do_typefinding),
10221 (gst_type_find_element_change_state):
10222 Don't leak found caps in chain function (no idea why that never
10223 showed up as a leak anywhere).
10225 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10228 Fix and expand GstPluginDesc API docs.
10230 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10233 * gst/gstelementfactory.c:
10234 * gst/gstpadtemplate.h:
10237 * libs/gst/controller/gstcontroller.c:
10238 (gst_controlled_property_new):
10239 * tests/examples/controller/audio-example.c:
10242 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10245 comment about refining the xml deps
10247 * docs/manuals.mak:
10248 comments about moving away from jade for docs
10251 recommit the ifdefs to use the binary registry
10253 * gst/gstbin.c: (gst_bin_change_state_func):
10254 this break is obsolete
10256 * gst/gstelementfactory.h:
10257 better GST_ELEMENT_DETAILS docs, add comment about translation
10262 * gst/gstobject.c: (gst_signal_object_get_type):
10263 add G_UNLIKELY as usual
10265 * gst/gstpad.c: (gst_pad_event_default):
10266 add fall trhu comment
10268 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10269 (gst_registry_binary_initialize_magic),
10270 (gst_registry_binary_save_string),
10271 (gst_registry_binary_save_pad_template),
10272 (gst_registry_binary_save_feature),
10273 (gst_registry_binary_save_plugin),
10274 (gst_registry_binary_write_cache),
10275 (gst_registry_binary_check_magic),
10276 (gst_registry_binary_load_pad_template),
10277 (gst_registry_binary_load_feature),
10278 (gst_registry_binary_load_plugin),
10279 (gst_registry_binary_read_cache):
10280 comment typo and formatting
10282 * gst/gstutils.c: (gst_element_state_get_name),
10283 (gst_element_state_change_return_get_name):
10284 remove obsolete breaks
10286 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10287 add FIXME 0.11 and remove cpp comment
10289 2007-01-29 Edward Hervey <edward@fluendo.com>
10291 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10292 Fix print statement in an even more portable way.
10294 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10296 * docs/gst/gstreamer-sections.txt:
10298 API: add GST_ROUND_DOWN_* macros (#401781).
10300 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10302 * docs/gst/gstreamer.types.in:
10303 * gst/gstregistry.c: (gst_registry_class_init):
10304 Document registry signals and make gtk-doc pick them up (#401381).
10306 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10308 * docs/pwg/building-testapp.xml:
10309 Add some audioconverts and audioresample to the pipeline, and some
10310 more comments and error handling.
10312 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10314 * docs/manual/manual.xml:
10315 * docs/pwg/pwg.xml:
10316 Fix typo (#400987).
10318 2007-01-26 Wim Taymans <wim@fluendo.com>
10320 * gst/gstcaps.c: (gst_static_caps_get):
10321 Init caps flags too.
10323 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10325 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10327 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10328 If not using mmap'ed files try to seek to the end instead of the
10329 start to determine whether we can seek at all. This fixes the case
10330 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10331 seeks for everything afterwards fail. Fixes #400656
10333 2007-01-25 Wim Taymans <wim@fluendo.com>
10335 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10336 Add some refcount debugging.
10337 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10338 in multiple streaming threads.
10340 2007-01-25 Wim Taymans <wim@fluendo.com>
10342 Patch by: David Schleef <ds at schleef dot org>
10344 * docs/libs/gstreamer-libs-sections.txt:
10345 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10346 * libs/gst/base/gstadapter.h:
10347 API: gst_adapter_copy() that can reduce the amount of memcpy when
10348 getting data from the adapter. Fixes #388201.
10350 2007-01-25 Edward Hervey <edward@fluendo.com>
10352 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10353 In print statements, "%x" is for guint. Fixes build on macosx.
10355 2007-01-24 Edward Hervey <edward@fluendo.com>
10357 * plugins/elements/gstmultiqueue.c:
10358 (gst_multi_queue_loop):
10360 (single_queue_overrun_cb), (single_queue_underrun_cb),
10361 (single_queue_check_full), (gst_single_queue_new):
10362 Implement single queue growth system.
10363 This uses the extra-size properties, and will grow single queues by
10364 that much if one goes full whereas there are others empty. This is
10365 called extra-mode in the code.
10366 When a single queue's levels go back below the initial max-size
10367 limits, it is no longer in extra-mode. This is to ensure we don't
10368 consume too much memory.
10371 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10373 * gst/gst.c: (gst_init_get_option_group):
10374 Make warning about late g_thread_init() calls a bit more explicit,
10375 so that it's more obvious to application developers what they need
10376 to do if a user files a bug against their application.
10378 2007-01-22 Edward Hervey <edward@fluendo.com>
10380 * plugins/elements/gstmultiqueue.c:
10381 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10382 Remove previous hack of unsetting the flushing flag for the source pad
10383 instead of activating it. Instead, fix the source pad activate function
10384 so that it no longer depends on having a parent set or not.
10386 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10388 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10390 * docs/manual/basics-bus.xml:
10391 Fix example code, gst_element_unref() doesn't exist any longer.
10393 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10395 Patch by: Mark Nauwelaerts <manauw at skynet be>
10398 Fix two docs typoes (#399094).
10400 2007-01-19 Edward Hervey <edward@fluendo.com>
10402 * docs/faq/gst-uninstalled:
10403 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10404 depending on libgstbaseutils can work in uninstalled environment.
10406 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10408 * gst/gsttaglist.h:
10409 * gst/gsttagsetter.c:
10410 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10411 statement for new tag.
10413 2007-01-17 Edward Hervey <edward@fluendo.com>
10415 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10416 When dynamically creating single queues, activate sinkpad before adding
10418 We should be doing the same thing for the source pad, but we can't
10419 since it would call a method which needs the parent to be set in order
10420 to work propertly. Instead of activating the source pad, we just unset
10421 the flushing flag, which is the minimal requirement for adding a pad
10422 to an element in a state greater than READY.
10424 2007-01-17 Edward Hervey <edward@fluendo.com>
10426 * docs/faq/gst-uninstalled:
10427 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10430 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10432 * tests/check/gst/gstabi.c:
10433 * tests/check/gst/struct_hppa.h:
10434 * tests/check/libs/libsabi.c:
10435 * tests/check/libs/struct_hppa.h:
10436 Add ABI structs for HPPA (see #393796).
10438 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10440 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10441 Actually write ABI structs to the file specified in the GST_ABI
10442 environment variable, as the message we print claims we would.
10444 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10446 * tests/check/gst/gsttask.c:
10447 Fix header comment.
10449 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10451 * gst/gsttaglist.c: (_gst_tag_initialize):
10452 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10453 previous two entries.
10455 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10457 * docs/gst/gstreamer-sections.txt:
10458 * gst/gsttaglist.c: (_gst_tag_initialize):
10459 * gst/gsttaglist.h:
10460 Add tag support for beat-per-minute.
10462 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10464 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10465 (gst_registry_binary_initialize_magic),
10466 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10467 (gst_registry_binary_save_pad_template),
10468 (gst_registry_binary_save_feature),
10469 (gst_registry_binary_save_plugin),
10470 (gst_registry_binary_write_cache),
10471 (gst_registry_binary_check_magic),
10472 (gst_registry_binary_load_pad_template),
10473 (gst_registry_binary_load_feature),
10474 (gst_registry_binary_load_plugin),
10475 (gst_registry_binary_read_cache):
10476 * gst/gstregistrybinary.h:
10477 Use glib types, cleanup comments, impement interfaces and uri-types.
10479 2007-01-13 Andy Wingo <wingo@pobox.com>
10481 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10482 getrange() to return buffers with other caps, while we fix
10483 demuxers and typefind, or otherwise change part-negotiation.txt.
10485 2007-01-12 Andy Wingo <wingo@pobox.com>
10487 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10488 Factor start/stop into this private function instead of partially
10489 in activate functions and partially in the change_state function.
10490 Fixes setup before the element has changed from READY->PAUSED, as
10491 is the case in pull-mode pipelines.
10492 (gst_base_transform_sink_activate_push)
10493 (gst_base_transform_src_activate_pull): Refactor to use
10494 gst_base_transform_activate().
10495 (gst_base_transform_change_state): Removed, not needed any more.
10497 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10498 Truncate before fixating.
10500 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10501 Don't set_caps() if the result of fixating is ANY, as it's not
10502 supported, and not necessary in the case of a link with no
10503 template caps on either side. Fixes tests/check/libs/basesrc in
10504 some pull-mode tests.
10506 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10507 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10508 (gst_base_transform_src_activate_pull):
10509 Track the activation mode.
10510 (gst_base_transform_setcaps): In pull mode, when activating the
10511 src pad, after activating the sink pad, activate the sink pad's
10512 peer, as discussed in part-negotiation.txt.
10514 * libs/gst/base/gstbasesrc.h:
10515 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10516 vmethod, as in basesink.
10518 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10520 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10521 mode, first proxy the setcaps to the peer pad.
10522 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10523 new fixate vmethod.
10524 (gst_base_sink_default_activate_pull): Rename from
10525 gst_base_sink_activate_pull.
10526 (gst_base_sink_negotiate_pull): New function, performs negotiation
10527 in pull mode before calling ::activate_pull().
10528 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10529 vmethod instead of the default implementation. I have no idea how
10530 this worked before. Negotiate before calling activate_pull.
10532 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10533 sink pads in pull mode. In addition to being correct, fixes
10534 filesrc ! decodebin ! identity ! fakesink.
10535 (gst_pad_get_range, gst_pad_pull_range): Don't call
10536 gst_pad_set_caps() if the caps changes; instead error out with
10537 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10539 2007-01-12 Andy Wingo <wingo@pobox.com>
10541 * docs/design/part-negotiation.txt: Update with more policy.
10543 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10545 * libs/gst/check/gstbufferstraw.h:
10546 * libs/gst/check/gstcheck.h:
10547 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10550 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10552 * tests/check/Makefile.am:
10553 * tests/check/gst/.cvsignore:
10554 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10555 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10556 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10557 (GST_START_TEST), (gst_tag_setter_suite):
10558 Add minimal unit test for beforementioned GstTagSetter bug.
10560 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10562 Patch by: René Stadler <mail at renestadler dot de>
10564 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10565 gst_tag_list_merge() returns a new list, so it's not the best idea
10566 to ingore its return value. Effectively meant that tags could only
10567 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10568 Also add function guard to require a non-NULL taglist as input (has
10569 always been so due to gst_tag_list_copy(), just making it explicit).
10571 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10573 * docs/random/draft-missing-plugins.txt:
10574 Some additions: mention new API that is supposed to be used at the
10575 various stages; short blob about new gst-inspect introspection
10576 option; mention potential future problem with plugins that have
10577 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10579 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10581 * tools/gst-inspect.c:
10582 (print_plugin_automatic_install_info_codecs),
10583 (print_plugin_automatic_install_info_protocols),
10584 (print_plugin_automatic_install_info), (main):
10585 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10586 introspect plugin files and get machine-parsable output that corresponds
10587 to the last bit of the missing-plugin installer string (small gotcha:
10588 doesn't take into account ranks).
10590 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10593 * docs/gst/gstreamer-sections.txt:
10595 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10596 (gst_registry_lookup_locked):
10597 * gst/gstregistry.h:
10598 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10599 (gst_registry_binary_initialize_magic),
10600 (gst_registry_binary_save_string),
10601 (gst_registry_binary_save_pad_template),
10602 (gst_registry_binary_save_feature),
10603 (gst_registry_binary_save_plugin),
10604 (gst_registry_binary_write_cache),
10605 (gst_registry_binary_check_magic),
10606 (gst_registry_binary_load_pad_template),
10607 (gst_registry_binary_load_feature),
10608 (gst_registry_binary_load_plugin),
10609 (gst_registry_binary_read_cache):
10610 * gst/gstregistrybinary.h:
10611 * gst/gstregistryxml.c: (load_feature),
10612 (gst_registry_xml_read_cache):
10613 commit binary registry (disabled by default, see #359653)
10615 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10617 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10618 Fix 'make check' too.
10620 2007-01-10 Andy Wingo <wingo@pobox.com>
10622 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10625 * docs/design/part-negotiation.txt: Update with, um, one way that
10626 pull-mode negotiation might work?
10629 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10630 that the pad must be a src pad; makes sense to call it the other
10631 way in pull mode, and the logic is symmetric anyway.
10633 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10635 * plugins/elements/gstfilesink.c:
10636 Include <stdio.h> for fseeko().
10638 2007-01-10 Wim Taymans <wim@fluendo.com>
10642 Reserve LATENCY event.
10644 2007-01-09 Wim Taymans <wim@fluendo.com>
10646 * docs/design/draft-latency.txt:
10649 2007-01-09 Wim Taymans <wim@fluendo.com>
10651 * docs/design/draft-latency.txt:
10654 * gst/gstelement.h:
10655 * gst/gststructure.c:
10659 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10661 * tests/check/.cvsignore:
10662 Ignore test-registry.xml as well.
10664 2007-01-09 Wim Taymans <wim@fluendo.com>
10666 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10667 unref data at the end when we are done with the pad.
10669 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10671 * docs/gst/gstreamer-sections.txt:
10672 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10673 (init_post), (gst_deinit), (gst_update_registry):
10675 API: add gst_update_registry() (#391296).
10677 * tests/check/Makefile.am:
10678 * tests/check/gst/gstregistry.c:
10679 * tests/check/gst/.cvsignore:
10680 Simple unit test for the above.
10682 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10684 * gst/gstregistry.c: (gst_registry_scan_path_level):
10685 Plugin extension on HP-UX is .sl, add that to the list of approved
10686 plugin extensions (see #393796).
10688 * tests/check/gst/gstpad.c: (GST_START_TEST):
10689 ulong => gulong. Fixes compilation with HP-UX compiler.
10691 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10692 Fix compilation if valgrind headers are not available.
10694 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10696 * win32/common/libgstreamer.def:
10697 Add new exported function.
10698 * win32/vs6/libgstbase.dsp:
10699 Add gstdataqueue.c to the build.
10700 * win32/vs6/libgstcoreelements.dsp:
10701 Add gstmultiqueue.c to the build.
10703 2007-01-06 Andy Wingo <wingo@pobox.com>
10705 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10706 activate_pull(), providing for a way to specialize the process of
10707 spawning a thread to pull on the sink pad. There is a default
10710 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10711 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10712 (gst_base_sink_init): Renamed pad activation functions (inserting
10713 "_pad" in their names). Refactor to use the new activate_pull
10714 vmethod, as appropriate.
10715 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10716 default activate_pull function to start a task pulling from the
10717 sink pad, as before.
10719 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10720 on the pads if necessary, as in push()/chain(). Update docs.
10721 Shouldn't affect existing pull() usage as it is currently only
10722 being used on buffers without caps.
10724 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10726 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10728 Call g_thread_init() first thing in gst_init() / gst_check_init().
10729 When initialisation is done via gst_init_get_option_group() and
10730 GOption parsing, issue a warning if the GLib thread system has not
10731 been initialised yet by the time gst_init_get_option_group() is
10732 called, as it's quite likely other GLib functions such as
10733 g_option_context_new() have been called already then, and
10734 g_thread_init() must be called before any other GLib function. The
10735 application in question must be fixed in that case, since memory
10736 corruption might happen otherwise.
10737 We issue the warning because even if the GLib folks decide to work
10738 around the problem on their end in future, this is still an issue
10739 with all GLib versions >= 2.10.0, so we should warn until we depend
10740 on a GLib version we know to be safe.
10741 Update documentation as well.
10742 Closes bug #391278.
10744 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10746 * tools/gst-inspect.c: (main):
10747 * tools/gst-launch.c: (main):
10748 * tools/gst-typefind.c: (main):
10749 * tools/gst-xmlinspect.c: (main):
10750 Call g_thread_init() really really early, before any other GLib
10751 function (see #342564 and recent discussion on gtk-devel-list).
10753 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10755 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10757 * gst/gst_private.h:
10758 * gst/gstconfig.h.in:
10760 On win32, all the __declspec stuff for symbol exporting is
10761 apparently only needed with MSVC, but doesn't work with MingW.
10762 Fixes compilation with MingW and #391909.
10764 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10766 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10767 Change some GST_ERROR_OBJECT that aren't really errors to
10768 GST_WARNING_OBJECT in order to reduce terminal spam.
10770 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10772 * tests/check/Makefile.am:
10773 disable test again, as there seem to be still race problems
10775 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10777 * tests/check/Makefile.am:
10778 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10779 (GST_START_TEST), (queue_suite):
10780 enable queue test again, add tests for the leaky behaviour
10782 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10785 * tests/examples/Makefile.am:
10786 Compile adapter test/example only if the required headers are
10787 available (fixes #391915).
10789 2007-01-01 David Schleef <ds@schleef.org>
10792 Restore the previous signal handler for SIGSEGV instead of
10793 setting to default, since we may have stolen it away from
10794 someone. (i.e., Mono)
10796 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10798 * docs/random/draft-missing-plugins.txt:
10799 Some small additions and clarifications.
10801 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10803 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10804 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10805 since that can lead to random memory corruptions and crashes
10806 (may or may not be related to #383244, #386711, and #386711).
10808 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10810 * tests/check/.cvsignore:
10811 * tests/check/Makefile.am:
10812 sync .cvsignome and CLEANFILES
10814 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10816 * tests/check/Makefile.am:
10819 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10821 * docs/design/part-states.txt:
10822 two tiny additional comments
10824 * gst/gststructure.c:
10827 * tests/check/Makefile.am:
10828 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10830 disable test for now, unless it gets fixed
10832 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10834 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10836 fix race in underrun test
10838 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10840 * tests/check/elements/.cvsignore:
10843 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10845 try to narrow test failure
10847 2006-12-21 David Schleef <ds@schleef.org>
10849 * plugins/elements/gstfakesrc.c:
10850 Use g_random_int_range(), since it produces better random
10851 numbers in a range than almost-correct floating point code.
10853 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10855 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10856 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10857 (gst_check_teardown_sink_pad):
10858 do not automatically (de)activate pads
10860 * tests/check/Makefile.am:
10861 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10862 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10863 add new, yet simple tests for queue
10865 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10866 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10867 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10869 * tests/check/elements/identity.c: (cleanup_identity):
10870 consistent pad (de)activation
10872 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10874 Patch by: Sebastian Dröge <slomo ubuntu com>
10876 * libs/gst/base/gstcollectpads.c:
10877 Fix two doc typos (#387866).
10879 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10881 * docs/manual/advanced-dparams.xml:
10882 Fix typo (g_object_control_properties() doesn't exist).
10884 2006-12-19 Edward Hervey <edward@fluendo.com>
10886 * gst/gstsegment.c: (gst_segment_set_seek):
10887 Fine tune the cases where the segment start/stop values are really
10889 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10890 Add tests for the return values of gst_segment_set_seek().
10892 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10897 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10899 Fix incorrect documentation and flesh it out a bit more.
10900 Set default values for the max properties on the GParamSpec as well,
10901 so it shows up correctly in gst-inspect.
10903 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10905 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10906 Correct docs of queue, add more detail and crosslink it more.
10908 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10910 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10911 Print additional debug info when the stream isn't perfectly
10912 timestamped; don't try to use invalid durations.
10914 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10916 * docs/design/Makefile.am:
10917 Dist new design docs.
10919 2006-12-16 Wim Taymans <wim@fluendo.com>
10921 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10923 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10924 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10925 (gst_collect_pads_stop), (gst_collect_pads_event),
10926 (gst_collect_pads_chain):
10927 * libs/gst/base/gstcollectpads.h:
10928 Add refcounting to the collectpads data so we can track when it's safe
10929 to free the data. Fixes #383382.
10931 2006-12-15 Wim Taymans <wim@fluendo.com>
10933 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10934 (gst_collect_pads_remove_pad):
10935 Automatically activate/deactivate pads when they are added to a
10936 started/stoped collectpads.
10938 2006-12-15 Wim Taymans <wim@fluendo.com>
10940 * gst/gstelement.c: (gst_element_add_pad):
10941 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10942 * gst/gstpad.c: (gst_pad_init):
10943 Set pads to FLUSHING when they are created. Check, warn and fix when a
10944 demuxer adds an inactive pad to itself when running. Fixes #339326.
10946 2006-12-15 Wim Taymans <wim@fluendo.com>
10948 * gst/gstelement.c: (gst_element_class_init),
10949 (gst_element_default_send_event), (gst_element_send_event),
10950 (gst_element_default_query), (gst_element_query):
10951 Expose default element send_event and query handling as vmethods that
10952 subclasses can chain up to.
10954 2006-12-15 Wim Taymans <wim@fluendo.com>
10956 * gst/gstelement.c: (gst_element_set_state_func):
10957 Small documentation fixes.
10959 2006-12-15 Wim Taymans <wim@fluendo.com>
10961 * docs/design/draft-latency.txt:
10962 Checked in draft for handling latency in pipelines.
10964 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
10968 * gstreamer.spec.in:
10971 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
10973 * gst/gst.c: (init_pre), (init_post):
10974 init_pre() and init_post() might be called via our GOptionGroup or
10975 from gst_init(), and we should skip both of them if we've already
10976 been initialised, otherwise we will init some things twice or add
10977 two default log functions.
10979 2006-12-13 Edward Hervey <edward@fluendo.com>
10981 * docs/manual/basics-bus.xml:
10982 No, gst_main_loop does not exist. Its g_main_loop.
10983 Discovered by somebody who abused the copy-paste technique of coding :)
10985 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
10987 * gst/gstghostpad.c:
10988 Log ghostpad debug stuff to the GST_PADS category as well rather
10989 than just to the default category.
10991 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
10994 * gst/gst.c: (init_pre):
10995 Add some basic system details such as OS and architecture
10996 to the debug output if possible, courtesy of uname().
10998 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
11000 * docs/gst/running.xml:
11001 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
11002 environment variables.
11004 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11006 * tests/check/gst/gstbin.c: (GST_START_TEST):
11007 It is acceptable to have a refcount of 2 or 3 at this point in the
11008 test, because the pipeline might be just posting its state_change
11009 message. The next line then waits for that message to appear using
11010 bus_poll, so that should be fine too.
11012 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
11014 * gst/gst.c: (ensure_current_registry_forking):
11015 Ignore EINTR when reading from the child registry pipe.
11016 Explicitly ignore the return value from close, since it makes no
11019 * gst/gstminiobject.c: (gst_mini_object_ref),
11020 (gst_mini_object_unref):
11021 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
11023 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
11024 When removing cached plugins, remove their features too, so they're
11025 not visible after they've disappeared.
11027 * gst/gstutils.c: (prepare_link_maybe_ghosting):
11028 In the unlikely case that we are linking pads with no parents, don't
11029 crash trying to get the non-existent parent bin.
11031 * gst/parse/grammar.y:
11032 Output debug in the PIPELINE category
11034 2005-03-08 Wim Taymans <wim@fluendo.com>
11036 Patch by: René Stadler <mail at renestadler dot de>
11038 * gst/gstclock.c: (gst_clock_new_periodic_id):
11039 Reject invalid clock times for interval of periodic ids.
11042 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11044 * gst/gstelementfactory.c: (gst_element_factory_create):
11045 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11046 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11047 * tools/gst-inspect.c: (print_element_info):
11048 Fix refcounting of gst_plugin_feature_load to match the docs.
11051 2006-12-07 Wim Taymans <wim@fluendo.com>
11053 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11054 (gst_base_sink_get_position):
11055 Improve debugging of events.
11057 2006-12-07 Wim Taymans <wim@fluendo.com>
11059 Patch by: René Stadler <mail at renestadler dot de>
11061 * gst/gstclock.c: (gst_clock_id_wait):
11062 Make period ids add the interval to the origial requested time instead
11063 of the possibly updated time which can be wrong when there are multiple
11064 waiters for the same id. Fixes #382592.
11066 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11067 (gst_system_clock_id_wait_jitter_unlocked),
11068 (gst_system_clock_id_wait_jitter):
11069 Fix restart in the async notify thread when an async entry is added to
11070 the front of the list. Fixes #381492.
11072 * tests/check/gst/gstsystemclock.c: (store_callback),
11073 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11074 Added test for multiple async waits.
11075 Added test for async wait order.
11077 2006-12-07 Wim Taymans <wim@fluendo.com>
11079 * gst/gstbin.c: (gst_bin_query):
11080 Add some more docs about the POSITION query.
11082 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11085 Bump version nano - back to CVS.
11087 === release 0.10.11 ===
11089 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11092 releasing 0.10.11, "Love never runs on time"
11094 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11096 * win32/common/libgstbase.def:
11097 * win32/common/libgstreamer.def:
11098 * win32/vs8/libgstbase.vcproj:
11099 * win32/vs8/libgstcoreelements.vcproj:
11100 * win32/vs8/libgstreamer.vcproj:
11101 Fix compilation on win32 under VS8
11102 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11103 Partially fixes #381175
11105 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11107 * gst/gstvalue.c: (gst_value_compare_fraction):
11108 If someone is foolish enough to compare 2 fractions with denominator =
11109 0, return UNORDERED rather than aborting.
11111 2006-11-28 Edward Hervey <edward@fluendo.com>
11113 * libs/gst/base/Makefile.am:
11114 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11115 (gst_data_queue_base_init), (gst_data_queue_class_init),
11116 (gst_data_queue_init), (gst_data_queue_new),
11117 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11118 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11119 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11120 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11121 (gst_data_queue_set_flushing), (gst_data_queue_push),
11122 (gst_data_queue_pop), (gst_data_queue_drop_head),
11123 (gst_data_queue_set_property), (gst_data_queue_get_property):
11124 * libs/gst/base/gstdataqueue.h:
11125 New GstDataQueue object for threadsafe queueing. Most useful for
11126 elements that need some queueing functionnality.
11127 * docs/libs/gstreamer-libs-docs.sgml:
11128 * docs/libs/gstreamer-libs-sections.txt:
11129 Insert documentation for GstDataQueue
11130 * plugins/elements/Makefile.am:
11131 * plugins/elements/gstelements.c:
11132 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11133 (gst_multi_queue_class_init), (gst_multi_queue_init),
11134 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11135 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11136 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11137 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11138 (gst_multi_queue_loop), (gst_multi_queue_chain),
11139 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11140 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11141 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11142 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11143 (wake_up_next_non_linked), (compute_next_non_linked),
11144 (single_queue_overrun_cb), (single_queue_underrun_cb),
11145 (single_queue_check_full), (gst_single_queue_new):
11146 * plugins/elements/gstmultiqueue.h:
11147 New multiqueue element, using GstDataQueue. Used for queuing multiple
11149 Closes #344639 and #347785
11151 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11153 * docs/pwg/advanced-types.xml:
11154 add more missing type details
11156 * tools/gst-run.c: (main):
11157 remove unused variable
11159 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11161 * docs/libs/Makefile.am:
11162 * docs/libs/gstreamer-libs.types:
11163 add types of base classes to enable gobject specific stuff in the docs
11165 * docs/random/ensonic/embedded.txt:
11166 more ideas about isolating platform specific things
11168 2006-11-20 Wim Taymans <wim@fluendo.com>
11170 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11172 * libs/gst/check/gstcheck.h:
11173 Fix compilation and running against 0.9.4. Fixes #377332.
11175 2006-11-20 Wim Taymans <wim@fluendo.com>
11177 * gst/gstsegment.c: (gst_segment_set_seek),
11178 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11179 (gst_segment_to_running_time):
11180 Fix boundary checking in to_running_time() and to_stream_time().
11183 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11184 stream and running time can now be calculated for the complete
11187 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11189 * gst/gstpad.c: (gst_pad_push_event):
11190 Can't access event structure after giving away ownership of
11193 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11195 * docs/random/ensonic/embedded.txt:
11196 * docs/random/ensonic/profiling.txt:
11197 * docs/random/ensonic/receipies.txt:
11200 2006-11-13 Wim Taymans <wim@fluendo.com>
11202 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11205 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11207 2006-11-13 Wim Taymans <wim@fluendo.com>
11209 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11211 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11212 Store new length in segment duration so we don't keep on calling the
11213 potentially expensize get_size() call. Fixes #370865.
11215 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11217 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11219 * win32/common/libgstreamer.def:
11220 Add two missing symbols (#366492).
11222 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11224 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11225 (gst_adapter_take_buffer):
11226 Fix format string to use all its arguments.
11227 Remove useless >= check on a guint
11229 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11231 * tests/examples/adapter/.cvsignore:
11232 Ignore build file as commanded by the build-bot
11234 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11236 * tests/examples/adapter/Makefile.am:
11237 * tests/examples/adapter/adapter_test.c: (run_test_take),
11238 (run_test_take_buffer), (run_tests), (main):
11240 Add new files from the previous commit
11242 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11246 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11247 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11248 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11249 * libs/gst/base/gstadapter.h:
11250 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11251 (GST_START_TEST), (gst_adapter_suite):
11252 * tests/examples/Makefile.am:
11253 Do some optimisation work in GstAdapter to avoid copies in more cases.
11254 It could still do slightly better by merging buffers when
11255 gst_buffer_is_span_fast is true, but is already faster.
11257 Also, avoid traversing a single-linked list to append each incoming
11258 buffer inside the adapter.
11260 Add simple test app that times the adapter behaviour in different
11261 situations, and extend the unit test to check that bytes enter and
11262 exit the adapter in their original order.
11264 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11266 * docs/random/draft-missing-plugins.txt:
11267 Update: use element message instead of adding a new message
11268 type to the core; don't provide GStreamer API to initiate the
11269 plugin download, just provide API to compose the strings needed
11270 and let an external libgimmestuff handle the rest.
11272 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11274 * tools/gst-inspect.c: (print_element_properties_info):
11275 Print a string instead of 'unknown type' for GValueArray properties
11277 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11279 * docs/random/draft-missing-plugins.txt:
11282 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11284 * tests/examples/typefind/typefind.c: (type_found), (main):
11285 Make typefind element example work again (#371894); add a
11288 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11290 * docs/random/draft-missing-plugins.txt:
11291 Commit initial draft about how to deal with missing plugins,
11292 needs work (API too).
11294 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11296 * docs/pwg/advanced-types.xml:
11297 documents the new caps elements (see #363118)
11299 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11301 * gst/gstplugin.c: (gst_plugin_load_file):
11302 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11303 (gst_file_src_map_region), (gst_file_src_start):
11304 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11305 (gst_file_index_commit):
11306 Use g_strerror() instead of strerror() - we want UTF-8.
11308 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11310 Patch by: Peter Kjellerstedt <pkj at axis com>
11312 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11313 Another printf fix (#371493).
11315 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11317 * tests/check/gst/gsttag.c:
11318 relicence (okay with author=company)
11320 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11322 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11323 (gst_pad_push_event):
11324 Enhance debug and improve docs
11329 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11331 * docs/random/ensonic/distributed.txt:
11332 * docs/random/ensonic/profiling.txt:
11335 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11337 * docs/gst/gstreamer-sections.txt:
11338 add new API and fix the build
11340 * gst/gstbin.c: (gst_bin_recalc_state):
11341 * gst/gstelement.c: (gst_element_message_full),
11342 (gst_element_get_state_func), (gst_element_set_state_func):
11343 use new API and improve logging
11345 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11347 API: add function to get StateChangereturn names to improve logs
11349 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11351 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11352 I'm considering shooting the next person to put strerror stuff
11353 in the translateable part of the message.
11355 2006-11-03 Wim Taymans <wim@fluendo.com>
11357 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11358 Get the type and printf conversion specifiers right.
11360 2006-11-03 Wim Taymans <wim@fluendo.com>
11362 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11364 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11365 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11366 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11367 Some small cleanups. Improve debugging.
11369 Signal all waiting threads with a broadcast instead of just one.
11372 2006-11-03 Wim Taymans <wim@fluendo.com>
11374 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11375 (gst_fd_src_create):
11376 Add some debugging.
11377 Only update fd when it's different from the old.
11379 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11381 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11382 Printf fixes for PPC/OSX, take two (#369366).
11384 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11386 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11388 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11389 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11390 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11391 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11392 don't cast to long long for portability reasons, but use
11393 GLib's types instead.
11395 2006-10-30 Michael Smith <msmith@fluendo.com>
11397 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11398 Get the arguments to lseek() the right way around.
11401 2006-10-30 Wim Taymans <wim@fluendo.com>
11403 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11406 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11408 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11410 Patch by: Kjartan Maraas <kmaraas at gnome org>
11412 * docs/design/part-MT-refcounting.txt:
11413 * docs/random/wtay/capsnego2-docs:
11416 Typo fixes (#366212).
11418 2006-10-28 Wim Taymans <wim@fluendo.com>
11420 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11423 * win32/common/libgstbase.def:
11424 * win32/common/libgstreamer.def:
11425 * win32/vs8/libgstbase.vcproj:
11426 * win32/vs8/libgstcontroller.vcproj:
11427 Add needed entries in .def files.
11429 Rearrange def files in vs8 solutions. Fixes #366286.
11431 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11433 * win32/common/gstconfig.h:
11434 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11435 hand-made win32 gstconfig.h. Fixes #366321.
11437 2006-10-27 Wim Taymans <wim@fluendo.com>
11439 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11440 (gst_ghost_pad_new_full):
11441 Make acceptcaps return TRUE when we don't have a target, just like
11444 2006-10-27 Wim Taymans <wim@fluendo.com>
11446 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11447 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11449 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11451 * gst/gststructure.c: (gst_structure_id_set_value):
11452 If someone tries to set a non-UTF8 string field on a structure,
11453 don't just print a warning, but also ignore the request and do
11454 not change/add that field to the structure.
11456 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11457 Test for the above.
11459 2006-10-25 David Schleef <ds@schleef.org>
11462 g_hash_table_insert() needs a cast to a non-const pointer duh.
11464 2006-10-25 David Schleef <ds@schleef.org>
11468 Change name parameter of _gst_debug_register_funcptr to const
11469 to reflect the constness of its use in the function as well
11470 as to quiet a gcc warning.
11472 2006-10-25 Edward Hervey <edward@fluendo.com>
11474 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11475 Don't push the buffer if it's empty.
11478 2006-10-24 Wim Taymans <wim@fluendo.com>
11483 * libs/gst/base/gstbasetransform.c:
11484 (gst_base_transform_sink_eventfunc):
11485 Debug segment values *after* updating them as this is more
11488 2006-10-23 Wim Taymans <wim@fluendo.com>
11490 * docs/design/part-events.txt:
11493 * docs/design/part-block.txt:
11494 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11495 (gst_pad_push_event):
11496 Revert BLOCKING patch, it tries to be smart without really having a
11497 clear idea what or how. So, now we discard all FLUSHING events again on
11498 a blocking pad. Should fix gnonlin again.
11500 2006-10-23 Wim Taymans <wim@fluendo.com>
11502 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11504 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11505 (gst_base_src_start), (gst_base_src_activate_push):
11506 Make sure size is always initialized. Fixes #364388.
11508 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11510 * docs/random/ensonic/distributed.txt:
11511 add some ideas about doing distributed processing
11513 * docs/random/ensonic/profiling.txt:
11514 get_rusage look promising
11516 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11518 * docs/manual/basics-helloworld.xml:
11519 Add a cast in example to fix compile warning
11521 2006-10-18 Wim Taymans <wim@fluendo.com>
11523 * gst/gstsegment.c: (gst_segment_set_last_stop),
11524 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11525 Relax arg checking again, -1 is allowed.
11527 2006-10-18 Wim Taymans <wim@fluendo.com>
11529 * gst/gstsegment.c: (gst_segment_set_last_stop),
11530 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11531 _set_last_stop() must be with a value != -1
11532 A _TYPE_SET to -1 means seek to 0.
11533 Calc last_stop correctly for negative rates.
11534 Make sure we work with positive durations when updating a segment.
11536 2006-10-18 Wim Taymans <wim@fluendo.com>
11538 * docs/design/part-live-source.txt:
11542 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11545 Add an explicit cast to GstBuffer** to keep old code that added an
11546 explicit cast to GstMiniObject** for gst_mini_object_replace()
11547 compiling without warning.
11549 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11551 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11552 check for validity of dates
11554 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11556 * docs/gst/gstreamer-sections.txt:
11557 Forgot this one, makes gtk-doc shut up.
11559 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11561 Patch by: Peter Kjellerstedt <pkj at axis com>
11564 Don't define xmlNodePtr to gpointer if the core was built with
11565 --disable-loadsave and --disable-registry, this will break
11566 applications that want to use libxml2 but are buildling against a
11567 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11568 instead so we don't have to mess with the libxml2 namespace
11571 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11574 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11575 type-punned pointer warnings.
11577 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11579 * gst/gstelement.h:
11580 Add casts to the correct return type to state <=> state transition
11583 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11585 * docs/design/part-live-source.txt:
11586 describe howto handle latency
11588 * docs/random/ensonic/profiling.txt:
11591 * tools/gst-plot-timeline.py:
11592 fix log parsing for solaris, remove unused function
11594 2006-10-16 Wim Taymans <wim@fluendo.com>
11596 * docs/design/part-trickmodes.txt:
11598 Update some docs regarding reverse playback.
11600 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11602 Patch by: Marcus Granado <mrc dot gran at gmail com>
11604 * win32/vs8/grammar.vcproj:
11605 Error out with a warning if glib-genmarshal.exe is not in path,
11606 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11608 2006-10-13 Wim Taymans <wim@fluendo.com>
11610 * gst/gstsegment.c: (gst_segment_set_seek):
11611 When seeking to stop -1, set last_stop (current position) to the
11612 duration of the segment.
11614 2006-10-13 Wim Taymans <wim@fluendo.com>
11616 * gst/gstelement.h:
11617 Clarify _NO_PREROLL a bit more.
11622 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11623 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11624 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11625 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11626 due to wrong locking order. Fixes #361769.
11627 Remove some redundant/misplaced checks in pad_block.
11629 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11630 For negative rates, count backwards from the duration.
11632 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11634 * gst/gsterror.c: (_gst_library_errors_init):
11635 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11636 up with something better).
11638 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11640 * win32/vs6/libgstreamer.dsp:
11641 * win32/vs7/libgstreamer.vcproj:
11642 * win32/vs8/libgstreamer.vcproj:
11643 Don't reference glib-compat.c which is currently not used and not
11644 disted; add gstquark.c which was recently added. Fixes #361730.
11646 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11648 * win32/common/libgstbase.def:
11649 * win32/common/libgstcontroller.def:
11650 * win32/common/libgstreamer.def:
11651 Add gst_caps_merge() and a bunch of other recently-added functions.
11654 2006-10-11 Wim Taymans <wim@fluendo.com>
11656 * docs/plugins/gstreamer-plugins.args:
11657 * docs/plugins/inspect/plugin-coreelements.xml:
11658 * docs/plugins/inspect/plugin-coreindexers.xml:
11659 Update element args.
11661 * gst/gstsystemclock.c:
11662 Small comment update.
11664 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11665 (gst_tee_request_new_pad), (gst_tee_release_pad),
11666 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11667 (gst_tee_sink_activate_pull):
11668 * plugins/elements/gsttee.h:
11670 Add default property defines.
11671 Implement release pad function.
11672 Give properties better blubs etc.
11673 Activate pads before adding them to a running tee.
11674 Do simple buffer_alloc on the first requested pad.
11675 Post error when activation fails.
11677 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11679 * gst/gst.c: (ensure_current_registry_forking):
11680 Check return value of write() to make compiler happy.
11682 2006-10-11 Wim Taymans <wim@fluendo.com>
11684 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11686 * plugins/elements/gstqueue.c: (gst_queue_chain):
11687 Recheck queue filledness after signalling the overrun when we're about
11688 to leak downstream because we released the lock when emitting the signal
11689 and the queue could be empty again. Fixes #352345.
11691 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11693 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11694 Fix refcounting here too, just like we did for _new_valist() a few
11695 days ago (#357180) (thanks to René Stadler). Also remove all those
11696 'Since: 0.9' from the gtk-doc blobs.
11698 * tests/check/libs/controller.c: (controller_refcount_new_list),
11699 (gst_controller_suite):
11700 Unit test for the above.
11702 2006-10-10 Wim Taymans <wim@fluendo.com>
11704 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11706 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11707 (gst_pad_save_thyself):
11709 Write pad direction in XML output. Fixes #345496.
11711 2006-10-10 Wim Taymans <wim@fluendo.com>
11713 Patch by: René Stadler <mail at renestadler dot de>
11715 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11716 (gst_controller_new_list), (_gst_controller_dispose),
11717 (_gst_controller_finalize), (_gst_controller_class_init):
11718 Take ref to controlled object so that it cannot disappear.
11721 2006-10-10 Wim Taymans <wim@fluendo.com>
11723 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11724 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11725 (gst_check_teardown_sink_pad):
11726 Activate/deactivate pads in setup/teardown respectively.
11728 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11730 Patch by: Josep Torra Valles <josep@fluendo.com>
11733 Cast values when making gstenumtypes.h. This pacifies Forte
11734 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11735 in the enumeration.
11737 2006-10-09 Wim Taymans <wim@fluendo.com>
11739 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11740 Rename some more @cur to @start to fix docs.
11742 * gst/gstsegment.c: (gst_segment_set_seek):
11744 time and start must always stay in sync as defined in design doc.
11746 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11747 Rename param to fix docs.
11749 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11750 Check that start and time are in sync.
11752 * tests/check/pipelines/parse-launch.c:
11753 (gst_parse_test_element_change_state):
11754 Activate pad before adding to the element.
11756 2006-10-09 Wim Taymans <wim@fluendo.com>
11758 * docs/design/part-qos.txt:
11763 Update seek event docs regarding negative rates.
11764 Rename @cur to @start.
11766 * gst/gstsegment.c: (gst_segment_set_seek):
11767 * gst/gstsegment.h:
11768 Update set_seek docs regarding negative rates.
11769 Correctly update last_stop to @stop when dealing with negative
11771 Rename @cur to @start.
11773 * tests/check/gst/gstpad.c: (GST_START_TEST):
11774 Activate pads before trying to use them.
11776 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11777 (gst_segment_suite):
11778 Add simple check for segments and negative rates.
11780 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11782 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11783 * gst/gsttaglist.h:
11784 * docs/gst/gstreamer-sections.txt:
11785 API: add gst_tag_list_is_empty() (#360467).
11787 * tests/check/gst/gsttag.c: (GST_START_TEST):
11790 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11792 * gst/gstmessage.h:
11793 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11794 a value that doesn't fit on enumeration.
11796 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11798 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11799 Remove local debugging system and use Gstreamer's instead.
11801 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11803 Patch by: Josep Torra Valles <josep@fluendo.com>
11805 * common/m4/gst-error.m4:
11806 Disable warning of statement not reached on Forte.
11807 * gst/gstmessage.h:
11808 Fix warning on Forte (value doesn't fit on enumeration).
11809 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11810 Fix warning on Forte (value doesn't fit on enumeration).
11811 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11812 DEBUG macro says it takes minimum of 2 args and so Forte
11813 complains about the use with just 1 arg.
11814 * plugins/elements/gstfdsink.c:
11815 * plugins/elements/gstfdsrc.c:
11816 * plugins/elements/gstfilesink.c:
11817 * plugins/elements/gstfilesrc.c:
11818 Use correct return type for the uri handler implementations.
11820 All these fix warnings in Forte. Fixes bug #360860.
11822 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11824 * gst/gstelement.h:
11825 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11826 format string, so don't use G_GNUC_PRINTF for those versions.
11828 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11830 * gst/gsttaglist.c: (gst_is_tag_list):
11831 * gst/gsttaglist.h:
11832 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11834 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11835 Small test for the above.
11837 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11839 * gst/gsttaglist.h:
11840 Less tabs, more spaces.
11842 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11845 Those two function declarations do actually belong there, revert
11846 commit from yesterday that turned them intro macros.
11848 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11850 Patch by: Josep Torra Valles <josep@fluendo.com>
11852 * gst/gst.c: (gst_init_get_option_group):
11853 Fix empty declaration and type mismatch.
11854 * gst/gstbin.c: (gst_bin_change_state_func):
11856 * gst/gstelement.c: (gst_element_continue_state),
11857 (gst_element_set_state_func), (gst_element_change_state),
11858 (gst_element_change_state_func):
11859 Fix type mismatches.
11860 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11861 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11862 Cast as appropriate.
11863 * gst/gstobject.c: (gst_class_signal_connect):
11864 Cast as appropriate. The function pointer parameter really
11865 has the wrong type but would break API if we change it.
11867 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11868 order of including string.h.
11869 * gst/gstutils.c: (gst_element_state_get_name):
11870 Remove unreachable line.
11871 * gst/gstxml.c: (gst_xml_parse_doc):
11873 All these caught by Forte.
11875 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11877 Patch by: Josep Torra Valles <josep@fluendo.com>
11879 * common/m4/gst-error.m4:
11881 We need to disable warnings on Forte for empty declarations
11882 due to gst-indent adding ;s to lines that just use macros
11883 where the macro actually doesn't need a ; at end to end
11886 2006-10-06 Wim Taymans <wim@fluendo.com>
11888 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11889 (gst_file_sink_close_file), (gst_file_sink_event),
11890 (gst_file_sink_render):
11891 Add some FIXME for the NEWSEGMENT handling.
11893 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11895 * gst/parse/grammar.y:
11896 Remove static function gst_parse_element_lock as all it does
11897 is return. Looks like cruft from 0.8.
11899 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11901 Patch by: Josep Torra Valles <josep@fluendo.com>
11903 * common/m4/gst-error.m4:
11905 * libs/gst/net/Makefile.am:
11906 Fix a compilation issue with Forte on Solaris. inet_aton is in
11909 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11911 * gst/gstpad.c: (pre_activate):
11912 * gst/gstregistry.c: (gst_registry_scan_path_level):
11913 * gst/gstregistryxml.c: (load_plugin):
11914 * libs/gst/controller/gstcontroller.c:
11915 (gst_controlled_property_set_interpolation_mode):
11916 * libs/gst/dataprotocol/dataprotocol.c:
11917 (gst_dp_packet_from_event_1_0):
11918 * libs/gst/net/gstnetclientclock.c:
11919 (gst_net_client_clock_observe_times):
11920 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11923 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11926 * docs/gst/gstreamer-sections.txt:
11927 * gst/gstconfig.h.in:
11928 * gst/gstelement.h:
11930 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11931 whether we can use G_GNUC_PRINTF in other header files and at
11932 least check the printf format/arguments of debug messages and
11933 GST_ELEMENT_ERROR messages when the printf extension is not
11935 Replace more tabs with spaces in gstinfo.h and remove two spurious
11936 function declarations in GST_DISABLE_DEBUG part with macros.
11938 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11940 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11941 More docs for the sync-message signal (mention that it is not
11942 emitted by default); log message structures of messages posted on
11945 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11947 * gst/gst.c: (ensure_current_registry_forking):
11948 Use a pipe pair to receive status results from the forked child, and
11949 ignore the result from waitpid. Fixes #355499
11951 2006-10-02 Wim Taymans <wim@fluendo.com>
11953 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11954 (gst_ghost_pad_suite):
11957 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11960 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11962 2006-10-02 Edward Hervey <edward@fluendo.com>
11964 * docs/design/part-block.txt:
11965 Further explain the use of flushing on blocked pads.
11966 * docs/gst/gstreamer-sections.txt:
11967 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11968 (gst_pad_push_event):
11970 Added new GstPadFlag : GST_PAD_BLOCKING.
11971 Adds the notion of pads really blocking, which enables to properly
11972 handle FLUSH_START/FLUSH_STOP events on blocked pads.
11974 API: gst_pad_is_blocking()
11975 API: GST_PAD_IS_BLOCKING() macro
11976 API: GST_PAD_BLOCKING GstPadFlag
11978 2006-10-02 Wim Taymans <wim@fluendo.com>
11980 Patch by: mrcgran <mrc.gran at gmail dot com>
11982 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11983 Filter the proxied caps against the padtemplate if we have one.
11985 * gst/gstquery.c: (gst_query_new_segment):
11986 Add include for gstinfo.h so that compilation with
11987 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11989 2006-10-02 Wim Taymans <wim@fluendo.com>
11991 Patch by: Alessandro Decina <alessandro at nnva org>
11993 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11994 (gst_file_sink_set_location), (gst_file_sink_open_file),
11995 (gst_file_sink_close_file), (gst_file_sink_event),
11996 (gst_file_sink_render):
11997 Set file to NULL when closing filesink so that we can set a new filename
11998 in READY. Fixes #358613.
12000 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
12002 Patch by: Alessandro Decina <alessandro at nnva org>
12004 * gst/gstevent.c: (_gst_event_copy):
12005 Fix gst_mini_object_make_writable() and gst_event_copy() for events
12006 with event structures by setting the parent refcount address of the
12007 copied structure to the address of the refcount member of the newly
12008 copied event rather than the address of the refcount member of the
12009 original event. Fixes #358737.
12011 * tests/check/gst/gstevent.c: (GST_START_TEST):
12012 Unit test for the above.
12014 2006-09-29 Stefan Kost <ensonic@users.sf.net>
12016 * docs/design/Makefile.am:
12017 Dist some more files.
12019 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12021 * tests/check/libs/controller.c: (GST_START_TEST),
12022 (gst_controller_suite):
12023 Add test for the previous fix; add some more tests
12024 for correct refcounting behaviour; fix a few leaks
12025 in test cases; call gst_controller_init() at start
12028 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
12030 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12031 (gst_controller_set_from_list):
12032 Don't g_return_val_if_fail() on timed values with invalid timestamps
12033 inside a critical section without unlocking the mutex. Spotted by
12034 René Stadler. (#357617)
12035 Also, fix up refcounting properly: when returning an existing
12036 controller, we should increase the reference only once and not
12037 once per property and when trying to control a property again
12038 we should also increase the refcount.
12040 2006-09-29 Wim Taymans <wim@fluendo.com>
12042 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12043 * libs/gst/net/gstnettimeprovider.c:
12044 (gst_net_time_provider_thread):
12045 Stop reading commands when EOF as well.
12047 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12048 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12049 * plugins/elements/gstidentity.c: (gst_identity_class_init):
12050 Unify description of the dump property.
12052 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12054 * tests/examples/manual/.cvsignore:
12055 OK, so it's actually cvsignore that needs changing. Stop laughing.
12057 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12059 * tests/examples/manual/Makefile.am:
12060 Gah, declare vars *before* using them
12062 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12064 * gst/gst.c: (init_pre), (scan_and_update_registry),
12065 (ensure_current_registry_nonforking),
12066 (ensure_current_registry_forking), (ensure_current_registry),
12067 (init_post), (gst_debug_help), (gst_deinit):
12068 * gst/gst_private.h:
12069 * gst/gstregistry.c: (gst_registry_finalize),
12070 (gst_registry_remove_features_for_plugin_unlocked),
12071 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12072 (gst_registry_scan_path),
12073 (_priv_gst_registry_remove_cache_plugins),
12074 (_priv_gst_registry_cleanup):
12075 * gst/gstregistry.h:
12076 Re-commit the registry changes, along with an extra fix:
12077 When a cached plugin is encountered at a different file path,
12078 update the stored path in the registry cache so that the parent
12079 process knows where it actually is now when it re-reads the registry
12080 cache. Fixes the thing that broke distcheck with the previous commit.
12082 * tests/check/Makefile.am:
12083 Clean up files named 'core' too when running make clean.
12085 * tests/examples/manual/Makefile.am:
12086 Set up a registry path for running these tests, and clean it properly
12089 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12092 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12093 want gmodule-no-export-2.0.pc instead so that we don't drag in
12094 --export-dynamic on every project that links to GStreamer.
12096 Also, make our export regex only match the start of symbols, rather
12097 than any symbol that contains '_gst' somewhere.
12099 * libs/gst/check/Makefile.am:
12100 The libgstcheck we build does however need export-dynamic, as it
12101 produces some symbols that don't match our _gst... style regex.
12104 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12106 * gst/gst.c: (init_pre), (scan_and_update_registry),
12107 (ensure_current_registry_nonforking),
12108 (ensure_current_registry_forking), (ensure_current_registry),
12109 (init_post), (gst_debug_help), (gst_deinit):
12110 * gst/gst_private.h:
12111 * gst/gstregistry.c: (gst_registry_finalize),
12112 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12113 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12114 (_gst_registry_cleanup):
12115 * gst/gstregistry.h:
12116 Revert previous change until I figure out why it breaks distcheck.
12118 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12120 * gst/gst.c: (init_pre), (scan_and_update_registry),
12121 (ensure_current_registry_nonforking),
12122 (ensure_current_registry_forking), (ensure_current_registry),
12123 (init_post), (gst_debug_help), (gst_deinit):
12125 Make init_pre and init_post take the full complement of GOptionFunc
12126 args so they can return useful GErrors. Make the registry updating
12129 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12130 ensure that the registry we're about to write out doesn't contain
12131 stale information about old-deleted plugin files.
12133 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12134 that deletion of plugin files is considered a registry change.
12136 * gst/gst_private.h:
12137 * gst/gstregistry.c: (gst_registry_finalize),
12138 (gst_registry_remove_features_for_plugin_unlocked),
12139 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12140 (gst_registry_scan_path),
12141 (_priv_gst_registry_remove_cache_plugins),
12142 (_priv_gst_registry_cleanup):
12143 * gst/gstregistry.h:
12144 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12145 by adding _priv prefix, so that they won't appear in the global
12146 symbol table. They still do atm though because of #318031. Move the
12147 prototypes to gst_private.h
12149 When removing a plugin, remove all features for that plugin too.
12152 2006-09-27 Wim Taymans <wim@fluendo.com>
12154 * docs/random/moving-plugins:
12155 Make it clear that the "compiled-in descriptions" really mean
12156 the element details.
12158 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12159 (gst_base_sink_wait_preroll):
12162 * docs/libs/gstreamer-libs-sections.txt:
12163 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12164 (gst_base_src_get_range), (gst_base_src_activate_push):
12165 * libs/gst/base/gstbasesrc.h:
12166 Added function to block while waiting for PLAYING, this function
12167 is used by live sources that block on the clock.
12168 API: gst_base_src_wait_playing()
12170 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12172 Patch by: Peter Kjellerstedt <pkj at axis com>
12175 gst-element-check.m4 is generated and should therefore be
12176 copied from the build dir rather than the source dir (#357593).
12177 'make distcheck' hasn't noticed this because we were disting
12178 the file as well, so stop doing that.
12180 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12182 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12183 Add some tests for gst_caps_intersect().
12185 * tools/gst-launch.c: (event_loop):
12186 Print all buffering percentages we get, even the 100% one.
12188 2006-09-26 Wim Taymans <wim@fluendo.com>
12190 * tools/gst-inspect.c: (print_element_properties_info),
12191 (print_signal_info):
12192 Fix printing of flags to match the look of enums.
12194 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12196 * gst/gstelementfactory.c:
12197 Fix typo in docs blurb.
12199 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12201 * gst/gsturi.c: (search_by_entry):
12202 Don't assert/crash here if a uri handler doesn't return any
12203 supported protocols. The list of protocols could be generated
12204 dynamically at runtime or at plugin registration, and an error
12205 in the underlying library shouldn't be fatal (#353301).
12207 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12210 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12211 (spotted by Peter Kjellerstedt).
12213 2006-09-23 Wim Taymans <wim@fluendo.com>
12215 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12217 * libs/gst/base/gstbasesrc.c:
12218 (gst_base_src_default_check_get_range), (gst_base_src_start),
12219 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12220 (gst_base_src_change_state):
12221 Match _start/_stop calls in the activate functions. Remove redundant
12222 _stop call from the state change function. Fixes #356910.
12223 Turn failure DEBUG into ERROR.
12225 2006-09-22 Wim Taymans <wim@fluendo.com>
12227 * docs/design/part-buffering.txt:
12228 * gst/gstmessage.c: (gst_message_new_buffering),
12229 (gst_message_parse_buffering):
12230 Update docs about buffering.
12232 * docs/design/part-trickmodes.txt:
12235 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12237 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12238 (gst_controller_new_list):
12239 Ref instances when returning them again (fixes #357180)
12241 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12243 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12244 Don't forget to release proxy lock when there's an error.
12246 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12249 Add extra initialisers for Caps things, to fix some plugin warnings
12252 2006-09-18 Wim Taymans <wim@fluendo.com>
12254 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12255 Also set template on the internal pad so that a getcaps from the
12256 target pad returns the template caps.
12258 2006-09-18 Wim Taymans <wim@fluendo.com>
12260 * gst/gstelement.c: (gst_element_post_message),
12261 (gst_element_dispose):
12262 Use _DEBUG_OBJECT some more.
12264 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12267 * tools/gst-launch.c: (main):
12268 If the toplevel element is not a GstPipeline, it must be put in a
12269 pipeline so that a bus and clock is selected.
12271 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12273 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12274 JITTER, RATE, and LATENCY query should be handled by the
12275 default case and not by the CONVERT query code.
12277 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12279 * gst/gstformat.c: (gst_format_register):
12280 Fix locking order (must take lock before using n_values).
12282 * gst/gstvalue.c: (gst_value_serialize_enum),
12283 (gst_value_deserialize_enum_iter_cmp),
12284 (gst_value_deserialize_enum):
12285 Fix serialisation/deserialisation of custom registered GstFormats.
12287 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12288 Unit test for custom format serialisation/deserialisation.
12290 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12292 * docs/pwg/building-boiler.xml:
12293 * plugins/elements/gstcapsfilter.c:
12294 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12297 2006-09-16 Edward Hervey <edward@fluendo.com>
12299 * libs/gst/base/gstbasetransform.c:
12300 (gst_base_transform_buffer_alloc):
12301 Check if requested caps are the same as the sinks caps IF
12302 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12304 This fixes the renegotiation issues stated in #352827.
12306 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12309 * docs/manual/advanced-autoplugging.xml:
12310 * tests/examples/Makefile.am:
12311 * tests/examples/manual/.cvsignore:
12312 * tests/examples/manual/Makefile.am:
12313 * tests/examples/manual/extract.pl:
12314 Extract the manual examples again like we used to do.
12317 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12319 * win32/common/config.h:
12322 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12325 Documents how to receive errors.
12327 2006-09-15 Wim Taymans <wim@fluendo.com>
12329 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12330 (event_loop), (main):
12331 Added some comments here and there.
12332 Post an application message when an interrupt is caught instead of doing
12333 an uncontrolled state change.
12334 Clean up the event loop.
12335 Handle buffering messages, pause/resume the pipeline.
12336 Make shutdown because of an interrupt more reliable.
12338 2006-09-15 Wim Taymans <wim@fluendo.com>
12340 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12341 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12342 (gst_base_sink_preroll_object):
12343 Make sure that our internal state is correct when we commit our state
12344 asynchronously. This solves a race where a state change to PLAYING
12345 could cause the sink to remain blocked in preroll in some situations.
12347 2006-09-15 Wim Taymans <wim@fluendo.com>
12349 * tools/gst-inspect.c: (print_element_properties_info),
12350 (print_signal_info):
12351 List flags as hex so it's easier to deal with.
12353 2006-09-15 Wim Taymans <wim@fluendo.com>
12355 * docs/libs/gstreamer-libs-sections.txt:
12356 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12357 (gst_base_sink_do_sync):
12358 * libs/gst/base/gstbasesink.h:
12359 Expose logic to wait for preroll so that subclasses such as audiosink
12360 can also use this method.
12361 API: gst_base_sink_wait_preroll()
12363 2006-09-15 Wim Taymans <wim@fluendo.com>
12365 * gst/gstobject.c: (gst_object_set_parent):
12366 * gst/gstpipeline.c: (do_pipeline_seek):
12367 Small cleanups in docs and code.
12369 * gst/gstsegment.c: (gst_segment_clip):
12370 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12371 if stop == start and start is in the segment, no clipping should be
12372 done. Also add a test for this.
12374 2006-09-15 Wim Taymans <wim@fluendo.com>
12376 * docs/design/part-buffering.txt:
12377 * docs/gst/gstreamer-sections.txt:
12378 * gst/gstmessage.c: (gst_message_new_buffering),
12379 (gst_message_parse_buffering):
12380 * gst/gstmessage.h:
12381 Added methods to create and parse BUFFERING messages.
12382 Added preliminary docs about buffering.
12383 API: gst_message_new_buffering
12384 API: gst_message_parse_buffering
12386 2006-09-06 Wim Taymans <wim@fluendo.com>
12389 Update documentation.
12391 * gst/gstelement.c: (gst_element_class_init),
12392 (gst_element_release_request_pad), (gst_element_set_clock),
12393 (gst_element_get_index), (gst_element_add_pad),
12394 (gst_element_remove_pad), (gst_element_get_random_pad),
12395 (gst_element_send_event), (gst_element_get_query_types),
12396 (gst_element_query), (gst_element_post_message),
12397 (gst_element_message_full), (gst_element_continue_state),
12398 (gst_element_lost_state), (gst_element_save_thyself),
12399 (gst_element_restore_thyself):
12400 Documentation updates.
12401 Rename last bit of the new-pad -> pad-added signal rename.
12402 Fix the case where an element query would only work if the source
12404 Avoid some useless type checking in message handling.
12409 Documentation updates.
12411 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12413 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12414 add an INFO line for when we actually update the fd
12416 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12421 === release 0.10.10 ===
12423 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12426 releasing 0.10.10, "Pais"
12428 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12430 * docs/manual/advanced-position.xml:
12431 Fix typo in sample code.
12433 2006-09-05 Wim Taymans <wim@fluendo.com>
12435 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12436 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12437 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12438 * libs/gst/net/gstnetclientclock.h:
12439 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12440 * libs/gst/net/gstnettimepacket.h:
12441 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12442 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12443 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12444 * libs/gst/net/gstnettimeprovider.h:
12445 Make stuff compile on windows. Fixes #345295.
12447 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12449 * gst/gst.c: (ensure_current_registry_forking):
12450 Print better details when child was terminated by signal.
12452 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12454 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12455 Print a warning rather than g_assert() if a plugin feature
12456 is a URI handler but returns no protocols (#353976).
12458 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12460 * docs/random/moving-plugins:
12463 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12465 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12466 Fix locking order, handle NULL function values properly.
12471 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12472 Initialise variable before using it and fix debug statement to
12473 print the address of the function rather than the address of the
12474 variable on the stack holding the address of the function.
12476 2006-09-01 Wim Taymans <wim@fluendo.com>
12478 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12479 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12480 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12481 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12482 (gst_ghost_pad_parent_unset),
12483 (gst_ghost_pad_internal_do_activate_push),
12484 (gst_ghost_pad_internal_do_activate_pull),
12485 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12486 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12487 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12488 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12489 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12490 (gst_ghost_pad_new_no_target_from_template),
12491 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12493 Avoid needless typechecking in macros.
12494 Since the internal pad is always present and never changes, there is
12495 no need to locking or ref when retrieving it.
12496 Improve debugging a bit.
12497 Handle link errors when setting the target. Fixes #341029.
12499 2006-09-01 Wim Taymans <wim@fluendo.com>
12501 * docs/libs/gstreamer-libs-sections.txt:
12502 * docs/plugins/gstreamer-plugins-sections.txt:
12503 Fix docs some more.
12505 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12506 (gst_collect_pads_event):
12507 * libs/gst/base/gstcollectpads.h:
12508 Documentation updates.
12509 Free queued buffer when removing a pad.
12511 2006-08-31 Michael Smith <msmith@fluendo.com>
12513 * gst/gstutils.c: (gst_element_link_pads),
12514 (gst_element_link_pads_filtered):
12515 Ensure that we set a capsfilter to NULL if we failed to link it
12516 when doing filtered linking, to avoid criticals.
12518 No need to check for unreffing srcpad, which is explicly NULLed
12519 above (a trivial code cleanup).
12521 2006-08-31 Wim Taymans <wim@fluendo.com>
12523 * docs/design/part-gstghostpad.txt:
12524 Update ascii art in documentation.
12526 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12527 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12528 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12529 (gst_ghost_pad_internal_do_activate_push),
12530 (gst_ghost_pad_internal_do_activate_pull),
12531 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12532 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12533 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12534 (gst_ghost_pad_set_target):
12535 Small cleanups and leak fixes.
12536 Remove some checks now that the internal pad is never NULL.
12537 Fix the case where linking pads without a target would create nasty
12538 criticals. Fixes #341029.
12539 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12540 value of _set_target().
12542 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12543 (gst_ghost_pad_suite):
12544 Some more tests for creating and linking untargeted ghostpads.
12546 2006-08-31 Edward Hervey <edward@fluendo.com>
12548 * docs/gst/gstreamer-sections.txt:
12549 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12550 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12551 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12552 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12553 (gst_ghost_pad_new_from_template),
12554 (gst_ghost_pad_new_no_target_from_template):
12555 * gst/gstghostpad.h:
12556 Refactored *_new() functions.
12557 Templates are now used as a g_object_new() parameter.
12558 Use template in _do_getcaps() if we don't have a target.
12559 Small documentation cleanups.
12560 Added two new constructors:
12561 gst_ghost_pad_new_from_template()
12562 gst_ghost_pad_new_no_target_from_template()
12563 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12564 (gst_ghost_pad_suite):
12565 Added tests for new ghostpad instanciation functions.
12567 API additions: gst_ghost_pad_new_from_template,
12568 gst_ghost_pad_new_no_target_from_template
12570 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12572 * docs/random/ensonic/profiling.txt:
12573 Ideas about qos profiling.
12575 2006-08-29 Wim Taymans <wim@fluendo.com>
12577 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12581 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12584 Improve and detypofy docs.
12586 * tests/check/Makefile.am:
12587 * tests/check/gst/.cvsignore:
12588 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12589 Add a basic test suite for GstXML.
12591 2006-08-29 Wim Taymans <wim@fluendo.com>
12593 * gst/gstelement.c: (activate_pads), (clear_caps),
12594 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12595 Clear the pad caps when the element shut down all of the pads and
12596 is not streaming data that could modify the caps.
12599 2006-08-28 Michael Smith <msmith@fluendo.com>
12601 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12602 Revert previous change; I misunderstood single-segment mode.
12604 2006-08-28 Michael Smith <msmith@fluendo.com>
12606 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12607 Unset DISCONT on buffers when using single-segment mode.
12609 2006-08-28 Wim Taymans <wim@fluendo.com>
12611 * gst/gstcaps.c: (gst_caps_merge_structure):
12613 Fix docs and indentation again.
12615 * tests/check/gst/gstquery.c: (GST_START_TEST):
12616 Fix leak in tests and add some more tests.
12618 2006-08-28 Edward Hervey <edward@fluendo.com>
12620 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12621 Inform GstSegment of the last stop position in order for the current
12622 segment to have a proper duration if it doesn't have a specific stop
12623 position from which a duration could be calculated.
12624 This bug was noticeable when a non-flushing, non-update new segment was
12625 followed by another segment (all buffers from the new segment were being
12628 2006-08-28 Wim Taymans <wim@fluendo.com>
12630 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12631 Small comment update.
12633 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12634 (gst_identity_transform_ip):
12635 Drop-probability is broken, mention this in the code with a
12636 FIXME and also in the property description.
12637 Make silent also be silent about the drop messages.
12639 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12641 * docs/manual/appendix-win32.xml:
12642 Remove mention of popt, we don't depend on that any
12643 longer (#353136). Add some comments pointing out that
12644 this section is slightly outdated.
12646 2006-08-28 Wim Taymans <wim@fluendo.com>
12648 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12650 * gst/gstquery.c: (gst_query_new_segment):
12651 * tests/check/gst/gstquery.c: (GST_START_TEST):
12652 Initialize variables when creating a new segment query.
12655 2006-08-28 Wim Taymans <wim@fluendo.com>
12657 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12659 * gst/gstelement.c: (gst_element_get_bus):
12660 * tests/check/gst/gstelement.c: (GST_START_TEST):
12661 Check for NULL before _reffing the bus. Fixes #353122.
12663 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12665 * docs/manual/basics-bus.xml:
12666 Docs update: fix wrong callback return value explanation; add
12667 some lines about the implicit relationship between main loop
12668 and main context; remove duplicate main loop variable declaration.
12670 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12672 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12673 Don't leak caps in unit test; add a few more simple
12676 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12678 * docs/gst/gstreamer-sections.txt:
12679 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12680 (gst_caps_structure_is_subset), (gst_caps_merge),
12681 (gst_caps_merge_structure):
12683 * libs/gst/base/gstbasetransform.c:
12684 (gst_base_transform_transform_caps):
12685 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12686 implement caps merging (fixes #352580)
12688 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12690 * tools/Makefile.am:
12691 * tools/gst-plot-timeline.py:
12692 add debug-log plotting developer tool (#340674)
12694 2006-08-23 Wim Taymans <wim@fluendo.com>
12696 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12697 (gst_pad_stop_task):
12698 Improve debugging for task functions.
12700 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12701 (gst_task_start), (gst_task_pause), (gst_task_join):
12702 Make sure that the task function started and finished after a
12704 Don't try to push the task function on the threadpool multiple
12706 Improve the g_warning message with some useful suggestions
12707 about how to fix the problem.
12709 2006-08-23 Wim Taymans <wim@fluendo.com>
12711 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12712 Handle RESYNC correctly in _proxy_getcaps.
12714 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12716 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12717 (gst_xml_parse_memory), (gst_xml_get_element):
12718 Chain up to parent class in dispose function and also
12719 unref the elements in the toplevel_elements GList.
12720 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12721 Always return a reference in gst_xml_get_element() rather
12722 than only sometimes.
12724 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12725 Don't leak GstXml object.
12727 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12729 * docs/gst/gstreamer-sections.txt:
12730 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12733 * libs/gst/base/gstbasetransform.c:
12734 (gst_base_transform_transform_caps):
12735 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12738 2006-08-21 Edward Hervey <edward@fluendo.com>
12740 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12741 Implement GObject::dispose virtual method in GstXML so we can free the
12742 top_elements GList.
12744 2006-08-21 Wim Taymans <wim@fluendo.com>
12746 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12747 (gst_buffer_create_sub):
12748 Copy duration/offset_end/caps when creating a subbuffer of the
12750 Make the subbuffer read-only when we make the metadata writable for
12751 now. Fixes #351768.
12753 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12754 Added check for metadata copy when creating subbuffers.
12756 2006-08-21 Edward Hervey <edward@fluendo.com>
12758 * libs/gst/base/gstbasetransform.c:
12759 (gst_base_transform_buffer_alloc):
12760 Only call downstream buffer_alloc if transform element is passthrough
12761 or always_in_place. Closes #350449.
12763 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12766 ChangeLog surgery to add comments to previous changes
12768 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12773 * gst/gstpad.c: (gst_pad_set_active):
12774 Be more verbose in the log
12776 * libs/gst/base/gstbasetransform.c:
12777 (gst_base_transform_transform_caps):
12778 Simplify caps to get rid of duplicates, fixes #345444
12780 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12784 Use these optimizations only internally.
12786 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12788 * gst/gstvalue.c: (gst_value_compare_list),
12789 (gst_value_compare_fraction_range),
12790 (gst_value_intersect_fraction_fraction_range),
12791 (gst_value_intersect_fraction_range_fraction_range),
12792 (gst_value_subtract_fraction_fraction_range),
12793 (gst_value_subtract_fraction_range_fraction_range),
12794 (gst_value_get_compare_func), (gst_value_compare),
12795 (gst_value_compare_with_func):
12797 Saves the expensive lookup of the compare function in many cases
12800 2006-08-18 Edward Hervey <edward@fluendo.com>
12802 * tests/check/gst/gstinfo.c: (gst_info_suite):
12803 Disable test that require gstdebug if it wasn't built in core.
12805 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12807 * docs/random/ensonic/logging.txt:
12810 * gst/gstinfo.c: (gst_debug_log_default):
12811 reorder fields, save some columns, add optional color codes for log
12814 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12816 * docs/random/ensonic/logging.txt:
12817 add ideas about making the logs a bit more useful
12819 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12821 * docs/pwg/advanced-events.xml:
12822 * docs/pwg/titlepage.xml:
12823 Update for 0.10 API (#340627). Add myself
12826 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12828 * docs/libs/gstreamer-libs-docs.sgml:
12829 * docs/libs/gstreamer-libs-sections.txt:
12830 * libs/gst/check/gstbufferstraw.c:
12831 Make gstcheck stuff show up in docs (still needs to
12832 be documented properly though).
12834 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12836 * docs/gst/gstreamer-sections.txt:
12838 * gst/gst.c: (init_post):
12839 * gst/gst_private.h:
12840 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12842 * gst/gstquery.c: (gst_query_new_position),
12843 (gst_query_set_position), (gst_query_parse_position),
12844 (gst_query_new_duration), (gst_query_set_duration),
12845 (gst_query_parse_duration), (gst_query_new_convert),
12846 (gst_query_set_convert), (gst_query_parse_convert),
12847 (gst_query_new_segment), (gst_query_set_segment),
12848 (gst_query_parse_segment), (gst_query_new_seeking),
12849 (gst_query_set_seeking), (gst_query_parse_seeking):
12850 Add internal helpers for pre-registering quarks from static strings
12851 and using the quark values directly instead of looking them up when
12852 creating and parsing queries. Can be used for event construction too.
12855 2006-08-16 Wim Taymans <wim@fluendo.com>
12860 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12862 * gst/gstutils.c: (gst_util_set_value_from_string):
12863 Fix memleak (#351502).
12865 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12866 Add unit test for most of gst_util_set_value_from_string()
12867 (not that one would want to encourage use of this function).
12869 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12871 * libs/gst/check/gstcheck.h:
12872 Use const gchar * variables in fail_unless_equals_string
12873 macro to avoid compiler warnings (and don't use tabs for
12876 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12878 * tools/gst-launch.c: (print_tag):
12879 More space on the left for the tag names, to cater
12880 for the 'extended comment' tag (not touching the
12881 string for the first line since it's translated).
12883 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12885 * libs/gst/check/gstcheck.h:
12886 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12887 print something when they fail.
12889 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12891 * docs/gst/gstreamer-sections.txt:
12892 * gst/gsttaglist.c: (_gst_tag_initialize):
12893 * gst/gsttaglist.h:
12894 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12895 Also change merge function for GST_TAG_COMMENT to
12898 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12900 * gst/gstinfo.c: (gst_debug_print_object):
12901 Make GST_PTR_FORMAT print messages as well.
12903 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12904 (GST_START_TEST), (gst_info_suite):
12907 2006-08-14 Edward Hervey <edward@fluendo.com>
12909 * gst/gstelementfactory.c: (gst_element_register):
12910 If the GstElementClass doesn't have a GstElementDetails with all fields
12911 filled up correctly (longname, description AND author), then error out
12912 nicely instead of crashing.
12914 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12916 * gst/gststructure.c:
12917 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12920 Expand on the difference between arrays and lists as we use them.
12922 2006-08-14 Wim Taymans <wim@fluendo.com>
12924 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12925 If the parent state change function failed, don't assume we can safely
12926 stop the source, this will be done when the pads are deactivated.
12928 2006-08-14 Wim Taymans <wim@fluendo.com>
12931 * gst/gsttask.c: (gst_task_join):
12934 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12935 (gst_pad_stop_task):
12936 When pad (de)activation failed for some reason, restore the old
12937 activation mode and set the pad to flushing instead of assuming the
12938 pad is deactivated.
12939 If the _task_join() failed, reinstall the task on the pad so that it can
12940 be stopped later and return an error.
12942 2006-08-11 Andy Wingo <wingo@pobox.com>
12945 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12946 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12947 is only for users of API that don't want to see deprecated
12948 functions in the headers; people that want to compile out
12949 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12950 CFLAGS. Fixes the build of multifdsink, or will soon..
12952 2006-08-11 Wim Taymans <wim@fluendo.com>
12954 * docs/gst/gstreamer-sections.txt:
12955 Add GstClockClass vmethod docs.
12958 Mark #endif with comment for associated #if
12960 * gst/gstclock.c: (gst_clock_id_wait):
12962 Add vmethod wait_jitter to avoid an unneeded _get_time() for
12963 most clock implementations.
12965 Flesh out docs about resolution methods.
12966 API: GstClockClass::wait_jitter
12968 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12969 (gst_system_clock_async_thread),
12970 (gst_system_clock_id_wait_jitter_unlocked),
12971 (gst_system_clock_id_wait_jitter):
12972 Use base class wait_jitter variant for improved performance
12973 due to less clock polling.
12975 2006-08-11 Edward Hervey <edward@fluendo.com>
12977 * gst/gst.c: (gst_init_check), (init_post):
12978 Set gst as being initialized before scanning/updating the registry,
12979 since there might be my python plugin loader that calls gst_init() and
12980 we don't want to loop back in.
12983 2006-08-11 Wim Taymans <wim@fluendo.com>
12985 * docs/design/part-qos.txt:
12986 Bring docs in line with the code. Mostly the sign of the jitter was
12987 wrong in the docs. Fixes #349943.
12990 Fix the docs for the jitter.
12992 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12993 (gst_event_parse_tag), (gst_event_new_buffer_size),
12994 (gst_event_parse_buffer_size), (gst_event_parse_qos),
12995 (gst_event_new_seek), (gst_event_parse_seek),
12996 (gst_event_new_navigation):
12997 Make sure the GstStructure has no parent when creating custom
12999 Add some more argument checking so that we avoid 0.0 rates.
13000 Flesh out the docs for the QoS event some more.
13002 2006-08-11 Wim Taymans <wim@fluendo.com>
13004 * docs/gst/gstreamer-sections.txt:
13005 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
13006 (ensure_current_registry_forking), (ensure_current_registry),
13007 (parse_one_option), (parse_goption_arg), (gst_deinit),
13008 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
13011 Added API and command line option to disable registry forking in
13012 addition to the environment variable.
13013 Constify some static arrays.
13014 Added some more debug.
13015 Don't deinit twice.
13016 API: gst_registry_fork_is_enabled()
13017 API: gst_registry_fork_set_enabled()
13018 API: --gst-disable-registry-fork command line option
13021 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
13023 * gst/gst.c: (gst_init):
13024 Fix typo in error message.
13026 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13028 * libs/gst/controller/gstcontroller.h:
13029 fix ABI size-correction
13031 * tests/check/libs/gdp.c: (gst_dp_suite):
13032 make tests that use deprecated API conditional
13034 2006-08-10 Stefan Kost <ensonic@users.sf.net>
13036 * docs/libs/gstreamer-libs-sections.txt:
13037 * libs/gst/controller/gstcontroller.c:
13038 (_gst_controller_get_property), (_gst_controller_set_property),
13039 (_gst_controller_init), (_gst_controller_class_init):
13040 * libs/gst/controller/gstcontroller.h:
13041 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13042 (gst_object_set_control_rate):
13043 API: add gst_object_{s,g}et_control_rate(), add private data section,
13046 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13047 * libs/gst/dataprotocol/dataprotocol.h:
13048 add deprecation guards to make gtk-doc happy and allow disabling cruft
13050 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
13052 * tests/check/Makefile.am:
13053 * tests/check/gst/.cvsignore:
13054 Let's enable the new unit test as well.
13056 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
13059 * docs/gst/gstreamer-sections.txt:
13060 * gst/gstconfig.h.in:
13061 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13062 (_gst_info_printf_extension_ptr),
13063 (_gst_info_printf_extension_segment):
13064 API: add GST_SEGMENT_FORMAT, which is a printf extension we
13065 register that lets us easily dump GstSegments into debug
13068 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13069 (info_segment_format_printf_extension), (gst_info_suite):
13070 Add simple unit test that logs a bunch of different segments (not
13071 valgrinded at the moment because of leaks in
13072 gst_debug_add_log_function).
13074 2006-08-09 Edward Hervey <edward@fluendo.com>
13076 * libs/gst/base/gstbasetransform.c:
13077 (gst_base_transform_buffer_alloc):
13078 Even if we can't figure out the proper format to request downstream,
13079 call buffer_alloc() downstream with the input parameters without setting
13080 the caps on the srcpad. This will force negotiation in the chain
13084 2006-08-08 Edward Hervey <edward@fluendo.com>
13086 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13087 Unlinking from a pad without a target is now a perfectly valid case
13088 which should NOT raise an assertion.
13089 This case would happen if a linked ghostpad its target set to NULL after
13090 it was previously linked.
13092 2006-08-08 Edward Hervey <edward@fluendo.com>
13094 * tests/check/libs/gdp.c:
13095 Also comment out the test (see below).
13097 2006-08-08 Edward Hervey <edward@fluendo.com>
13099 * tests/check/libs/gdp.c: (gst_dp_suite):
13100 Use the architecture information from config.h and not gcc macros
13101 in order to properly disable a test that fails on PPC64.
13103 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13105 * gst/gstelement.c: (gst_element_remove_pad):
13106 Don't crash printing the warning if the pad has no parent.
13108 2006-08-02 Wim Taymans <wim@fluendo.com>
13110 * libs/gst/dataprotocol/dataprotocol.c:
13111 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13112 (gst_dp_crc), (gst_dp_header_payload_length),
13113 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13114 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13115 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13116 (gst_dp_event_from_packet), (gst_dp_validate_header),
13117 (gst_dp_validate_payload):
13118 Make debug category static
13119 Constify the crc table.
13120 Do some more arg checking in public functions.
13121 Fix some docs and do some small cleanups.
13123 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13124 Add some more checks to see if GDP deals with bogus input.
13126 2006-07-31 Wim Taymans <wim@fluendo.com>
13128 * gst/gstvalue.c: (gst_value_compare_list):
13129 Fix GstValueList comparison code. Fixes #347293.
13131 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13132 Check to test GstValueList comparison.
13134 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13136 * gst/gstelementfactory.c: (gst_element_factory_create):
13137 Remove unnecessary ref/unref pair
13139 * gst/parse/grammar.y:
13140 Make sure to free the parse buffer on all code paths.
13141 Move a g_free up to the error handler where it's easier to see.
13143 * tests/check/gst/gstevent.c: (test_event):
13144 Extending timeout for downstream travelling events to 10 seconds to
13145 hopefully avoid intermittent failure on the buildbots.
13147 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13148 Don't manually set the state of the src element - it will happen as a
13149 natural consequence of the pipeline changing state, and that way it
13150 will do it in the right order too.
13152 2006-07-31 Wim Taymans <wim@fluendo.com>
13154 * libs/gst/base/gstbasetransform.c:
13155 (gst_base_transform_buffer_alloc):
13156 Use OBJECT_LOCK and refcounting to get the pad caps in the
13157 buffer_alloc function because the caps could change while we are
13158 busy with them. Fixes #349105
13160 2006-07-31 Wim Taymans <wim@fluendo.com>
13162 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13163 Protect _PAD_CAPS with OBJECT_LOCK.
13165 2006-07-31 Wim Taymans <wim@fluendo.com>
13167 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13168 (gst_pad_get_property), (gst_pad_activate_pull),
13169 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13170 (gst_pad_set_activate_function),
13171 (gst_pad_set_activatepull_function),
13172 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13173 (gst_pad_set_getrange_function),
13174 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13175 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13176 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13177 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13178 (gst_pad_set_acceptcaps_function),
13179 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13180 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13181 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13182 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13183 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13184 (gst_pad_configure_sink), (gst_pad_configure_src),
13185 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13186 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13187 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13188 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13189 (gst_pad_send_event):
13190 Use _DEBUG_OBJECT when it makes sense.
13191 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13192 Small cleanups and code reflows.
13193 Avoid caps refcounting in _accept_caps.
13194 Refactor alloc_buffer so that the code performed on the peer is in a
13195 separate function. Also if the pad does not implement a buffer alloc
13196 function, we should still check if the pad is flushing before falling
13197 back to the default allocator.
13199 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13201 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13202 Make all uses of identity and fakesink have silent=true to avoid
13203 serialising every passing data structure, which is breaking tests
13204 on FC4 for some unknown reason.
13206 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13208 * gst/parse/Makefile.am:
13209 * gst/parse/grammar.y:
13210 * gst/parse/parse.l:
13211 Reverted previous patch as it required to bump the flex dependency to
13212 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13214 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13216 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13218 * gst/parse/Makefile.am:
13219 * gst/parse/grammar.y:
13220 * gst/parse/parse.l:
13221 push & pop the state of the lexer for reentrant use case
13224 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13226 * libs/gst/base/gstbasesrc.h:
13227 Note in the docs that the ::newsegment vfunc is not actually used by
13230 2006-07-28 Wim Taymans <wim@fluendo.com>
13232 * libs/gst/base/gstcollectpads.c:
13233 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13234 (gst_collect_pads_clear), (gst_collect_pads_flush),
13235 (gst_collect_pads_event), (gst_collect_pads_chain):
13236 When flushing a pad, also clear the queued buffer so that we don't
13237 accidentally use it when we shouldn't.
13238 Fix leaks by inreffing incomming buffer.
13239 Flush out queued buffers in case of errors.
13242 2006-07-28 Wim Taymans <wim@fluendo.com>
13244 * docs/random/phonon-gst:
13245 Random notes about a Phonon backend.
13247 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13249 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13251 * tests/check/libs/gdp.c: (gst_dp_suite):
13252 Take a whack at fixing the ppc compile using a different define to
13253 disable the broken test.
13255 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13256 Remove excess g_print()
13258 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13260 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13261 Oops, meant to uncomment this line too to dampen the noise a bit.
13263 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13265 * gst/parse/grammar.y:
13266 * gst/parse/parse.l:
13267 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13268 (GST_START_TEST), (parse_suite):
13269 Fix some of the leaks exposed by extending the parse-launch testsuite,
13270 and move the 3 I can't figure out into a separate test that won't run
13271 the pipelines unless the appropriate line is uncommented.
13273 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13275 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13276 Requesting 0 bytes before the end of the file should result in
13277 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13280 2006-07-27 Wim Taymans <wim@fluendo.com>
13282 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13283 Fix useless assert, a uint is always positive.
13285 * gst/gststructure.c: (gst_structure_nth_field_name),
13286 (gst_structure_foreach), (gst_structure_map_in_place):
13287 Check input arguments for public functions to avoid obvious crashes.
13289 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13290 * plugins/elements/gstfakesink.h:
13291 Do less useless typechecking.
13293 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13295 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13296 Do not use mmap() by default since there are a number of error
13297 conditions that we would like to handle in a non-fatal way that
13298 will result in a SIGBUS if we use mmap(). Examples: external
13299 devices (USB harddrive, portable music player) being unplugged
13300 while in use; file on mounted CD/DVD that can't be read because
13301 the medium is partly damaged. Fixes #348455 and #348475.
13303 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13306 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13307 rates are a gdouble
13309 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13311 * gst/gstregistry.c:
13312 Move big documentation comment into class section header, so that it
13313 appears in the API docs.
13315 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13317 * docs/gst/gstreamer-sections.txt:
13318 Oops. Commit the docs additions too for new API.
13319 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13321 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13323 * gst/gststructure.c: (gst_structure_id_set),
13324 (gst_structure_id_set_valist):
13325 * gst/gststructure.h:
13326 Add API for setting values into structures without performing
13327 a quark lookup, if the appropriate quark is already known.
13329 API: gst_structure_id_set
13330 API: gst_structure_id_set_valist
13332 * gst/parse/grammar.y:
13333 * gst/parse/parse.l:
13334 Remove some dead code shown by the coverage information.
13335 Don't throw a critical g_warning when encountering a syntax error,
13336 just warn and let the normal error path handle it.
13338 * plugins/elements/gstelements.c:
13339 Bump the rank of filesink up to PRIMARY so that it is preferred over
13340 gnomevfssink for file:// sink uri's
13342 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13343 (GST_START_TEST), (run_delayed_test),
13344 (gst_parse_test_element_base_init),
13345 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13346 (gst_parse_test_element_change_state),
13347 (gst_register_parse_element), (parse_suite):
13348 Beef up the tests for parse syntax to check that more error cases
13349 fail as they are supposed to. Increases the test coverage a bit.
13351 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13353 * docs/manual/basics-elements.xml:
13354 Fix gst_element_link() example.
13357 Mention in API docs that one should usually gst_bin_add()
13358 elements to a bin or pipeline before doing the linking.
13360 2006-07-26 Wim Taymans <wim@fluendo.com>
13362 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13363 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13364 Avoid function call for known types by keeping the buffer and
13365 subbuffer GType global.
13367 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13368 Random silly optimisations in read() path.
13370 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13372 * tools/gst-launch.c: (main):
13373 If the top-level of the parse is a normal bin, it doesn't do the
13374 right logic to run as a top-level element, so place it inside a
13377 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13379 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13380 Remove superfluous g_object_notify() calls, GObject does
13381 that for us automatically.
13383 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13386 on Win32, use dllspec to export the debug category symbols
13388 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13390 * gst/gsttaglist.c: (_gst_tag_initialize):
13391 Allow more than one GST_TAG_IMAGE per taglist.
13393 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13395 * gst/gstminiobject.c:
13397 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13398 (gst_fd_src_create):
13399 log recurring events at LOG level
13400 add more debug for when the fd gets set
13402 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13404 * gst/gstparse.c: (gst_parse_launch):
13405 Also remove reentrance checks if flex is MT safe (#348179)
13406 Fix my empty ChangeLog entry below
13408 2006-07-21 Andy Wingo <wingo@pobox.com>
13410 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13412 * libs/gst/check/Makefile.am
13413 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13414 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13415 * libs/gst/check/gstbufferstraw.h:
13416 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13417 functions, thus proving I am still a GStreamer haxor. OK I wrote
13418 them a long time ago, but anyways.
13420 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13423 * gst/gstparse.c: (gst_parse_launch):
13424 Check for flex version and omit mutex if we have a MT save flex
13427 2006-07-21 Wim Taymans <wim@fluendo.com>
13429 * gst/gstparse.c: (gst_parse_launch):
13430 Protect recursive calls to _parse with a recursive mutex
13433 2006-07-21 Wim Taymans <wim@fluendo.com>
13435 * tests/check/gst/gstpad.c: (GST_START_TEST):
13438 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13440 * gst/gstparse.c: (gst_parse_launch):
13441 Do not hang on recursive usage of gst_parse_launch()
13443 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13445 * gst/gsttaglist.c:
13446 Add some more docs, comments and FIXME 0.11s here and there
13447 and also fix some typos.
13449 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13451 * gst/gstsegment.h:
13452 Convert tabs to spaces for better readability.
13454 2006-07-20 Edward Hervey <edward@fluendo.com>
13456 * tests/check/libs/gdp.c: (gst_dp_suite):
13457 the test_buffer test fails at line 140 on ppc64 at the following
13459 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13460 GST_BUFFER_FLAG_IN_CAPS),
13461 "GST_BUFFER_IN_CAPS flag should have been copied !");
13462 See bug #348114 for more details.
13464 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13466 * docs/pwg/advanced-scheduling.xml:
13468 Fix typos (#348000).
13470 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13472 * docs/pwg/intro-basics.xml:
13473 Fix wrong links (#347927).
13475 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13477 * gst/gstregistry.h:
13478 * gst/gstregistryxml.c: (load_feature),
13479 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13480 * win32/common/config.h:
13481 make --disable-index work (#342564)
13483 2006-07-18 Wim Taymans <wim@fluendo.com>
13485 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13489 The attached patch adds two missing defines to gsttrace.h when tracing
13490 is disabled. It also corrects one existing define.
13493 2006-07-17 Wim Taymans <wim@fluendo.com>
13495 * docs/gst/gstreamer-sections.txt:
13496 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13498 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13499 Add two functions to check and change the SIGSEGV behaviour
13500 when loading plugins.
13501 Don't mess with the SIGSEGV handler when we were told not to.
13503 API: gst_segtrap_is_enabled
13504 API: gst_segtrap_set_enabled
13506 2006-07-14 Wim Taymans <wim@fluendo.com>
13508 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13509 * tests/check/elements/filesrc.c: (GST_START_TEST):
13510 Revert fix for regression in #347408 after release.
13512 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13514 Patch by: Antoine Tremblay <hexa00 at gmail com>
13516 * gst/gstutils.c: (gst_element_unlink):
13517 Free iterator when done (#347311).
13519 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13520 And add a test case for this.
13522 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13525 Bump nano back to CVS
13527 === release 0.10.9 ===
13529 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13532 releasing 0.10.9, "On the road again"
13534 2006-07-13 Wim Taymans <wim@fluendo.com>
13536 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13537 * tests/check/elements/filesrc.c: (GST_START_TEST):
13538 Revert pull-0 fix for release. Disable check. Fixes #347408.
13540 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13542 * libs/gst/dataprotocol/dataprotocol.c:
13543 (gst_dp_event_from_packet_1_0):
13544 Fixes #347337: failure to deserialize event packets with
13545 empty payload (only event type)
13547 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13550 do not install a .c file in the header directory
13552 2006-07-13 Edward Hervey <edward@fluendo.com>
13554 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13555 GhostPad no longer implicitely use the padtemplates of the targets.
13558 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13560 * gst/gstvalue.c: (gst_value_compare_list),
13561 (gst_value_compare_array), (_gst_value_initialize):
13562 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13563 Make GstValueArray comparison be order dependent as designed.
13564 Add checks for value lists and value array comparisons.
13567 2006-07-11 Edward Hervey <edward@fluendo.com>
13569 * gst/gstbin.c: (activate_pads),
13570 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13571 (gst_bin_change_state_func):
13572 (de)activate src pads before calling state_change on the childs.
13573 This is to avoid the case where a src ghostpad is blocked (holding the
13574 stream lock), which would block the deactivation of the ghostpad's
13576 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13577 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13578 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13579 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13580 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13581 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13582 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13583 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13584 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13585 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13586 (gst_ghost_pad_class_init),
13587 (gst_ghost_pad_internal_do_activate_push),
13588 (gst_ghost_pad_internal_do_activate_pull),
13589 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13590 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13591 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13592 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13593 GhostPads now create their internal GstProxyPad at creation (and not
13594 when they're linked, as it was being done previously).
13595 The internal and target pads are linked straight away.
13596 The data will also travel through the other pad in order to make
13597 pad blocking and probes non-hackish (the probe/block now really happens
13598 on the GhostPad and not on the target).
13599 * gst/gstpad.c: (gst_pad_set_blocked_async),
13600 (gst_pad_link_prepare), (gst_pad_push_event):
13601 Remove previous ghostpad cruft.
13602 * gst/gstutils.c: (gst_pad_add_data_probe),
13603 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13604 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13605 (gst_pad_remove_buffer_probe):
13606 Remove previous ghost pad cruft.
13607 Added more detailed debug statements.
13608 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13609 Fix the testsuite for refcounting changes.
13610 The comments about who has references were correct, but the refcount
13611 being checked wasn't the same (!?!).
13615 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13617 * docs/gst/gstreamer-sections.txt:
13618 * gst/gstconfig.h.in:
13619 More docs for configuration options, add docs to gtk-doc.
13621 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13624 * gst/gstconfig.h.in:
13625 * win32/common/config.h:
13626 Fix build when disabling tracing (fixes #344016). Also start to document
13627 the defines that disable the sub-systems.
13629 2006-07-10 Edward Hervey <edward@fluendo.com>
13631 * gst/gst.c: (ensure_current_registry_forking):
13632 let's make valgrind happy...
13634 2006-07-09 Wim Taymans <wim@fluendo.com>
13636 * gst/gstelement.c: (activate_pads),
13637 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13638 Better pad activation code: Reset the collect value too on resync.
13641 2006-07-09 Wim Taymans <wim@fluendo.com>
13643 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13644 (gst_pad_activate_push):
13645 Use some more macros where it makes sense.
13646 Allow pad mode switching instead of asserting. When a pad
13647 is activated in one mode and we activate it in another,
13648 deactivate it first before activating it in a different mode.
13651 2006-07-08 Andy Wingo <wingo@pobox.com>
13653 * tools/gst-launch.c (main): Handle err == NULL.
13655 * gst/gst.c (init_post, ensure_current_registry)
13656 (ensure_current_registry_forking)
13657 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13658 factoring out the registry scanning into separate functions. Don't
13659 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13660 Better environment var name/interface suggestions accepted.
13662 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13664 * gst/gstobject.c: (gst_object_set_name_default),
13665 (gst_object_set_name):
13666 Random micro-optimisation: don't use a hash table
13667 with strings as keys and the usual strdup/strcmp
13668 involved, but rather just use the GQuark of the
13669 type name as key, since it needs to be looked up
13670 anyway to get the type name string.
13672 * tests/check/gst/gstobject.c: (GST_START_TEST):
13675 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13677 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13678 (gst_bin_iterate_all_by_interface):
13679 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13680 GTypes are gulongs and thus the top 4 bytes might be cut
13681 off on some platforms when doing GPOINTER_TO_INT, leading
13682 to invalid GTypes and bad things happening (see RH bug #179654).
13683 Also add a check to make sure the type passed in is really
13686 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13691 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13695 * gst-element-check.m4:
13696 * gst-element-check.m4.in:
13697 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13698 instead of the unversioned gst-inspect (#324176, #168659).
13700 2006-07-06 Wim Taymans <wim@fluendo.com>
13702 * gst/gstmessage.h:
13703 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13706 2006-07-06 Wim Taymans <wim@fluendo.com>
13708 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13709 (gst_base_src_wait), (gst_base_src_update_length),
13710 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13711 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13712 (gst_base_src_loop), (gst_base_src_start),
13713 (gst_base_src_activate_pull):
13715 blocksize == 0 now means the default blocksize when working in push
13717 Remove some pointless asserts in _wait function.
13718 Fix offset/length calculations and EOS handling. We can now pull 0
13719 bytes as well, which is allowed.
13720 use _check_get_range() to decide if we can operate in _pull based
13722 Fix refcounting leak when check_get_range function was not
13724 API GstBaseSrc::blocksize range can be 0 too now (default)
13726 * tests/check/elements/filesrc.c: (GST_START_TEST),
13728 Added check to test _get_range() behaviour.
13730 2006-07-06 Wim Taymans <wim@fluendo.com>
13732 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13733 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13734 (gst_pad_pull_range):
13736 Lots of comments and docs added to the pad functions.
13737 Flesh out the expected behaviour of the get_range() functions.
13739 2006-07-06 Wim Taymans <wim@fluendo.com>
13744 * gst/gstiterator.h:
13748 Remove comma at end of enumerator list.
13750 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13752 * win32/common/libgstbase.def:
13753 * win32/common/libgstdataprotocol.def:
13754 * win32/common/libsgtreamer.def:
13755 Add new exported functions.
13757 2006-07-05 Wim Taymans <wim@fluendo.com>
13759 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13760 Add some more docs here and there.
13762 2006-07-05 Wim Taymans <wim@fluendo.com>
13764 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13765 (gst_base_sink_loop), (gst_base_sink_get_position):
13766 When operating in pull mode update the offset so that we
13769 2006-07-05 Wim Taymans <wim@fluendo.com>
13771 * gst/gstregistryxml.c: (read_string):
13772 Avoid strdup. (will happen in libxml, but hey!)
13775 Add some more docs.
13777 2006-07-05 Wim Taymans <wim@fluendo.com>
13779 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13780 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13781 (gst_buffer_suite):
13782 No point in checking if the size of the subbuffer > 0, the
13783 code handles it correclty as demonstrated by unit test.
13784 Also add a unit test for the zero sized _new_and_alloc and
13785 _copy. Fixes #346663.
13787 2006-07-05 Wim Taymans <wim@fluendo.com>
13789 * libs/gst/base/gstbasetransform.c:
13790 (gst_base_transform_prepare_output_buffer),
13791 (gst_base_transform_buffer_alloc),
13792 (gst_base_transform_handle_buffer):
13793 Make sure the buffer we pass to transform_ip has a refcount of
13794 1 and thus is writable. Fixes #343196
13796 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13798 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13799 (gst_file_src_init), (gst_file_src_set_property),
13800 (gst_file_src_get_property), (gst_file_src_map_region):
13801 * plugins/elements/gstfilesrc.h:
13802 Add "sequential" property, off by default, to use madvise and hint
13803 to the kernel that sequential access is desired.
13804 Touch all retrieved pages by default to ensure they are pulled
13805 into memory. (Closes #345720)
13807 2006-07-03 Wim Taymans <wim@fluendo.com>
13809 * docs/design/part-block.txt:
13810 * docs/design/part-dynamic.txt:
13811 Small docs updates.
13813 2006-07-03 Wim Taymans <wim@fluendo.com>
13815 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13816 (gst_caps_unref), (gst_static_caps_get),
13817 (gst_caps_append_structure):
13818 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13819 Use GSlice when the glib we build against is >= 2.10
13821 2006-07-03 Wim Taymans <wim@fluendo.com>
13823 * gst/gstelement.c: (gst_element_pads_activate):
13824 Small cleanup in pad activation code.
13826 2006-07-03 Wim Taymans <wim@fluendo.com>
13828 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13830 * gst/gst-i18n-app.h:
13831 * gst/gst-i18n-lib.h:
13832 * tools/gst-inspect.c: (print_signal_info):
13833 The attached patch will make the inclusion of gettext.h unconditional in
13834 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13835 libintl.h in tools/gst-inspect.c.
13836 This allows use of --disable-nls again and fixes #344642.
13838 2006-07-03 Edward Hervey <edward@fluendo.com>
13840 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13841 Implement pad blocking on events according to part-block.txt.
13842 More comments on behaviour.
13843 * tests/check/gst/gstevent.c: (test_event):
13844 Send event to peer pad of blocked pad (else it will block).
13846 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13848 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13849 (gst_check_run_suite):
13850 if we get the wrong message, give us the types as string
13851 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13853 * tests/check/elements/filesrc.c: (GST_START_TEST):
13854 add a test for trying to open a non-existing file
13856 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13858 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13859 add a test for adding self
13861 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13863 * libs/gst/check/gstcheck.h:
13864 add some assert_ as alias for fail_unless_*
13865 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13866 increase test coverage
13868 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13871 include lcov.mak for lcov coverage generation
13872 * tools/Makefile.am:
13875 2006-07-02 Edward Hervey <edward@fluendo.com>
13877 * tests/check/elements/.cvsignore:
13880 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13883 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13884 * tests/check/Makefile.am:
13885 clean up gcov files
13887 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13889 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13890 remove gst_caps_simplify; it was not declared and not used
13891 and deprecated in 0.8
13893 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13895 * docs/faq/gst-uninstalled:
13896 don't put empty paths on PYTHONPATH
13897 * docs/gst/gstreamer-sections.txt:
13898 remove some symbols that are not there
13900 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13902 * gst/gstcaps.c: (gst_caps_compare_structures):
13904 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13905 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13908 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13910 * libs/gst/dataprotocol/Makefile.am:
13911 build dataprotocol test by linking to the lib, instead of
13912 compiling the source, so we get coverage
13913 * tests/check/Makefile.am:
13914 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13915 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13916 add a test for filesrc
13918 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13920 * tests/check/gst/gststructure.c: (GST_START_TEST),
13921 (gst_structure_suite):
13922 Push coverage from 59.04% to 70.00%
13924 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13926 * tests/check/Makefile.am:
13927 gst-inspect every element; this makes sure that we also get
13928 coverage on element's get/set functions
13930 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13933 set CFLAGS and friends to -O0 if gcov is being used
13936 * libs/gst/base/Makefile.am:
13937 * libs/gst/check/Makefile.am:
13938 * libs/gst/controller/Makefile.am:
13939 * libs/gst/dataprotocol/Makefile.am:
13940 * libs/gst/net/Makefile.am:
13941 * plugins/elements/Makefile.am:
13942 * plugins/indexers/Makefile.am:
13943 add makefile rules to generate gcov data and clean up
13944 * tests/check/Makefile.am:
13945 add a coverage target that generates an html overview
13948 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13950 * tests/check/elements/fakesink.c:
13951 * tests/check/elements/fakesrc.c:
13952 * tests/check/elements/fdsrc.c:
13953 * tests/check/elements/identity.c:
13954 * tests/check/generic/sinks.c: (gst_sinks_suite):
13955 * tests/check/generic/states.c:
13956 * tests/check/gst/gst.c:
13957 * tests/check/gst/gstabi.c:
13958 * tests/check/gst/gstbin.c:
13959 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13960 * tests/check/gst/gstbus.c: (gst_bus_suite):
13961 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13962 * tests/check/gst/gstelement.c:
13963 * tests/check/gst/gstevent.c: (gst_event_suite):
13964 * tests/check/gst/gstghostpad.c:
13965 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13966 * tests/check/gst/gstmessage.c: (gst_message_suite):
13967 * tests/check/gst/gstminiobject.c:
13968 * tests/check/gst/gstobject.c:
13969 * tests/check/gst/gstpad.c:
13970 * tests/check/gst/gstpipeline.c:
13971 * tests/check/gst/gstplugin.c:
13972 * tests/check/gst/gstquery.c: (gst_query_suite):
13973 * tests/check/gst/gstsegment.c: (gst_segment_suite):
13974 * tests/check/gst/gststructure.c:
13975 * tests/check/gst/gstsystemclock.c:
13976 * tests/check/gst/gsttag.c:
13977 * tests/check/gst/gsttask.c: (gst_task_suite):
13978 * tests/check/gst/gstutils.c:
13979 * tests/check/gst/gstvalue.c:
13980 * tests/check/libs/adapter.c:
13981 * tests/check/libs/basesrc.c:
13982 * tests/check/libs/collectpads.c:
13983 * tests/check/libs/controller.c:
13984 * tests/check/libs/gdp.c: (gst_dp_suite):
13985 * tests/check/libs/gstnetclientclock.c:
13986 * tests/check/libs/gstnettimeprovider.c:
13987 * tests/check/libs/libsabi.c: (libsabi_suite):
13988 * tests/check/libs/typefindhelper.c:
13989 * tests/check/pipelines/cleanup.c:
13990 * tests/check/pipelines/parse-launch.c:
13991 * tests/check/pipelines/simple-launch-lines.c:
13992 * tests/check/pipelines/stress.c: (stress_suite):
13995 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13997 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13998 * libs/gst/check/gstcheck.h:
13999 create a macro and function so that the simple unit test
14000 case can be just one macro to create main()
14002 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
14004 * gst/gstbin.c: (gst_bin_restore_thyself):
14005 * gst/gstxml.c: (gst_xml_make_element):
14006 Fix deserialisation from XML. Set parent manually
14007 instead of using gst_bin_add(), since gst_bin_add()
14008 will unlink all pads of the element being added.
14011 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
14013 Patch by: Peter Kjellerstedt <pkj at axis com>
14015 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
14016 Fix missing g_strdup() and double free when using the
14017 --gst-plugin-load command line option (#346097).
14019 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14022 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
14024 * libs/gst/net/gstnetclientclock.c:
14025 * libs/gst/net/gstnettimeprovider.c:
14026 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
14028 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
14030 * docs/manual/advanced-dataaccess.xml:
14031 Fix buffer probe example compilation in
14034 2006-06-22 Edward Hervey <edward@fluendo.com>
14036 * gst/gstelement.c: (gst_element_pads_activate):
14037 We need to deactivate src pads first and then sink pads.
14038 The reason is the src pads might be blocking while holding the streaming
14039 lock, so we need to deactivate them first so that deactivating the sink
14040 pads doesn't block (since it will require the streaming lock).
14042 2006-06-22 Wim Taymans <wim@fluendo.com>
14044 * libs/gst/base/gstbasetransform.c:
14045 (gst_base_transform_buffer_alloc):
14046 Forgot to remove two unneeded unrefs.
14047 Simplify a check _is_equal allready checks the obvious case.
14049 2006-06-22 Wim Taymans <wim@fluendo.com>
14051 * docs/design/part-block.txt:
14052 Some docs about what pad_block should do.
14054 2006-06-22 Wim Taymans <wim@fluendo.com>
14056 * gst/gstcaps.c: (gst_caps_replace):
14057 Fix crasher when passed NULL. Doc clarification.
14058 Optimize for the trivial case.
14060 * gst/gstpipeline.c: (gst_pipeline_change_state):
14063 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14064 Small documentation cleanup.
14066 * libs/gst/base/gstbasetransform.c:
14067 (gst_base_transform_buffer_alloc):
14068 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14069 is what we need and it avoids a whole lot of redundant
14070 refcount operations.
14072 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
14074 Patch by: Philip Jägenstedt <philip at lysator liu se>
14076 * docs/manual/advanced-dataaccess.xml:
14077 Fix 'Embedding static elements' section to use
14078 GST_PLUGIN_DEFINE_STATIC (#345607).
14080 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14082 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14083 Attempt to 'fix' spuriously failing test case: it seems like the
14084 timeout of half a second is simply too small when the system is under
14085 load otherwise, and the timeout doesn't really seem to serve any
14086 particular purpose here. Give the pipeline a few seconds to preroll
14087 first, and then give it another half a second to go from PAUSED to
14088 PLAYING and marshal the message into the main thread.
14090 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14092 * tools/gst-feedback-m.m:
14093 Don't only use unversioned tools, try versioned tools as well
14096 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14098 * gst/gstbus.c: (gst_bus_class_init):
14099 Fix some typos, make docs more explicit.
14101 2006-06-20 Wim Taymans <wim@fluendo.com>
14103 * tests/check/gst/gstghostpad.c: (block_callback),
14104 (GST_START_TEST), (gst_ghost_pad_suite):
14105 Added some more ghostpad tests, mainly blocking
14108 2006-06-16 Wim Taymans <wim@fluendo.com>
14110 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14111 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14112 (gst_file_sink_event), (gst_file_sink_render):
14113 * plugins/elements/gstfilesink.h:
14114 Check if we can seek in the file instead of assuming
14115 we always can. Post an error when we are asked to seek in a
14116 non-seekable file (like a fifo). Fixes #343312.
14119 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14121 * tools/gst-launch.1.in:
14122 Un-garble (fourcc) bit in filtered caps section.
14124 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14126 * docs/manual/advanced-autoplugging.xml:
14127 * docs/manual/basics-helloworld.xml:
14128 * docs/manual/highlevel-components.xml:
14129 Don't leak bus reference in sample code.
14131 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14134 Add default for new --enable-plugin-docs switch.
14137 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14140 * docs/Makefile.am:
14141 Use new ENABLE_PLUGIN_DOCS conditional.
14143 2006-06-14 Wim Taymans <wim@fluendo.com>
14145 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14146 Make it clear with a FIXME and a real define what the #if 0
14147 previously disabled.
14149 2006-06-14 Wim Taymans <wim@fluendo.com>
14151 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14152 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14153 * libs/gst/base/gstbasetransform.c:
14154 (gst_base_transform_sink_eventfunc):
14155 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14156 Don't randomly and silently reset a segment when the format
14157 changes as this is a bug somewhere upstream. Fixes #330379.
14159 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14161 Patch by: Wouter Paesen <wouter at kangaroot net>
14163 * libs/gst/controller/gstcontroller.c:
14164 (gst_controlled_property_new):
14165 Fix controlling of float properties (#344849).
14167 * tests/check/libs/controller.c:
14168 (gst_test_mono_source_get_property),
14169 (gst_test_mono_source_set_property),
14170 (gst_test_mono_source_class_init), (GST_START_TEST):
14171 While we're at it, add some float stuff to unit test.
14173 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14176 * docs/images/gdp-header.svg:
14178 * docs/libs/Makefile.am:
14179 * docs/libs/gdp-header.png:
14180 * libs/gst/dataprotocol/dataprotocol.c:
14181 add it to the API docs
14182 * docs/manual/intro-motivation.xml:
14185 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14187 * gst/gst.c: (scan_and_update_registry), (init_post):
14188 If the fork()'ed child process can't write the updated registry cache
14189 file to disk for some reason, make it exit with a failure exit code,
14190 so that the parent can then re-scan the plugins itself and update the
14191 registry structures in memory and work with that (rather than failing
14192 when creating elements because seemingly no plugins are available).
14193 Refactor registry scanning code into separate function for this and
14194 also separate fork() and non-fork() code paths. Fixes #344748.
14196 2006-06-13 Wim Taymans <wim@fluendo.com>
14198 * docs/manual/advanced-dataaccess.xml:
14199 Fix wrong PluginDesc. Fixes #344755.
14201 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14203 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14204 Fix silly bug that prevented us from creating
14205 ~/.gstreamer-0.10 and writing the registry in one
14206 go (the first call to g_mkstemp() would overwrite the
14207 placeholder in the template string, so the second call
14208 to g_mkstemp() after creating the missing directory
14209 would then error out with 'invalid argument').
14211 2006-06-13 Edward Hervey <edward@fluendo.com>
14213 * gst/gst.c: (init_post):
14216 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14218 * gst/glib-compat-private.h:
14219 * gst/glib-compat.c:
14220 * gst/glib-compat.h:
14221 * gst/gstvalue.c: (gst_value_serialize_flags):
14222 remove GLib 2.6 compatibility code
14224 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14226 * gst/parse/Makefile.am:
14227 Fix build with 'make -j N' even more (#340016).
14229 2006-06-12 Wim Taymans <wim@fluendo.com>
14231 * docs/gst/gstreamer-sections.txt:
14234 2006-06-12 Wim Taymans <wim@fluendo.com>
14236 * gst/gstsegment.c: (gst_segment_set_duration),
14237 (gst_segment_set_last_stop), (gst_segment_set_seek),
14238 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14239 (gst_segment_to_running_time), (gst_segment_clip):
14240 Use G_UNLIKELY to help the compiler a bit.
14242 2006-06-12 Wim Taymans <wim@fluendo.com>
14244 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14246 * gst/gstevent.c: (gst_event_get_type):
14247 * gst/gstmessage.c:
14248 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14250 constify quark registration strings. Fixes #344115
14251 Avoid unneeded type checking is _pad_push() by internally
14252 calling gst_pad_chain_unchecked().
14254 2006-06-12 Wim Taymans <wim@fluendo.com>
14256 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14257 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14258 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14259 (gst_buffer_is_span_fast), (gst_buffer_span):
14260 Init _type for consistency.
14261 Use _FLAGS macro to avoid type check.
14262 Avoid unneeded type checks in subbufer code.
14264 2006-06-12 Wim Taymans <wim@fluendo.com>
14266 * gst/gst.c: (gst_debug_help):
14267 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14268 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14269 (gst_plugin_feature_list_free):
14270 * gst/gstregistry.c: (gst_registry_add_plugin),
14271 (gst_registry_add_feature), (gst_registry_plugin_filter),
14272 (gst_registry_feature_filter), (gst_registry_find_plugin),
14273 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14274 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14275 * gst/gstregistryxml.c: (load_feature),
14276 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14277 * gst/gstminiobject.c: (gst_mini_object_unref),
14278 (gst_mini_object_replace), (gst_value_mini_object_free),
14279 (gst_value_mini_object_copy):
14280 Use _CAST macros to avoid unneeded type checking.
14281 Added some more G_UNLIKELY.
14283 2006-06-12 Wim Taymans <wim@fluendo.com>
14286 Avoid unneeded type checking.
14287 API: GST_BUFFER_IS_DISCONT
14289 * gst/gstminiobject.h:
14290 Avoid type check in flag accessor.
14292 * gst/gstelementfactory.h:
14294 * gst/gstpluginfeature.h:
14296 API: GST_ELEMENT_FACTORY_CAST
14297 API: GST_PLUGIN_CAST
14298 API: GST_PLUGIN_FEATURE_CAST
14300 2006-06-12 Wim Taymans <wim@fluendo.com>
14302 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14303 (gst_object_unref):
14304 Add G_UNLIKELY in type registration.
14305 Avoid type check in _ref/_unref since that is also
14308 2006-06-12 Wim Taymans <wim@fluendo.com>
14310 * gst/gsterror.c: (gst_g_error_get_type):
14311 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14312 (gst_static_pad_template_get_type):
14313 * gst/gsttaglist.c: (gst_tag_list_get_type):
14314 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14315 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14316 * gst/gsturi.c: (gst_uri_handler_get_type):
14317 * gst/gstvalue.c: (gst_date_get_type):
14318 * gst/gstxml.c: (gst_xml_get_type):
14319 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14320 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14321 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14322 Add G_UNLIKELY in type registration.
14324 2006-06-12 Wim Taymans <wim@fluendo.com>
14326 * tools/gst-inspect.c: (print_signal_info):
14327 Properly print enum values.
14329 2006-06-12 Wim Taymans <wim@fluendo.com>
14331 * gst/gstinfo.c: (gst_debug_set_active),
14332 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14334 Add some G_[UN]LIKELY.
14335 Maintain __gst_debug_min to avoid formatting the arguments of
14336 debug messages that will be dropped anyway to avoid a lot of
14337 overhead from the debugging system.
14339 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14342 * po/POTFILES.skip:
14343 add missing files containing translatable strings, tell intltool about
14346 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14348 * tests/check/libs/.cvsignore:
14349 add test-binary to ignore list
14351 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14353 * docs/libs/gstreamer-libs-docs.sgml:
14354 reorder (put dp into a chapter) and indent
14356 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14361 === release 0.10.8 ===
14363 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14366 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14368 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14370 * gst/gst.c: (init_post):
14371 move pid declaration to declaration block
14373 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14375 * gst/gst.c: (init_post):
14376 use _exit() instead of exit() in our forked child; this ensures
14377 that none of the registered exit handlers from whatever is using
14378 GStreamer get executed. This fixes gnome-mixer-applet failing
14379 to load, because ORBit would shut down.
14380 Spotted by: Edward Hervey <edward@fluendo.com>
14381 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14384 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14389 === release 0.10.7 ===
14391 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14394 releasing 0.10.7, "Soepeke, ik zie ou"
14396 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14419 * win32/common/config.h:
14420 0.10.6.2 prerelease
14422 2006-06-07 Wim Taymans <wim@fluendo.com>
14424 * gst/gstindex.c: (gst_index_gtype_resolver):
14425 * tools/gst-xmlinspect.c: (print_plugin_info):
14426 Fix leak spotted by coverity checker. Fixes #343827
14427 Fix another other leak found by paolo borelli.
14429 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14431 * libs/gst/dataprotocol/dataprotocol.c:
14432 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14433 (gst_dp_version_get_type), (gst_dp_init),
14434 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14435 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14436 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14437 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14438 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14439 (gst_dp_packetizer_free):
14440 * libs/gst/dataprotocol/dataprotocol.h:
14441 API: add a GstDPPacketizer object, and create/free functions
14442 API: add GstDPVersion enum
14443 Add 1.0 event function that uses the string serialization
14444 Serialize more useful buffer flags
14447 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14449 * tests/check/Makefile.am:
14450 * tests/check/gst/gstabi.c:
14451 * tests/check/gst/struct_ppc64.h:
14452 * tests/check/libs/libsabi.c:
14453 * tests/check/libs/struct_ppc64.h:
14454 add ppc64 structure sizes
14456 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14458 * tests/check/Makefile.am:
14459 * tests/check/gst/gstabi.c:
14460 * tests/check/gst/struct_x86_64.h:
14461 * tests/check/libs/libsabi.c:
14462 * tests/check/libs/struct_x86_64.h:
14463 generate and add structure size lists for x86_64
14465 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14467 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14468 * libs/gst/check/gstcheck.h:
14469 factor out the method from tests that checks size of structures,
14470 and add code to generate the header containing these sizes
14471 * tests/check/gst/gstabi.c: (GST_START_TEST):
14472 * tests/check/gst/struct_i386.h:
14473 * tests/check/libs/libsabi.c: (GST_START_TEST):
14474 * tests/check/libs/struct_i386.h:
14477 2006-06-06 Michael Smith <msmith@fluendo.com>
14479 * gst/gstsegment.h:
14480 Don't use c++-style comments, fixes #343929
14482 2006-06-05 Edward Hervey <edward@fluendo.com>
14485 plugin_paths is not used if we build without registry support.
14487 * gst/gstsegment.c: (gst_segment_copy):
14488 _copy() was always returning NULL...
14490 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14492 * libs/gst/dataprotocol/dataprotocol.c:
14493 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14494 (gst_dp_packet_from_event):
14495 factor out CRC code
14497 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14499 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14500 make sure we unset caps
14502 2006-06-02 Michael Smith <msmith@fluendo.com>
14504 * libs/gst/check/gstcheck.c: (gst_check_init),
14505 (gst_check_chain_func):
14506 * libs/gst/check/gstcheck.h:
14507 Add a cond/mutex to the check support lib, signal this whenever we
14508 add to the buffers list. This will allow tests to not busy-wait on
14511 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14513 * libs/gst/dataprotocol/dataprotocol.c:
14514 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14515 (gst_dp_packet_from_event):
14516 factor out some common header init code
14518 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14520 * docs/libs/gstreamer-libs-sections.txt:
14521 * docs/libs/tmpl/gstdataprotocol.sgml:
14522 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14523 * libs/gst/dataprotocol/dataprotocol.h:
14524 API: make gst_dp_crc() public
14526 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14528 * plugins/indexers/gstindexers.c: (plugin_init):
14529 conditionally register fileindexer (fixes #343598)
14531 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14533 * gst/gsttagsetter.h:
14534 Can't cast ifaces to a class
14536 * libs/gst/net/gstnetclientclock.h:
14537 * libs/gst/net/gstnettimeprovider.h:
14538 * plugins/elements/gstfakesink.h:
14539 * plugins/elements/gstfakesrc.h:
14540 * plugins/elements/gstfdsink.h:
14541 * plugins/elements/gstfdsrc.h:
14542 * plugins/elements/gstfilesink.h:
14543 * plugins/elements/gstfilesrc.h:
14544 * plugins/elements/gstidentity.h:
14545 * plugins/elements/gstqueue.h:
14546 * plugins/elements/gsttee.h:
14547 * plugins/indexers/gstfileindex.c:
14548 * plugins/indexers/gstmemindex.c:
14549 * tests/old/examples/plugins/example.h:
14550 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14552 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14554 * libs/gst/dataprotocol/dataprotocol.c:
14555 (gst_dp_header_from_buffer):
14556 make sure we zero the whole ABI-compatible area
14558 2006-06-01 Wim Taymans <wim@fluendo.com>
14560 Patch by: Alessandro Decina <alessandro at nnva dot org>
14562 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14563 Make sure the EOS flag is cleared from pads after a flush
14564 or stop. Fixes #343538.
14566 * tests/check/libs/collectpads.c: (GST_START_TEST),
14567 (gst_collect_pads_suite):
14568 Added test for collectpads reusage after EOS.
14570 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14573 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14574 * win32/common/libgstbase.def:
14575 export gst_collect_pads_set_flushing
14576 * win32/common/libgstreamer.def:
14577 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14578 gst_value_fraction_multiply
14579 * win32/vs6/gst_inspect.dsp:
14580 add a link to intl.lib
14582 2006-05-30 Wim Taymans <wim@fluendo.com>
14584 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14585 (gst_collect_pads_chain):
14586 Handle the case where a pad is removed from the collection
14587 that could cause the other pads to become collectable.
14589 2006-05-30 Wim Taymans <wim@fluendo.com>
14591 * gst/gstelement.c:
14592 Clarify the use of _release_request_pad() and
14593 _get_request_pad() a bit better.
14595 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14596 (gst_adapter_take_buffer):
14597 Fix some doc and comment typos.
14599 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14601 * docs/gst/gstreamer-sections.txt:
14602 * docs/libs/gstreamer-libs-sections.txt:
14603 add declared symbols
14605 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14607 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14608 Add debug that can be enabled using a #define at the top of the file,
14609 for dumping stats about how late/early we were when waking up from
14610 waiting on the clock.
14612 2006-05-30 Wim Taymans <wim@fluendo.com>
14614 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14615 When rebuilding the pad list, don't leak the previous list.
14617 2006-05-30 Wim Taymans <wim@fluendo.com>
14619 Patch by: Lutz Mueller <lutz at topfrose dot de>
14621 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14622 (gst_base_src_get_query_types), (gst_base_src_update_length):
14623 Publish supported query types.
14624 Update last_stop field in get_range mode so the position
14625 query works. Fixes #342321.
14627 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14629 * docs/gst/gstreamer-sections.txt:
14630 * gst/gsttaglist.c: (_gst_tag_initialize):
14631 * gst/gsttaglist.h:
14632 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14634 2006-05-30 Wim Taymans <wim@fluendo.com>
14636 Patch by: Alessandro Decina <alessandro at nnva dot org>
14638 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14639 Unlock mutex when removing an unknown pad.
14642 * tests/check/Makefile.am:
14643 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14644 (push_event), (setup), (teardown), (GST_START_TEST),
14645 (gst_collect_pads_suite), (main):
14646 Added collecpads check, disabled for now as check crashes for
14649 2006-05-29 Wim Taymans <wim@fluendo.com>
14651 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14652 Don't leak pads lists.
14654 2006-05-29 Wim Taymans <wim@fluendo.com>
14656 * docs/libs/gstreamer-libs-sections.txt:
14657 * libs/gst/base/gstcollectpads.c:
14658 (gst_collect_pads_set_flushing_unlocked),
14659 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14660 (gst_collect_pads_stop):
14661 * libs/gst/base/gstcollectpads.h:
14662 API: gst_collect_pads_set_flushing()
14663 Added api to set the pads to flushing, useful for seeking
14664 code in elements using collectpads.
14665 Clear segment when receiving a flush.
14667 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14669 * gst/gst.c: (add_path_func), (init_post):
14670 Don't scan registry paths passed via --gst-plugin-path immediately
14671 (will crash, because absolutely nothing is set up and no types are
14672 registered etc.); do this later in init_post(). Fixes #343057.
14674 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14676 * gst/gst.c: (init_post):
14677 if we have fork, fork while reading/rebuilding the registry
14678 so the parent doesn't take the hit of having all plugins loaded
14679 in memory. Fixes #342777.
14681 Check if we have fork()
14682 * win32/common/config.h.in:
14685 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14687 * plugins/elements/gstelements.c:
14688 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14689 (gst_file_src_init), (gst_file_src_set_property),
14690 (gst_file_src_get_property), (gst_file_src_start):
14691 * plugins/elements/gstfilesrc.h:
14692 API: GstFileSrc::use-mmap
14694 Add a use-mmap property to enable easier testing of all code paths.
14695 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14696 in the absence of gnomevfssrc. (Closes #340501)
14698 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14700 * tools/gst-inspect.c:
14701 Add missing include, removes warning of ngettext not being defined on
14704 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14706 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14707 Handle NULL input and output pointers silently as a failed conversion,
14708 rather than g_warnings.
14710 2006-05-25 Wim Taymans <wim@fluendo.com>
14712 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14713 Initialize variable before using. Fixes #342820.
14715 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14717 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14718 Fix off-by-one bug that would only allow peeks of N-1 bytes
14719 from the start even if the buffer to typefind on contains
14720 in fact N bytes of data (makes vorbis typefinding from a
14721 vorbis identification header buffer work).
14723 * tests/check/Makefile.am:
14724 * tests/check/libs/.cvsignore:
14725 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14726 (gst_typefindhelper_suite), (main), (foobar_typefind),
14728 Add very basic unit test for gst_type_find_helper_for_buffer()
14729 that checks for the problem fixed above.
14731 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14733 * tools/gst-inspect.c: (print_interfaces),
14734 (print_element_properties_info), (print_element_list), (main):
14735 add more translatable strings
14737 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14739 Patch by: Julien Moutte <julien at moutte net>
14741 * docs/gst/gstreamer-sections.txt:
14742 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14744 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14745 (gst_fake_sink_preroll):
14746 * plugins/elements/gstfakesink.h:
14747 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14749 2006-05-23 Wim Taymans <wim@fluendo.com>
14751 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14753 Added _CUSTOM error and success GstFlowReturn that can be
14754 used be elements internally.
14755 Added macro to check for SUCCESS flowreturns.
14756 API: GST_FLOW_CUSTOM_SUCCESS
14757 API: GST_FLOW_CUSTOM_ERROR
14758 API: GST_FLOW_IS_SUCCESS
14760 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14761 Added check for GstFlowReturn sanity.
14763 2006-05-23 Wim Taymans <wim@fluendo.com>
14765 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14767 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14768 (gst_collect_pads_event):
14769 clear/reset segment info in FLUSH_STOP.
14772 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14774 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14775 (gst_collect_pads_check_collected):
14776 Flush queued buffer on _stop(), fixes playing again (#342454)
14778 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14780 * tests/check/gst/gststructure.c: (GST_START_TEST),
14781 (gst_structure_suite):
14782 add a test for a complete structure
14784 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14786 * docs/faq/developing.xml:
14787 * docs/faq/faq.xml:
14788 * docs/faq/troubleshooting.xml:
14789 * docs/faq/using.xml:
14790 Some minor FAQ updates that won't change the fact that
14791 our FAQ is badly structured, full of information hardly
14792 anyone new to GStreamer needs to know and lacking lots
14793 of information people constantly ask for.
14795 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14797 * gst/gstpad.c: (gst_pad_set_caps):
14798 Short-circuit gst_pad_set_caps if setting the existing
14799 caps pointer again, and avoid printing debug and
14800 reffing/unreffing the caps.
14802 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14803 There's actually no need to set the caps before pushing -
14804 the acceptcaps method will handle it anyway.
14806 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14808 * docs/gst/gstreamer-sections.txt:
14809 * win32/common/libgstreamer.def:
14810 * gst/gstutils.c: (gst_element_seek_simple):
14812 API: add gst_element_seek_simple() (#342238).
14814 2006-05-18 Edward Hervey <edward@fluendo.com>
14816 * gst/gsttypefind.c: (gst_type_find_get_type):
14817 * gst/gsttypefind.h:
14818 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14819 registered for GstTypeFind pointers. This allows wrapping the structure
14820 in bindings (i.e. gst-python).
14822 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14824 * gst/gsttagsetter.c:
14825 Docs additions and fixes (see #339918).
14827 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14829 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14830 The caps intersection algorithm can produce multiple copies of the
14831 caps. Until that is fixed, we need to simplify the result to be
14832 sure whether the allowed caps are fixed or not.
14834 * plugins/elements/gstqueue.c: (gst_queue_init),
14835 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14836 (gst_queue_push_one):
14837 Proxied buffer alloc should not set the caps on the source pad.
14838 When pushing buffers, we always accept the caps change that triggers.
14839 This prevents negotiation errors caused by caps changing mid-stream
14840 and then being refused on our source pad (because upstream is now
14841 refusing those caps).
14843 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14845 * tests/examples/helloworld/helloworld.c: (main):
14846 Must plug audioconvert and audioresample between decoder
14849 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14851 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14852 (load_feature), (load_plugin):
14853 Allow empty strings for some of the plugin fields so we don't
14854 drop valid plugin entries that were written out correctly
14857 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14859 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14860 Use g_remove and g_rename instead of remove and rename that don't
14861 handle utf8 characters. rename was failing for users who had specific
14862 characters in their name then the registry was built at each
14864 * win32/vs6/gst_inspect.dsp:
14865 * win32/vs6/gst_launch.dsp:
14866 * win32/vs6/libgstbase.dsp:
14867 * win32/vs6/libgstcoreelements.dsp:
14868 * win32/vs6/libgstreamer.dsp:
14869 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14870 build of libgstreamer and clean unused libraries in projects link
14873 2006-05-17 Edward Hervey <edward@fluendo.com>
14875 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14876 The queue is not responsible for pushing an EOS when receiving a fatal
14877 flow error. It's up to the real element driving the pipeline to do that.
14879 2006-05-16 Edward Hervey <edward@fluendo.com>
14881 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14882 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14883 buffer returned a fatal error. It should just send an EOS and stop
14885 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14886 when pushing buffers on the queue and will be able to handle the event.
14888 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14890 * docs/manual/basics-bins.xml:
14891 * docs/manual/basics-init.xml:
14892 Fix typos and minor errors in sample code (#341856).
14894 2006-05-16 Wim Taymans <wim@fluendo.com>
14896 * docs/design/part-qos.txt:
14897 Fix indexes in formulas to make more sense.
14899 2006-05-15 Wim Taymans <wim@fluendo.com>
14901 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14902 Don't report POSITION based on clock time if sync is
14903 disabled in a sink.
14905 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14908 Add cast to make compiler happy - refcount variable was a gint
14909 in GstObject but is a guint in GObject and g_atomic_int_get()
14912 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14914 * gst/parse/Makefile.am:
14915 chain commands using &&, which also makes parallel make work
14917 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14919 * docs/gst/gstreamer-sections.txt:
14922 * gst/gstmessage.h:
14925 === release 0.10.6 ===
14927 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14930 releasing 0.10.6, "Take the cannoli"
14932 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14934 * tools/gst-launch.c: (print_tag):
14935 Fix use of uninitialized variable in the hypothetical
14936 case that some broken plugin creates a GST_TAG_IMAGE
14937 tag containing a NULL buffer (#341667).
14939 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14941 * tools/gst-launch.c: (print_tag):
14942 Print something more intelligible for image tags when
14943 using the -t switch (#341556).
14945 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14950 define GST_MAJORMINOR so we have it available in win32/common/config.h
14951 Possibly remove it from our Makefile.am files later
14952 * win32/common/config.h:
14953 * win32/common/config.h.in:
14954 added GST_MAJORMINOR
14955 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14956 * win32/common/gstversion.h:
14959 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
14962 Update win32 files listing.
14963 * win32/common/gstversion.h:
14964 Add GST_MAJORMINOR definition.
14965 * win32/common/libgstreamer.def:
14966 Add new exported functions.
14968 2006-05-12 Michael Smith <msmith@fluendo.com>
14970 * gst/gstplugin.c: (gst_plugin_load_file):
14971 If an so file has no plugin entry point, unload the module.
14973 2006-05-11 Wim Taymans <wim@fluendo.com>
14975 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14976 (gst_queue_set_property):
14977 Don't forget to signal the _chain or _loop function
14978 when the queue size or thresholds change since that might
14979 cause them to make progres again.
14981 2006-05-11 Stefan Kost <ensonic@users.sf.net>
14983 * gst/gstclock.c: (gst_clock_class_init):
14984 * gst/gstindex.c: (gst_index_class_init):
14985 * gst/gstobject.c: (gst_object_class_init):
14986 * gst/gstpad.c: (gst_pad_class_init):
14987 * gst/gstpipeline.c: (gst_pipeline_class_init):
14988 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14989 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14990 * libs/gst/base/gstbasetransform.c:
14991 (gst_base_transform_class_init):
14992 * libs/gst/net/gstnetclientclock.c:
14993 (gst_net_client_clock_class_init):
14994 * libs/gst/net/gstnettimeprovider.c:
14995 (gst_net_time_provider_class_init):
14996 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14997 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14998 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14999 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
15000 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15001 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
15002 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
15003 * plugins/elements/gstidentity.c: (gst_identity_class_init):
15004 * plugins/elements/gsttee.c: (gst_tee_class_init):
15005 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15006 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15007 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
15009 2006-05-11 Wim Taymans <wim@fluendo.com>
15011 * gst/gstbuffer.c: (_gst_buffer_initialize):
15012 Register subbufer along with the buffer type so that
15013 it does not accidentally gets registered from N
15014 different streaming threads in a non threadsafe way.
15016 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15020 * gst/gstmessage.h:
15021 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
15022 gst_event_ref() and gst_message_ref() functions again
15023 (ugly hack, please do fix if there's a better way besides
15024 overrides.txt, which doesn't seem to work).
15026 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15028 * libs/gst/check/gstcheck.h:
15029 add an assert for setting state to avoid lots of repetitive code
15032 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15034 * gst/gstvalue.c: (gst_value_serialize_flags):
15035 fix a leak if no flags are set
15036 * tests/check/gst/gstvalue.c: (GST_START_TEST):
15039 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
15041 * docs/manual/basics-pads.xml:
15042 Expand a bit on caps and filtered links and update
15043 examples that were still using the no longer existing
15044 gst_pad_link_filtered() (#338206).
15046 2006-05-10 Wim Taymans <wim@fluendo.com>
15048 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15049 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15050 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15051 (gst_collect_pads_stop):
15052 * libs/gst/base/gstcollectpads.h:
15053 No need to call _stop in _finalize.
15054 Iterate the main pad list in _finalize.
15055 Added some more debug.
15056 Free lists and data in the right order.
15057 Also free data whem doing _remove_pad when stopped for
15058 backward compatibility protect ::started with PAD_LOCK as
15061 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15063 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15064 (gst_structure_parse_value):
15066 rename a method so that it actually says what it does better
15068 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
15070 * gst/gstevent.c: (_gst_event_initialize):
15071 * gst/gstformat.c: (_gst_format_initialize):
15072 make sure some essential types used by events are registered
15073 as part of gst_init()
15074 * gst/gstvalue.c: (gst_value_serialize_flags):
15075 if no flags are set, serialize them to a value that represents NONE
15076 so that deserializing them works
15077 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15078 add tests for serialization and deserialization of flags
15080 2006-05-10 Wim Taymans <wim@fluendo.com>
15082 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15083 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15084 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15085 (gst_collect_pads_event), (gst_collect_pads_chain):
15088 Catch and return errors from the collect function
15089 Refuse data on eos pads.
15091 2006-05-10 Edward Hervey <edward@fluendo.com>
15093 * gst/gstinterface.h:
15094 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15095 GInterface type checking.
15096 They were previously using non-defined macros.
15098 2006-05-09 Wim Taymans <wim@fluendo.com>
15100 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15101 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15102 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15103 (gst_collect_pads_start), (gst_collect_pads_stop),
15104 (gst_collect_pads_peek), (gst_collect_pads_pop),
15105 (gst_collect_pads_available), (gst_collect_pads_read),
15106 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15107 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15108 (gst_collect_pads_chain):
15109 * libs/gst/base/gstcollectpads.h:
15110 Clean up the mess that is collectpads, add comments and
15111 FIXMEs where needed.
15112 Maintain a separate pad list so we can add pads while
15113 collecting the other ones. For this we need a new separate
15115 Fix memory leak in finalize.
15116 Refactor some weird code to set/unset pad flushing flags, mark
15118 Don't crash in _available, _read, _flush when we're EOS.
15120 * tests/check/libs/.cvsignore:
15121 Ignore adapter check binary.
15123 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15125 * gst/gstindex.c: (gst_index_resolver_get_type):
15126 * plugins/elements/gstfakesink.c:
15127 (gst_fake_sink_state_error_get_type):
15128 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15129 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15130 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15131 Const-ify GEnumValue arrays.
15133 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15135 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15136 Add test case for flags + gst_buffer_make_metadata_writable().
15138 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15140 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15141 gst_buffer_make_metadata_writable() should maintain the
15142 buffer flags (those that make sense at least) (see #340859).
15144 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15146 * tools/gst-inspect.c:
15147 * tools/gst-launch.c:
15148 * tools/gst-typefind.c:
15149 * tools/gst-xmlinspect.c:
15151 Fix up includes: need to include stdlib.h in tools.h for exit().
15153 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15155 * gst/gsttaglist.c: (_gst_tag_initialize):
15156 * gst/gsttaglist.h:
15157 API: add GST_TAG_IMAGE tag (#340721).
15159 2006-05-08 Wim Taymans <wim@fluendo.com>
15162 Added some docs for the segment query.
15164 2006-05-08 Wim Taymans <wim@fluendo.com>
15166 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15167 (gst_base_src_loop), (gst_base_src_change_state):
15168 Always push non-flushing serialized events in the streaming
15171 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15173 * gst/gsterror.c: (_gst_stream_errors_init):
15174 Add a missing error string.
15176 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15178 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15179 Add applied_rate to the debug
15181 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15182 Copy applied_rate into the outgoing NEWSEGMENT event
15184 2006-05-08 Wim Taymans <wim@fluendo.com>
15186 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15188 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15189 (gst_base_sink_change_state):
15190 call ::unlock before taking the PREROLL_LOCK so we can safely
15191 handle elements that lock in ::render.
15194 2006-05-08 Edward Hervey <edward@fluendo.com>
15196 * autogen.sh: (CONFIGURE_DEF_OPT):
15197 Darwin's libtoolize is in fact called glibtoolize.
15198 Adding glibtoolize to the list of accepted names for libtoolize.
15200 2006-05-08 Wim Taymans <wim@fluendo.com>
15202 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15203 Unify error handling, don't post an error message
15204 when a push() returns EOS but perform our normal EOS
15205 handling code. Fixes #340772.
15207 2006-05-08 Wim Taymans <wim@fluendo.com>
15209 * docs/design/part-overview.txt:
15210 Make upsteam/downstream concepts more clear.
15211 Give an example of serialized/non-serialized events.
15213 * docs/design/part-events.txt:
15214 * docs/design/part-streams.txt:
15215 Mention applied_rate.
15217 * docs/design/part-trickmodes.txt:
15218 Mention applied rate, flesh out some more use cases.
15220 * gst/gstevent.c: (gst_event_new_new_segment),
15221 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15222 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15223 (gst_event_parse_tag), (gst_event_new_buffer_size),
15224 (gst_event_parse_buffer_size), (gst_event_new_qos),
15225 (gst_event_parse_qos), (gst_event_parse_seek),
15226 (gst_event_new_navigation):
15228 Add applied_rate field to NEWSEGMENT event.
15229 API: gst_event_new_new_segment_full()
15230 API: gst_event_parse_new_segment_full()
15232 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15233 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15234 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15235 * gst/gstsegment.h:
15236 Add applied_rate to GstSegment structure.
15237 Make calculation of stream_time and running_time more correct
15238 wrt rate/applied_rate.
15239 Add some more docs.
15240 API: GstSegment::applied_rate field
15241 API: gst_segment_set_newsegment_full();
15243 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15244 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15245 * libs/gst/base/gstbasetransform.c:
15246 (gst_base_transform_sink_eventfunc),
15247 (gst_base_transform_handle_buffer):
15248 Parse and use applied_rate in the GstSegment field.
15250 * tests/check/gst/gstevent.c: (GST_START_TEST):
15251 Add check for applied_rate field.
15253 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15254 (gstsegments_suite):
15255 Add more checks for various GstSegment operations.
15257 2006-05-08 Wim Taymans <wim@fluendo.com>
15259 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15260 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15261 (gst_base_sink_get_position), (gst_base_sink_change_state):
15262 Store the sync time of the buffer end position separatly in a
15263 new variable eos_rtime so we can properly sync the EOS event.
15265 Fix the docs for gst_base_sink_set_qos_enabled().
15266 Don't set segment start to invalid value when we receive a
15267 non TIME newsegment.
15268 get closer to handling position reporting for negative rates
15271 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15274 Docs about how to print caps for debug purposes.
15276 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15277 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15279 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15281 * gst/gstelement.c:
15282 use full enum names and preprend a '%' in docs strings to make recent
15283 gtk-doc turn that into a link
15285 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15287 * docs/manual/basics-bins.xml:
15288 * docs/manual/basics-bus.xml:
15289 * docs/manual/basics-pads.xml:
15290 Some typo fixes, some additions, some clarifications.
15292 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15294 * tools/gst-inspect.c: (main):
15295 * tools/gst-launch.c: (main):
15296 * tools/gst-run.c: (main):
15297 * tools/gst-typefind.c: (main):
15298 * tools/gst-xmlinspect.c: (main):
15299 Use the string passed to g_option_context_new() for
15300 what it's intended for - the program name is already
15303 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15305 * tools/Makefile.am:
15306 * tools/gst-inspect.c: (main):
15307 * tools/gst-launch.c: (main):
15308 * tools/gst-xmlinspect.c: (main):
15310 Add back --version command line option (#340460).
15312 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15313 Add --version option and use GOption for argument parsing; refactor a
15314 bit; accept directories as arguments and recurse into them; lastly,
15315 print a decent error message when things go wrong.
15317 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15319 * docs/manual/basics-bins.xml:
15320 Don't mention GstThread (#340611)
15321 * docs/manual/basics-elements.xml:
15322 Update link to GObject tutorial (#340607)
15324 2006-05-05 Wim Taymans <wim@fluendo.com>
15327 * gst/gstminiobject.c:
15328 Add note about refcounting and miniobject/buffer writeability
15329 to docs. Fixes #340604
15331 * gst/gstelementfactory.h:
15332 Added some explanation about @klass.
15334 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15336 * docs/manual/intro-motivation.xml:
15337 * docs/manual/manual.xml:
15338 Avoid CORBA & Bonobo references (#340598)
15340 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15342 * docs/manual/basics-bus.xml:
15343 * docs/manual/basics-pads.xml:
15344 Fix up some inaccuracies and omissions (#340609)
15346 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15348 * gst/gstghostpad.c:
15349 Small typo in docs (#340625)
15351 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15353 * gst/parse/Makefile.am:
15354 Make 'make -j' proof (see #340698).
15356 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15359 Require GLib-2.8 here as well.
15361 2006-05-05 Wim Taymans <wim@fluendo.com>
15363 * gst/glib-compat.c:
15364 * gst/gst.c: (init_pre):
15365 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15366 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15367 (gst_object_dispatch_properties_changed):
15369 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15370 * gst/gststructure.c: (gst_structure_set_valist):
15371 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15372 Remove pre glib2.8 compatibility, fixes #340508
15374 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15376 * gst/gsttaglist.h:
15377 Mention type of tags in doc blurbs.
15379 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15381 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15382 (gst_pad_configure_src), (gst_pad_push):
15383 Restore acceptcaps checking behaviour now that good plugins have
15386 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15388 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15395 * gst/gstmessage.c:
15399 * gst/parse/Makefile.am:
15400 * libs/gst/base/gstadapter.c:
15401 * libs/gst/base/gstbasesrc.c:
15402 * libs/gst/base/gstpushsrc.c:
15403 * libs/gst/base/gsttypefindhelper.c:
15404 * plugins/elements/gstfakesrc.c:
15405 * plugins/elements/gstidentity.c:
15406 Make sure gstprivate.h and/or config.h are
15407 always included first, otherwise some of our
15408 defines (like _FILE_OFFSET_BITS) might be
15409 redefined in the system headers. Fixes build
15410 on opensolaris (#340016).
15412 2006-05-04 Wim Taymans <wim@fluendo.com>
15414 * docs/libs/gstreamer-libs-sections.txt:
15415 API: addition: gst_adapter_take_buffer()
15417 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15418 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15419 (gst_adapter_available_fast):
15420 * libs/gst/base/gstadapter.h:
15421 Prepare for optimizing the hell out of this hugely inefficient
15423 Added gst_adapter_take_buffer() so we can at least start thinking
15424 about subbuffering and merging.
15425 Added some comments.
15427 * tests/check/Makefile.am:
15428 * tests/check/libs/adapter.c: (GST_START_TEST),
15429 (gst_adapter_suite), (main):
15430 Added GstAdapter check.
15432 2006-05-04 Wim Taymans <wim@fluendo.com>
15434 * docs/design/part-overview.txt:
15435 Fix some typos, add blurb about buffer flags.
15437 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15439 * docs/libs/gstreamer-libs-sections.txt:
15440 make sure GstBaseTransformClass shows up in the docs
15441 * libs/gst/base/gstbasetransform.c:
15442 * libs/gst/base/gstbasetransform.h:
15443 move docs so gtk-doc picks it up now
15445 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15447 * docs/libs/gstreamer-libs-sections.txt:
15448 add missing symbols to docs
15450 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15452 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15453 back out the newsegment handling change, see #340060 for ongoing
15456 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15458 * tools/gst-run.c: (get_candidates), (main):
15459 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15460 work); fix typo in error message. Fixes #340079.
15462 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15464 * common/Makefile.am:
15465 * docs/Makefile.am:
15466 * docs/faq/Makefile.am:
15467 * docs/gst/Makefile.am:
15468 * docs/libs/Makefile.am:
15469 * docs/manual/Makefile.am:
15470 * docs/plugins/Makefile.am:
15471 * docs/pwg/Makefile.am:
15472 * docs/slides/Makefile.am:
15474 * common/upload.mak:
15475 move upload.mak to common
15477 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15479 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15480 add more asserts on refcounts
15481 do more cleanup at end of tests
15482 fix test leaks showing in FC5
15484 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15486 * plugins/elements/gsttypefindelement.c:
15487 (gst_type_find_element_handle_event):
15488 reverted wrong change and reflowed code to avoid others falling into
15491 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15493 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15494 fix changelog entry about last collectpads change,
15495 add notes about proper fix
15497 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15500 * gst/gstregistry.c: (gst_registry_scan_path_level),
15501 (gst_registry_scan_path):
15502 * gst/gstregistry.h:
15503 only write out registry if it has changed, fixes #338339
15505 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15508 * gst/gstpipeline.c:
15509 * plugins/elements/gstcapsfilter.c:
15510 * plugins/elements/gstfakesink.c:
15511 * plugins/elements/gstfakesrc.c:
15512 * plugins/elements/gstfdsink.c:
15513 * plugins/elements/gstfdsrc.c:
15514 * plugins/elements/gstfilesink.c:
15515 * plugins/elements/gstfilesrc.c:
15516 * plugins/elements/gstidentity.c:
15517 * plugins/elements/gstqueue.c:
15518 * plugins/elements/gsttee.c:
15519 * plugins/elements/gsttypefindelement.c:
15520 (gst_type_find_element_handle_event):
15521 make GstElementDetails const
15523 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15525 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15526 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15527 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15528 more detailed debug and formatting cleanup,
15529 forward newsegments to src-pad (so that e.g. adder not eats them)
15531 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15533 * gst/gstutils.c: (gst_element_link_pads):
15534 cleanup double code
15536 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15538 * libs/gst/controller/gstcontroller.c:
15539 (gst_controller_sync_values):
15541 * tests/check/libs/controller.c: (GST_START_TEST),
15542 (gst_controller_suite):
15543 a new test for live value handling
15545 2006-04-28 Wim Taymans <wim@fluendo.com>
15547 * gst/gstutils.c: (push_and_ref):
15548 Added some more docs.
15549 Fix refcount issue whith gst_element_found_tags() helper
15550 function. Fixes #338335
15552 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15553 Added testsuite for gst_element_found_tags().
15555 2006-04-28 Michael Smith <msmith@fluendo.com>
15557 * gst/gstvalue.c: (gst_value_serialize_flags):
15558 Avoid NULL dereference when trying to serialize flags containing
15561 2006-04-28 Michael Smith <msmith@fluendo.com>
15563 * plugins/elements/gsttypefindelement.c:
15564 (gst_type_find_element_handle_event):
15565 If we get EOS before any data is accumulated, don't use
15566 uninitialised local variables.
15568 2006-04-28 Michael Smith <msmith@fluendo.com>
15570 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15571 (gst_dp_event_from_packet):
15572 Fixes in reading/writing events over GDP (not currently used?) -
15573 dereferencing NULL events for unknown/invalid event types, memory
15574 leak, and change g_warning to GST_WARNING.
15576 2006-04-28 Wim Taymans <wim@fluendo.com>
15578 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15579 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15580 (gst_base_sink_get_position), (gst_base_sink_change_state):
15581 When frame dropping is enabled, we should not ignore frames
15582 without a duration.
15583 Update some documentation.
15585 2006-04-28 Wim Taymans <wim@fluendo.com>
15587 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15588 (gst_base_src_send_event), (gst_base_src_change_state):
15589 Documentation updates.
15591 2006-04-28 Wim Taymans <wim@fluendo.com>
15593 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15594 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15595 handle EAGAIN, EINTR and short writes correctly. Also clean
15596 up some error cases, avoid a deadlock on bad file descriptors and
15597 use GST_DEBUG_OBJECT.
15600 2006-04-28 Wim Taymans <wim@fluendo.com>
15602 * gst/gstvalue.c: (gst_value_serialize_buffer),
15603 (gst_value_deserialize_buffer):
15604 Don't try to serialize a GValue with a NULL buffer.
15607 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15608 Added check for serialisation of NULL buffers.
15610 2006-04-28 Wim Taymans <wim@fluendo.com>
15612 * gst/gstminiobject.c: (gst_value_take_mini_object):
15613 Taking a NULL miniobject is valid, fix the case where
15614 we try to unref the NULL miniobject.
15616 2006-04-28 Wim Taymans <wim@fluendo.com>
15618 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15620 * gst/gstbin.c: (gst_bin_handle_message_func):
15622 Don't leak bin refcount when a state recalc is
15623 in progress and we delay another one #339808.
15625 2006-04-28 Wim Taymans <wim@fluendo.com>
15627 * docs/design/part-TODO.txt:
15628 Mention QoS as an ongoing work item.
15630 * docs/design/part-buffering.txt:
15631 New doc about buffering that needs to be fleshed out
15634 * docs/design/part-qos.txt:
15635 More QoS policy for decoders/demuxers/transforms
15637 * docs/design/part-trickmodes.txt:
15640 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15645 === release 0.10.5 ===
15647 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15650 releasing 0.10.5, "Fogo"
15652 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15654 patch by: Wim Taymans
15656 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15657 (gst_pad_configure_src), (gst_pad_push):
15658 * gst/gstpipeline.c: (gst_pipeline_init):
15659 Fix internal data flow errors. Fixes #338711.
15661 2006-04-12 Wim Taymans <wim@fluendo.com>
15663 * tests/check/gst/gstelement.c: (GST_START_TEST):
15664 Don't leak the factory.
15666 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15669 * win32/common/config.h:
15672 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15674 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15675 (gst_controller_unset_all):
15676 Free allocated GstTimedValues when freeing list nodes.
15677 Should fix leaks 'make check-valgrind' complains about.
15679 * win32/common/libgstcontroller.def:
15680 Add gst_controller_unset_all.
15682 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15684 * docs/libs/gstreamer-libs-sections.txt:
15685 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15686 (gst_controller_unset_all):
15687 * libs/gst/controller/gstcontroller.h:
15688 API: Added new method gst_controller_unset_all()
15689 fixed gst_controller_unset()
15690 * tests/check/libs/controller.c: (GST_START_TEST),
15691 (gst_controller_suite):
15692 Added two testcases for new and fixed method
15694 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15696 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15697 MSG_DONTWAIT is not defined on Cygwin, so work
15698 around that (fixes #317048).
15700 2006-04-11 Wim Taymans <wim@fluendo.com>
15702 * gst/gstelementfactory.c: (gst_element_register),
15703 (gst_element_factory_create), (gst_element_factory_make):
15706 Updated docs (Fixes #131079)
15708 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15711 * tests/check/gst/gstelement.c: (GST_START_TEST),
15712 (gst_element_suite):
15713 Added testcase for elementfactory class field.
15715 2006-04-10 Wim Taymans <wim@fluendo.com>
15717 * gst/gstsegment.c:
15718 Added some more docs.
15720 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15721 (gst_base_sink_reset_qos):
15722 Calculate more accurate rate values.
15724 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15726 * gst/gst_private.h:
15727 add a new #ifdef to use __declspec(dllimport) only for
15728 other modules and not for gstreamer core
15729 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15730 use gst_guint64_to_gdouble for conversion
15731 * win32/common/libgstreamer.def:
15732 add new exported functions
15733 * win32/vs6/gst_inspect.dsp:
15734 * win32/vs6/gst_launch.dsp:
15735 * win32/vs6/libgstbase.dsp:
15736 * win32/vs6/libgstcontroller.dsp:
15737 * win32/vs6/libgstcoreelements.dsp:
15738 * win32/vs6/libgstdataprotocol.dsp:
15739 * win32/vs6/libgstnet.dsp:
15740 update project files
15742 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15744 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15745 * gst/gstclock.c: (gst_clock_class_init):
15746 * gst/gstelement.c: (gst_element_class_init):
15747 * gst/gstindex.c: (gst_index_class_init):
15748 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15749 * gst/gstobject.c: (gst_object_class_init),
15750 (gst_signal_object_class_init):
15751 * gst/gstpad.c: (gst_pad_class_init):
15752 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15753 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15754 * gst/gstregistry.c: (gst_registry_class_init):
15755 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15756 * gst/gsttask.c: (gst_task_class_init):
15757 * gst/gstxml.c: (gst_xml_class_init):
15758 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15759 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15760 (gst_base_src_loop):
15761 * libs/gst/controller/gstcontroller.c:/
15762 (_gst_controller_class_init):
15763 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15764 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15765 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15766 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15767 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15768 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15770 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15772 * gst/gstpad.c: (gst_pad_link):
15773 Must set peer pads before calling the link function, otherwise
15774 a task started from a link function might get a flow-not-linked
15775 result when trying to push because the other thread where the
15776 linking happens hasn't had a chance to set the peers yet. This
15777 might happen for example when a queue gets linked to a downstream
15778 element, as queue starts a streaming task when its source pad
15779 gets linked. Happens in real life when playing back flac/musepack
15780 files in playbin (#332390).
15782 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15786 * libs/gst/base/gstadapter.h:
15787 * libs/gst/base/gstbasesink.h:
15788 * libs/gst/base/gstbasesrc.h:
15789 * libs/gst/base/gstbasetransform.h:
15790 * libs/gst/base/gstcollectpads.h:
15791 * libs/gst/base/gstpushsrc.h:
15792 Fix broken GObject macros
15794 2006-04-07 Wim Taymans <wim@fluendo.com>
15796 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15797 Initialize start and stop times, thanks valgrind.
15799 2006-04-07 Wim Taymans <wim@fluendo.com>
15801 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15802 Be a bit nicer to badly behaving upstream elements that expect
15803 us to deal with non TIME segments and timestamps (such as fakesrc
15806 2006-04-07 Wim Taymans <wim@fluendo.com>
15809 Small documentation clarification about the signal watch.
15811 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15812 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15813 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15814 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15815 (gst_base_sink_get_position_last),
15816 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15817 Convert and store timestamps in stream time and running time, the
15818 raw timestamps are not useful, also document this better.
15819 Use different window sizes for good and bad QoS observations so
15820 we react to badness a little quicker.
15821 Keep track of the amount of rendered and dropped buffers.
15822 Send QoS timestamps in running time.
15824 * libs/gst/base/gstbasetransform.c:
15825 (gst_base_transform_sink_eventfunc),
15826 (gst_base_transform_handle_buffer):
15827 Compare QoS timestamps against running time.
15829 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15832 Typo fixes in docs.
15834 2006-04-06 Michael Smith <msmith@fluendo.com>
15836 * gst/gstpad.c: (gst_pad_set_property):
15837 Use g_value_get_object() instead of g_value_dup_gst_object(),
15838 to avoid double-reffing the pad template (which we then sink,
15839 so this worked previously if (and only if) the pad template
15842 * gst/gstpadtemplate.c: (gst_pad_template_init),
15843 (gst_pad_template_pad_created):
15844 Never return floating references to pad templates, create
15845 them as initially-sunken.
15847 Document an extra function (and make this stop sinking our
15848 pad template, since that is now guaranteed to do nothing,
15849 since we created it sunken).
15851 * gst/gstghostpad.c:
15854 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15856 * gst/gstinfo.c: (__gst_in_valgrind):
15859 * plugins/elements/gsttypefindelement.c:
15860 (gst_type_find_element_chain):
15861 Don't leak buffer caps.
15863 2006-04-06 Michael Smith <msmith@fluendo.com>
15865 * gst/parse/grammar.y:
15866 Fix a leak in parse-launch for any source-or-sink named element
15869 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15870 Unref the pipeline if it exists after we've failed parsing.
15872 2006-04-05 Michael Smith <msmith@fluendo.com>
15874 * gst/gstpipeline.c: (gst_pipeline_init):
15875 When we create a pipeline bus, initially create it in flushing mode.
15876 Fixes leaks in at least one test, and makes a new pipeline work the
15877 same as one that has gone to READY and then back to NULL.
15879 * gst/gstelement.c:
15882 2006-04-05 Michael Smith <msmith@fluendo.com>
15884 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15885 Unref a pad we reffed.
15886 * tests/check/gst/gstutils.c: (GST_START_TEST):
15889 2006-04-05 Michael Smith <msmith@fluendo.com>
15891 * gst/gstquery.c: (gst_query_set_formats),
15892 (gst_query_set_formatsv):
15893 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15895 2006-04-05 Michael Smith <msmith@fluendo.com>
15897 * tests/check/generic/sinks.c: (GST_START_TEST):
15898 Fix a variety of memleaks in sinks check, which are only sometimes
15899 shown by running the tests under valgrind (weird?).
15901 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15903 * docs/version.entities.in:
15904 Fix the substituted entity name after thomas' changes on the
15907 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15909 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15912 2006-04-05 Andy Wingo <wingo@pobox.com>
15914 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15916 * libs/gst/base/gstbasetransform.c
15917 (gst_base_transform_sink_eventfunc): When resetting our segment on
15918 FLUSH_STOP, also update the flag saying we haven't seen a
15921 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15923 Patch by: Paolo Borelli <pborelli at katamail dot com>
15925 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15926 (gst_plugin_check_license):
15927 minor clean-ups: G_DEFINE_TYPE already takes care of the
15928 parent_class stuff, no need to do it twice. Mark array of
15929 license strings as constant. (#337103)
15931 2006-04-04 Michael Smith <msmith@fluendo.com>
15933 * tools/gst-inspect.c: (print_element_list):
15934 Free the right plugin list; fixes a memory leak.
15936 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15938 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15940 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15941 Don't error out on empty buffers (#336945).
15943 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15945 * docs/libs/gstreamer-libs-sections.txt:
15946 * gst/gsttaglist.c:
15947 * libs/gst/base/gstbasesink.c:
15948 * libs/gst/base/gstbasesink.h:
15949 * libs/gst/base/gstbasesrc.c:
15950 * libs/gst/base/gstbasesrc.h:
15951 Documentation updates. Make BaseSink and BaseSrc docs contain the
15952 class structure so that people can actually see the prototypes for
15953 virtual functions they're supposed to be overriding.
15955 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15957 * plugins/elements/gsttypefindelement.c:
15958 (gst_type_find_element_chain):
15959 More debug info; when skipping typefinding, send cached
15960 events in all cases.
15962 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
15965 use new AS_VERSION and AS_NANO macros
15966 * gst/gst-i18n-lib.h:
15969 * gst/gstversion.h.in:
15970 * win32/common/config.h:
15971 * win32/common/config.h.in:
15974 2006-03-31 Michael Smith <msmith@fluendo.com>
15976 * plugins/elements/gsttypefindelement.c:
15977 (gst_type_find_element_chain):
15978 Do not typefind content if the buffers already have caps.
15979 Neccesary for icydemux (#333657), and the right thing to do anyway.
15981 2006-03-30 Wim Taymans <wim@fluendo.com>
15983 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15984 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15985 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15986 (gst_base_sink_record_qos_observation),
15987 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15988 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15989 (gst_base_sink_change_state):
15990 More QoS measurements as described in the design doc.
15991 Get rid of ringbuffer with observations, running average is
15992 more simple and equally good.
15993 Calculates valid proportion now.
15994 Added beginning of flood measurement.
15996 2006-03-29 Wim Taymans <wim@fluendo.com>
15998 * docs/design/part-qos.txt:
16000 Small documentation updates and additions.
16002 2006-03-29 Wim Taymans <wim@fluendo.com>
16004 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16005 (gst_base_src_send_event), (gst_base_src_loop),
16006 (gst_base_src_change_state):
16007 Perform the EOS logic when we reach the segment stop position.
16008 Fix compilation on gcc4.1
16010 2006-03-29 Wim Taymans <wim@fluendo.com>
16012 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
16014 * plugins/elements/gstqueue.c: (gst_queue_init),
16015 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
16016 (gst_queue_set_property):
16017 * plugins/elements/gstqueue.h:
16018 In queue, when EOS is received, if minimum threshold > max_size -
16019 current_level, there is chance that queue blocks forever in conditional
16020 item del wait. This is because the queue is not emptied completely due
16021 to minimum threshold. Here is another approach. Instead of setting
16022 cur_levels to max in EOS, just zero all minimum threshold levels. This
16023 should make sure that queue gives out all data. When going to READY
16024 (stop) state, just reset the original minimum threshold levels.
16027 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
16029 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
16030 (gst_type_find_element_handle_event),
16031 (gst_type_find_element_send_cached_events),
16032 (gst_type_find_element_change_state):
16033 * plugins/elements/gsttypefindelement.h:
16034 When typefinding is done in push mode, we should cache
16035 events we receive during typefinding instead of just
16036 dropping them (e.g. newsegment, custom events from
16037 dvdreadsrc etc.) and then send them out once we've
16038 determined the type of the stream (and decodebin
16039 has had a chance to plug in a decoder/demuxer).
16041 2006-03-27 Wim Taymans <wim@fluendo.com>
16043 * docs/design/part-qos.txt:
16046 2006-03-27 Wim Taymans <wim@fluendo.com>
16048 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16050 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16051 (gst_base_src_send_event), (gst_base_src_change_state):
16052 Handle element seek correctly when we are streaming.
16055 2006-03-24 Michael Smith <msmith@fluendo.com>
16057 * docs/faq/gst-uninstalled:
16058 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16059 allow you to correctly run intalled applications built against old
16060 core, using plugins that require updated core (e.g. running
16061 installed totem against a full uninstalled gstreamer stack)
16063 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16065 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16068 2006-03-24 Wim Taymans <wim@fluendo.com>
16070 * docs/gst/gstreamer-sections.txt:
16071 Rearrange the order of the methods so that related methods
16072 are grouped together in sections.
16074 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16076 * gst/gstelement.c:
16077 Little clarification in the docs
16079 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16083 * plugins/elements/gstidentity.c:
16084 * plugins/elements/gstqueue.c:
16085 * plugins/elements/gsttee.c:
16086 * plugins/elements/gsttypefindelement.c:
16087 GST_ELEMENT_DETAILS formatting
16089 2006-03-24 Wim Taymans <wim@fluendo.com>
16091 * libs/gst/base/gstbasesink.h:
16092 Only add fields, not insert or we break ABI.
16094 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16096 * win32/common/libgstbase.def:
16097 * win32/common/libgstreamer.def:
16098 Update, add recently added functions.
16100 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16102 * docs/gst/gstreamer-sections.txt:
16103 * gst/gstutils.c: (gst_pad_query_peer_position),
16104 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16106 API: add some new utility functions:
16107 - gst_pad_query_peer_position()
16108 - gst_pad_query_peer_duration()
16109 - gst_pad_query_peer_convert()
16111 2006-03-23 Wim Taymans <wim@fluendo.com>
16113 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16114 (gst_base_sink_init), (gst_base_sink_finalize),
16115 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16116 (gst_base_sink_set_property), (gst_base_sink_get_property),
16117 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16118 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16119 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16120 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16121 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16122 (gst_base_sink_preroll_object), (gst_base_sink_event),
16123 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16124 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16125 (gst_base_sink_query), (gst_base_sink_change_state):
16126 Decouple max-lateness and the fact that QoS messages are generated
16127 with a new property (qos).
16128 added API: GstBaseSink::async_play()
16129 Add vmethod so subclasses can be notified of ASYNC playing
16131 Collect timestamp start and stop to report better current
16132 position in EOS/PLAYING/PAUSED/READY/NULL.
16133 Refactor QoS/frame dropping and other measurements.
16134 API: GstBaseSrc::qos
16137 * libs/gst/base/gstbasesink.h:
16138 Added Private struct.
16139 API: gst_base_sink_set_qos_enabled()
16140 API: gst_base_sink_is_qos_enabled()
16142 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16144 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16145 If compiling against GLib-2.8 or newer, try to read the
16146 registry file using GMappedFile first before falling back
16147 to fopen() + fread() (#332151).
16149 2006-03-22 Wim Taymans <wim@fluendo.com>
16151 * gst/gstinfo.c: (gst_debug_set_active),
16152 (gst_debug_category_set_threshold):
16153 Disable debugging unless explicitly activated.
16156 2006-03-22 Wim Taymans <wim@fluendo.com>
16158 * gst/gstelement.c: (gst_element_set_locked_state),
16159 (gst_element_dispose):
16160 Cleanup the error case.
16162 * gst/gstobject.c: (gst_object_dispose):
16163 print a critical when some object was disposed with
16164 a parent, also revive the object since it might
16167 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16169 * tools/gst-launch.1.in:
16172 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16175 * tests/check/Makefile.am:
16176 disable some tests when we don't have a registry
16177 * tests/check/gst/gstutils.c: (gst_utils_suite):
16178 don't build the part that needs parsing
16180 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16183 * tests/examples/Makefile.am:
16184 fix --disable-parse build
16186 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16188 * tools/gst-feedback.1.in:
16189 Fix typo: s/feeback/feedback/ (#133494).
16191 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16193 * tools/Makefile.am:
16194 * tools/gst-launch.1.in:
16195 Add FILES section and correct entry about GST_REGISTRY_PATH
16196 environment variable (#133495; #133494).
16198 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16200 * tools/Makefile.am:
16201 * tools/gst-md5sum.1.in:
16202 * tools/gst-md5sum.c:
16203 Remove gst-md5sum and man page (the md5sink element
16204 required was removed ages ago)
16206 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16208 * gst/gststructure.c: (gst_structure_id_set_value):
16209 Make sure that string fields in structures/taglists
16210 contain valid UTF-8 - we don't want to pass rubbish to
16211 applications because of a buggy plugin (cp. #334167).
16213 2006-03-21 Edward Hervey <edward@fluendo.com>
16215 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16216 (gst_bin_handle_message_func):
16217 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16218 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16219 (gst_element_set_bus_func):
16220 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16221 * gst/gstminiobject.c: (gst_value_set_mini_object),
16222 (gst_value_take_mini_object):
16223 * gst/gstpad.c: (gst_pad_set_pad_template):
16224 * gst/gstpipeline.c: (gst_pipeline_dispose),
16225 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16226 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16227 (gst_collect_pads_chain):
16228 * libs/gst/net/gstnettimeprovider.c:
16229 (gst_net_time_provider_set_property):
16230 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16231 It's in fact all issues with gst_*object_replace().
16233 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16235 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16237 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16238 * pkgconfig/gstreamer-check.pc.in:
16239 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16241 2006-03-21 Edward Hervey <edward@fluendo.com>
16245 * gst/gstmessage.h:
16246 gst_[buffer|event|message]_ref() macros are replaced by a static
16247 inline functions because gcc-4.1 will about if the return value
16249 * tests/check/gst/gstevent.c: (event_probe):
16250 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16252 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16255 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16256 the type' case. (Closes: #335195 for now). In the future, when we
16257 depend on GLib 2.10, we could also intern the type name using
16258 g_intern_static_string()
16260 2006-03-20 Wim Taymans <wim@fluendo.com>
16262 * gst/gstbin.c: (gst_bin_handle_message_func),
16263 (bin_query_max_init), (bin_query_position_fold),
16264 (bin_query_position_done), (gst_bin_query):
16265 Position query should also take max of all streams.
16267 2006-03-20 Wim Taymans <wim@fluendo.com>
16269 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16270 (gst_fake_src_finalize):
16271 Fix leaks in fakesrc.
16273 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16274 Fix leaks in the testcase.
16276 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16278 * gst/gst_private.h:
16279 add win32 specific import decoration(__declspec(dllimport))
16280 for all extern GstDebugCategory * variables
16281 * win32/common/libgstbase.def:
16282 * win32/common/libgstcontroller.def:
16283 * win32/common/libgstreamer.def:
16284 Add some exports, remove empty lines
16285 * win32/common/libgstdataprotocol.def:
16286 * win32/common/libgstdataprotocol.dsp:
16287 * win32/common/libgstnet.def:
16288 * win32/common/libgstnet.dsp:
16289 new project files and exportation files added
16291 2006-03-19 Wim Taymans <wim@fluendo.com>
16293 * tests/check/libs/basesrc.c: (eos_event_counter):
16294 Use proper return value for probe.
16296 2006-03-17 Wim Taymans <wim@fluendo.com>
16298 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16300 Don't leak buffers, caps and pads on negotiation errors.
16302 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16304 * docs/faq/cvs.xml:
16305 * docs/faq/dependencies.xml:
16306 * docs/faq/developing.xml:
16307 * docs/faq/faq.xml:
16308 * docs/faq/general.xml:
16309 * docs/faq/getting.xml:
16310 * docs/faq/legal.xml:
16311 * docs/faq/troubleshooting.xml:
16312 * docs/faq/using.xml:
16313 Faq review and update.
16315 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16317 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16319 Don't pound the cpu to pieces by checking get_caps when accept_caps
16320 is called with the same caps as the pad already has.
16321 Use GST_DEBUG_OBJECT when outputting caps change information.
16323 2006-03-15 Wim Taymans <wim@fluendo.com>
16325 * gst/gstclock.c: (gst_clock_class_init):
16328 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16333 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16334 (gst_pad_accept_caps), (gst_pad_configure_sink),
16335 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16336 Make the default acceptcaps behaviour be to check the requested
16337 caps against the gst_pad_get_caps output.
16339 Ensure that gst_pad_accept_caps is used to check caps when a pad
16340 doesn't have a setcaps function, so that pads automatically refuse
16341 caps that they don't allow in their pad template. (Fixes #332986)
16343 When a buffer with attached caps is pushed, ensure that the source
16344 pad receives those caps even if the element didn't call
16345 gst_pad_set_caps first.
16347 2006-03-15 Wim Taymans <wim@fluendo.com>
16349 * libs/gst/base/gstadapter.c:
16352 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16354 * win32/common/libgstbase.def:
16355 * win32/common/libgstcontroller.def:
16356 * win32/common/libgstreamer.def:
16357 Add a whole bunch of missing functions (#334434).
16359 2006-03-14 Wim Taymans <wim@fluendo.com>
16361 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16362 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16363 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16364 Better debug info when we receive a segment event.
16365 Reorganize a bit so we can pass the get_times() results around.
16366 Use the segment format when calculating the running time.
16367 Don't do QoS is sync is disabled or we have no clock or the
16368 element does not want us to sync to the clock.
16369 Don't drop buffers if QoS is disabled for now.
16371 2006-03-14 Wim Taymans <wim@fluendo.com>
16373 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16374 Marked the stats property as unimplemented so people don't get
16376 Add debug message when regression goes wrong.
16377 Added some more docs.
16379 2006-03-14 Wim Taymans <wim@fluendo.com>
16381 * gst/gstsegment.c: (gst_segment_to_stream_time):
16382 Return correct return type in case of errors.
16384 2006-03-14 Wim Taymans <wim@fluendo.com>
16386 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16387 Don't segfault on invalid formats.
16389 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16391 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16392 Can't use gst_segment_to_running_time() when the segment
16393 is not in GST_TIME_FORMAT (like with filesink, for example).
16394 Stops flac encoding pipelines from spewing critical warnings
16397 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16399 * gst/gstpipeline.c: (gst_pipeline_class_init):
16400 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16402 * plugins/elements/gsttypefindelement.c:
16403 (gst_type_find_element_handle_event):
16404 Don't try to typefind empty streams.
16406 2006-03-14 Wim Taymans <wim@fluendo.com>
16408 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16409 (gst_base_sink_do_qos):
16410 Separate QoS calculation.
16411 Only drop buffers when lateness is bigger than the
16412 duration of the buffer.
16414 2006-03-13 Wim Taymans <wim@fluendo.com>
16416 * gst/gstpipeline.c: (gst_pipeline_set_property),
16417 (gst_pipeline_get_property), (do_pipeline_seek),
16418 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16419 (gst_pipeline_get_delay):
16420 Don't deadlock when reading properties.
16422 2006-03-13 Wim Taymans <wim@fluendo.com>
16424 * libs/gst/base/gstbasetransform.c:
16425 (gst_base_transform_class_init), (gst_base_transform_init),
16426 (gst_base_transform_sink_event),
16427 (gst_base_transform_sink_eventfunc),
16428 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16429 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16430 (gst_base_transform_set_property),
16431 (gst_base_transform_get_property),
16432 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16433 (gst_base_transform_set_qos_enabled),
16434 (gst_base_transform_is_qos_enabled):
16435 * libs/gst/base/gstbasetransform.h:
16436 Make basetransform virtual method for src events too.
16437 Handle QOS in basetransform.
16438 API: gst_base_transform_update_qos()
16439 API: gst_base_transform_set_qos_enabled()
16440 API: gst_base_transform_is_qos_enabled()
16442 2006-03-13 Wim Taymans <wim@fluendo.com>
16444 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16445 (gst_base_sink_do_sync):
16447 Use QOS debug category.
16449 2006-03-13 Wim Taymans <wim@fluendo.com>
16451 * plugins/elements/gstqueue.c:
16452 Very small doc update.
16454 2006-03-13 Wim Taymans <wim@fluendo.com>
16456 * gst/gst_private.h:
16457 * gst/gstinfo.c: (_gst_debug_init):
16458 Added QOS debug category
16460 2006-03-13 Wim Taymans <wim@fluendo.com>
16462 * docs/gst/gstreamer-sections.txt:
16463 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16465 * gst/gstbus.c: (gst_bus_class_init):
16468 * gst/gstelement.c: (gst_element_set_locked_state):
16469 * gst/gstsegment.c:
16470 Documentation updates.
16472 * gst/gstpipeline.c: (gst_pipeline_get_type),
16473 (gst_pipeline_class_init), (gst_pipeline_init),
16474 (gst_pipeline_dispose), (gst_pipeline_set_property),
16475 (gst_pipeline_get_property), (do_pipeline_seek),
16476 (gst_pipeline_send_event), (gst_pipeline_change_state),
16477 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16478 (gst_pipeline_get_delay):
16479 * gst/gstpipeline.h:
16480 Added methods for setting the delay.
16481 API: gst_pipeline_set_delay()
16482 API: gst_pipeline_get_delay()
16483 Add pipeline debug category
16486 Don't reset stream time when seek failed.
16488 2006-03-13 Wim Taymans <wim@fluendo.com>
16490 * docs/design/draft-klass.txt:
16491 * docs/design/part-clocks.txt:
16492 * docs/design/part-events.txt:
16493 * docs/design/part-gstbin.txt:
16494 * docs/design/part-gstpipeline.txt:
16495 * docs/design/part-messages.txt:
16496 * docs/design/part-negotiation.txt:
16497 * docs/design/part-overview.txt:
16498 * docs/design/part-preroll.txt:
16499 * docs/design/part-seeking.txt:
16500 * docs/design/part-states.txt:
16501 * docs/design/part-streams.txt:
16502 Documentation updates.
16504 2006-03-12 Julien MOUTTE <julien@moutte.net>
16506 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16507 us to leak strings...
16509 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16511 * libs/gst/net/gstnettimeprovider.c:
16513 * win32/common/config.h:
16516 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16518 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16521 Don't check for libgnomeui (leftover from old examples
16522 that aren't built or disted any longer) (#334303).
16524 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16526 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16527 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16528 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16529 there's no space left on the device.
16531 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16534 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16535 to cast the input to GstClockTime before comparing with
16536 another GstClockTime value.
16538 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16543 === release 0.10.4 ===
16545 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16548 releasing 0.10.4, "Light"
16550 2006-03-10 Michael Smith <msmith@fluendo.com>
16552 * libs/gst/dataprotocol/dataprotocol.c:
16553 Fix docs for dataprocotol to not get the return types completely
16554 wrong for a few functions.
16556 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16558 * docs/gst/gstreamer-sections.txt:
16559 * gst/gstpipeline.c: (gst_pipeline_class_init),
16560 (gst_pipeline_init), (gst_pipeline_set_property),
16561 (gst_pipeline_get_property), (gst_pipeline_change_state),
16562 (gst_pipeline_set_auto_flush_bus),
16563 (gst_pipeline_get_auto_flush_bus):
16564 * gst/gstpipeline.h:
16565 Add new API: gst_pipeline_set_auto_flush_bus() and
16566 gst_pipeline_get_auto_flush_bus() to disable automatic
16567 flushing of the pipeline's GstBus when going from READY
16568 to NULL state (#332045).
16570 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16572 * docs/gst/gstreamer-sections.txt:
16573 * gst/gsturi.c: (gst_uri_has_protocol):
16575 Add new API: gst_uri_has_protocol() (#333779).
16577 2006-03-09 Wim Taymans <wim@fluendo.com>
16579 * gst/gstclock.c: (gst_clock_entry_new),
16580 (gst_clock_id_compare_func), (gst_clock_id_wait),
16581 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16582 (gst_clock_init), (gst_clock_get_internal_time),
16583 (gst_clock_set_master), (do_linear_regression),
16584 (gst_clock_add_observation), (gst_clock_set_property):
16588 Fix a possible segfault when the window-size is made smaller.
16589 Calculate jitter before performing the clock wait. Ideally
16590 the clock implementation should calculate jitter but we need
16591 API breakage for that.
16593 * gst/gstsystemclock.c: (gst_system_clock_init):
16596 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16597 Remove leftover else
16599 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16600 (gst_systemclock_suite):
16601 Added check to test GST_CLOCK_DIFF.
16603 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16605 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16606 (gst_type_find_helper_get_range):
16607 If we are provided with the size, we should implement
16608 GstTypeFind::get_length, so that typefind functions who
16609 want to can actually peek at the middle of a file.
16611 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16613 * docs/manual/advanced-dataaccess.xml:
16614 Add some very very basic error checking.
16616 * docs/pwg/appendix-checklist.xml:
16617 Some updates to the list of things to check when writing an element.
16619 2006-03-08 Wim Taymans <wim@fluendo.com>
16621 * docs/design/part-element-transform.txt:
16622 Added some docs about the design of tranform elements.
16624 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16625 (gst_base_src_loop), (gst_base_src_change_state):
16626 Mark buffers with the DISCONT flag.
16628 2006-03-08 Michael Smith <msmith@fluendo.com>
16630 * gst/gstregistry.h:
16631 * gst/gstregistryxml.c: (gst_registry_save),
16632 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16633 (gst_registry_xml_save_pad_template),
16634 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16635 (gst_registry_xml_write_cache):
16636 Rewrite registry-saving to avoid race conditions and check for
16639 2006-03-08 Wim Taymans <wim@fluendo.com>
16641 * libs/gst/base/gstbasetransform.c:
16642 (gst_base_transform_transform_caps),
16643 (gst_base_transform_transform_size),
16644 (gst_base_transform_prepare_output_buffer),
16645 (gst_base_transform_get_unit_size),
16646 (gst_base_transform_buffer_alloc),
16647 (gst_base_transform_handle_buffer),
16648 (gst_base_transform_change_state):
16649 Cleanups, separate normal flow from errors, add sensible
16651 Don't try to renegotiate when allocating an output buffer.
16652 Also copy DISCONT buffer flag when copying a buffer.
16653 Reset the transform after we finish streaming, not during.
16655 2006-03-08 Wim Taymans <wim@fluendo.com>
16657 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16658 Use last buffer timestamp in qos message.
16660 2006-03-07 Wim Taymans <wim@fluendo.com>
16662 Patch by: Christophe Fergeau
16664 * docs/pwg/advanced-tagging.xml:
16665 * docs/pwg/building-pads.xml:
16668 2006-03-07 Wim Taymans <wim@fluendo.com>
16670 * docs/libs/gstreamer-libs-sections.txt:
16671 Added basesink new methods.
16675 Docs updates. Flesh out the QoS docs.
16677 * libs/gst/base/gstadapter.c:
16678 Small doc clarification about ownership and flushing.
16680 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16681 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16682 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16683 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16684 * libs/gst/base/gstbasesink.h:
16686 Added new methods to allow subclass to control max-lateness
16688 Generate very basic QoS events based on last sync observation.
16689 Updated docs, fix typo, added some QoS blurb.
16691 * libs/gst/base/gstbasesrc.c:
16692 Remove obsolete _get_state() calls from docs.
16694 2006-03-07 Wim Taymans <wim@fluendo.com>
16696 * docs/libs/gstreamer-libs-sections.txt:
16697 * libs/gst/base/gstbasetransform.h:
16698 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16699 Fix docs for GstBaseSrc.
16701 2006-03-07 Wim Taymans <wim@fluendo.com>
16703 * docs/gst/gstreamer-sections.txt:
16706 * libs/gst/base/gstbasetransform.h:
16707 Small documentation fixes.
16709 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16712 Document thread-unsafety of gst_value_register_foo_func()
16713 when used at the same time as gst_value_foo() (#322628).
16715 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16717 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16718 (gst_push_src_check_get_range):
16719 Push sources don't support pull mode by default.
16721 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16723 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16724 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16725 (gst_base_src_default_check_get_range):
16726 * libs/gst/base/gstbasesrc.h:
16727 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16728 provide default implementation, and rename
16729 gst_base_src_check_get_range() to
16730 gst_base_src_pad_check_get_range() for clarity.
16732 2006-03-06 Wim Taymans <wim@fluendo.com>
16734 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16735 Make property overridable.
16737 2006-03-06 Wim Taymans <wim@fluendo.com>
16739 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16740 (gst_base_sink_init), (gst_base_sink_set_property),
16741 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16742 * libs/gst/base/gstbasesink.h:
16743 API addition: Make max-lateness a property.
16745 2006-03-06 Wim Taymans <wim@fluendo.com>
16747 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16748 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16749 Don't ever draw a frame that is >10ms late.
16751 2006-03-06 Michael Smith <msmith@fluendo.com>
16753 * gst/gstmessage.c: (_gst_message_copy):
16754 When copying a message, set the parent_refcount of the enclosed
16755 structure to point at the copy, not the original message.
16757 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16759 Patch by: Christophe Fergeau
16762 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16763 usable in c++ code (#333417)
16765 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16768 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16770 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16772 * libs/gst/base/gstbasetransform.c:
16773 (gst_base_transform_transform_caps):
16774 Make sure caps are writable before passing them to
16777 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16780 Fix some minor docs errors.
16782 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16784 Patch by: Ross Burton <ross at burtonini dot com>
16786 * gst/gsterror.c: (_gst_resource_errors_init):
16788 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16790 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16793 Add a check and output a g_warning when GStreamer is built
16794 against GLib 2.6 but running against 2.8 or higher, and vice
16795 versa. (Closes: #323542)
16797 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16799 * gst/parse/parse.l:
16800 Commit patch for parse_launch syntax from #331255. Removes
16801 support for quoted strings and mimetypes when writing filtered
16802 caps. See the bug report for more details - I'm pretty sure this
16803 obscure feature is not in use by _anyone_ anywhere.
16805 With this simple change, the size of the gstreamer.so here
16806 drops from 2193KB to 1565KB.
16808 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16810 * plugins/elements/gsttypefindelement.h:
16811 * plugins/elements/gsttypefindelement.c:
16812 (gst_type_find_element_src_event), (start_typefinding),
16813 (stop_typefinding), (gst_type_find_element_handle_event),
16814 (gst_type_find_element_chain),
16815 (gst_type_find_element_chain_do_typefinding):
16816 Use gst_type_find_helper_for_buffer() for chain-based
16819 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16821 * plugins/elements/gsttypefindelement.c:
16822 (gst_type_find_element_class_init),
16823 (gst_type_find_element_set_property),
16824 (gst_type_find_element_get_property):
16825 Deprecate "maximum" property (not only was it only taken into
16826 account for typefinding in push-mode anyway, it also was never
16827 actually possible to set it in the first place because the
16828 property was registered with the numeric property ID for the
16829 "minimum" property). Register "maximum" property correctly,
16830 for the sake of future copy'n'pasters. Remove some cruft
16831 from property get/set functions.
16833 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16835 * plugins/elements/gsttypefindelement.c:
16836 (gst_type_find_element_activate):
16837 Use gst_type_find_helper_get_range() here, so we
16838 can honour the "minimum" property and also emit
16839 the signal with the correct probability of the found caps.
16841 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16843 * docs/libs/gstreamer-libs-sections.txt:
16844 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16845 (helper_find_suggest), (gst_type_find_helper_get_range),
16846 (gst_type_find_helper):
16847 * libs/gst/base/gsttypefindhelper.h:
16848 New API: gst_type_find_helper_get_range() (#333042).
16850 2006-03-02 Michael Smith <msmith@fluendo.com>
16852 * gst/gstregistryxml.c: (load_feature):
16853 Asserting on a failure to read part of the registry is Not Cool.
16854 Just log a warning and return NULL (which is already handled)
16856 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16858 * win32/common/libgstbase.def:
16859 added export of gst_type_find_helper_for_buffer
16860 * win32/common/libgstbase.def:
16861 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16862 gst_ghost_pad_get_target
16864 2006-02-28 Wim Taymans <wim@fluendo.com>
16866 * docs/design/draft-klass.txt:
16868 Added Connector to mark elements that are only used to
16869 allow pipeline connections.
16870 Moved Debug to extra feature since most of them are
16871 functionally something else.
16873 2006-02-28 Wim Taymans <wim@fluendo.com>
16875 * docs/design/draft-klass.txt:
16876 Some updates and clarifications.
16878 2006-02-28 Wim Taymans <wim@fluendo.com>
16880 * docs/design/draft-klass.txt:
16881 Proposal for klass field values.
16883 * docs/design/part-streams.txt:
16884 Start of a doc describing stream anatomy.
16886 2006-02-28 Wim Taymans <wim@fluendo.com>
16888 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16889 Help the compiler a bit with type registration.
16890 Use existing forward cod path instead of duplicating it when
16891 handling a message.
16893 * gst/gstbus.c: (gst_bus_get_type):
16894 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16895 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16896 * gst/gstclock.c: (gst_clock_get_type):
16897 * gst/gstelement.c: (gst_element_get_type),
16898 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16899 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16900 * gst/gstminiobject.c: (gst_mini_object_get_type):
16901 * gst/gstpad.c: (gst_pad_get_type):
16902 * gst/gstsegment.c: (gst_segment_get_type):
16903 * gst/gststructure.c: (gst_structure_get_type):
16904 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16905 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16907 Help compiler with type registration.
16909 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16912 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16914 * plugins/elements/gsttypefindelement.c:
16915 (gst_type_find_element_handle_event):
16916 When we get an EOS event and have not found a type yet
16917 (most likely because we had not yet accumulated
16918 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16919 type given the data we have so far. Fixes typefinding
16920 for very short streams again, most notably quicktime
16921 redirections as used on Apple's trailer site (#331701).
16923 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16925 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16926 (gst_type_find_helper):
16927 Try typefinding factories with the highest rank first.
16929 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16931 * docs/libs/gstreamer-libs-docs.sgml:
16932 * docs/libs/gstreamer-libs-sections.txt:
16933 * libs/gst/base/gsttypefindhelper.c:
16934 Add section for typefind helper and add documentation
16935 for the old and the new function.
16937 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16939 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16940 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16941 (gst_type_find_helper_for_buffer):
16942 * libs/gst/base/gsttypefindhelper.h:
16943 New API: gst_type_find_helper_for_buffer() (#332723).
16945 2006-02-27 Michael Smith <msmith@fluendo.com>
16947 Patch by: Loïc Minier
16950 * docs/Makefile.am:
16951 * docs/slides/Makefile.am:
16952 prevent CVS directories getting disted.
16954 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16956 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16957 Use the REFCOUNTING category for caps refcounting.
16959 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16961 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16962 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16964 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16966 * plugins/elements/gsttypefindelement.c:
16967 (gst_type_find_element_activate):
16968 Use gst_pad_check_pull_range() before _activate_pull()
16969 to avoid unnecessary open/close (see #331690).
16971 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16974 Docs enhancement: make it crystal clear what the
16975 gst_pad_add_*_probe() callbacks should look like.
16977 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16979 * libs/gst/base/gstbasesrc.c:
16980 Document how applications can stop recording from
16981 live sources (see #330996).
16983 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16985 * tests/check/Makefile.am:
16986 * tests/check/libs/basesrc.c: (eos_event_counter),
16987 (basesrc_eos_events_pull), (basesrc_eos_events_push),
16988 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16989 (gst_basesrc_suite), (main):
16990 ... and add some tests for the base source EOS stuff.
16992 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16994 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16995 Test case originally showed the problem fixed below,
16996 but was then amended. Add checks back at the place
16997 where they used to be.
16999 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17001 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
17002 (gst_base_src_init), (gst_base_src_loop),
17003 (gst_base_src_activate_push), (gst_base_src_activate_pull),
17004 (gst_base_src_change_state):
17005 * libs/gst/base/gstbasesrc.h:
17006 Don't unconditionally send EOS when going from PAUSED to
17007 READY state, esp. make sure we don't send two EOS events
17008 in some cases (e.g. one when reaching EOS and one when
17009 going from PAUSED to READY). Also, we don't want to send
17010 EOS events when operating in pull mode. However, we do
17011 want to send an EOS event when shutting down a live
17012 source explicitly, for example (fixes #330996).
17014 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
17016 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
17017 Update src->read_position after a seek when not using mmap.
17018 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
17020 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
17026 Make things work with --disable-parse as they do with
17027 --disable-load-save - the symbols involved disappear, but the
17028 header is still installed and GST_DISABLE_PARSE is included via
17031 2006-02-20 Julien MOUTTE <julien@moutte.net>
17033 * libs/gst/base/gstbasetransform.c:
17034 (gst_base_transform_change_state): Fix a stupid bug. I was
17035 sure I compiled that.
17037 2006-02-20 Julien MOUTTE <julien@moutte.net>
17039 * gst/gstpad.c: (gst_pad_set_blocked_async):
17040 * gst/gstutils.c: (gst_pad_add_data_probe),
17041 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17042 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17043 (gst_pad_remove_buffer_probe): Make those function act on the
17044 ghostpad target when it's a ghostpad. (Closes #331727)
17046 2006-02-20 Julien MOUTTE <julien@moutte.net>
17048 * libs/gst/base/gstbasetransform.c:
17049 (gst_base_transform_change_state): Make basetransform reusable.
17052 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
17054 * docs/random/release:
17055 Move the current documentation of how to do a release to the top
17058 * gst/gstbin.c: (gst_bin_class_init),
17059 (gst_bin_handle_message_func):
17060 Allow multiple state-recalculation threads. (Closes #328873)
17062 2006-02-19 Julien MOUTTE <julien@moutte.net>
17064 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17065 * gst/gstpad.c: (gst_pad_set_event_function),
17066 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17067 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17068 2 strings. You can't use the STR_NULL macro on that.
17070 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
17072 * gst/gstpad.c: (gst_pad_set_event_function),
17073 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17074 (gst_pad_set_getcaps_function)
17075 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17076 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17077 So now, we can use --gst-debug-level=5 on Windows
17078 * win32/common/libgstcontroller.def:
17079 Added export of gst_controller_init
17080 * win32/vs6/libgstcontroller.dsp:
17081 Fixed Release post build configuration
17083 2006-02-17 Wim Taymans <wim@fluendo.com>
17085 * tests/check/gst/gstquery.c: (GST_START_TEST):
17086 Added another check.
17088 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17090 * plugins/elements/gsttypefindelement.c: (find_peek):
17091 We can do peeks at non-zero offsets, as long as they
17092 fall within the buffer we have.
17094 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17096 * tests/check/Makefile.am:
17097 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17098 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17099 (parse_suite), (main):
17100 Add testsuite for parse launch syntax
17102 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17104 * plugins/elements/gsttypefindelement.c:
17105 (gst_type_find_element_chain):
17106 When typefinding is unsuccessful in the chain function, don't
17107 error out immediately. Only error out with NO_CAPS_FOUND if
17108 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17109 otherwise simply wait for more data so we can try typefinding
17110 again with more data later. Also, don't attempt to typefind
17111 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17112 this should improve typefinding from network sources where the
17113 size of the first buffer can be somewhat random.
17115 2006-02-14 Wim Taymans <wim@fluendo.com>
17117 * docs/gst/gstreamer-sections.txt:
17118 * gst/gstpadtemplate.c:
17119 * gst/gstpadtemplate.h:
17120 Fix padtemplate docs, fixes #328805.
17122 2006-02-14 Wim Taymans <wim@fluendo.com>
17124 * tools/gst-launch.c: (main):
17125 NO_PREROLL is not an ERROR so don't send confusing messages
17128 2006-02-14 Wim Taymans <wim@fluendo.com>
17130 Patch by: Torsten Schoenfeld
17132 * gst/gstregistry.c: (gst_registry_get_default),
17133 (_gst_registry_cleanup):
17134 Protect default registry with lock and ref/sink it.
17137 2006-02-14 Wim Taymans <wim@fluendo.com>
17140 * gst/gstquery.c: (gst_query_list_add_format),
17141 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17142 (gst_query_parse_formats_nth):
17143 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17146 2006-02-14 Wim Taymans <wim@fluendo.com>
17148 * docs/gst/gstreamer-sections.txt:
17149 Reworked query docs.
17151 * gst/gstquery.c: (gst_query_new_formats),
17152 (gst_query_list_add_format), (gst_query_set_formats),
17153 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17154 (gst_query_parse_formats_nth):
17156 Flesh out formats query, added some new methods.
17157 Fix part of #324398.
17159 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17160 Added query creation tests.
17162 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17164 * gst/gstpad.c: (fixate_value):
17165 Add a default fixation for fraction lists.
17167 2006-02-13 Wim Taymans <wim@fluendo.com>
17169 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17170 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17173 Detect and warn for obvious deadlocks. fixes #320340
17174 Fix error case where lock was not released.
17176 * tests/check/Makefile.am:
17177 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17178 (task_func), (gst_element_suite), (main):
17181 2006-02-13 Wim Taymans <wim@fluendo.com>
17183 * docs/gst/gstreamer-sections.txt:
17185 Add new functions to docs.
17187 2006-02-13 Wim Taymans <wim@fluendo.com>
17189 * docs/design/part-TODO.txt:
17190 Updated TODO list, basesrc supports seeking to non-bytes
17193 * docs/design/part-element-sink.txt:
17196 * gst/gstbin.c: (bin_replace_message),
17197 (gst_bin_handle_message_func):
17198 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17199 * gst/gstevent.c: (gst_event_finalize):
17200 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17201 (gst_pad_send_event):
17202 Use shiny new _TYPE_NAME macros.
17204 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17205 Move debug statement up.
17207 * gst/gstelement.c: (gst_element_set_locked_state):
17208 Add some debugging.
17210 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17212 * docs/gst/gstreamer-sections.txt:
17213 * gst/gstmessage.h:
17215 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17216 macros (#330906). Also, document the already existing
17217 GST_QUERY_TYPE macro.
17219 2006-02-13 Wim Taymans <wim@fluendo.com>
17221 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17222 (event_probe), (GST_START_TEST):
17223 Only events up to the pipeline EOS are counted, there are
17224 some more when going to NULL currently which we don't care
17227 2006-02-13 Wim Taymans <wim@fluendo.com>
17229 * gst/gstpad.c: (gst_pad_send_event):
17230 Correctly check flushing and emit probes. fixes #330125
17232 2006-02-10 Andy Wingo <wingo@pobox.com>
17234 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17236 (gst_bus_init): Cache the location of the private data in the
17237 instance structure.
17238 (gst_bus_enable_sync_message_emission)
17239 (gst_bus_disable_sync_message_emission): Implement new public
17241 (gst_bus_post): Emit the sync-message signal if the user asked for
17244 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17245 location of the bus-private structure.
17246 (gst_bus_enable_sync_message_emission)
17247 (gst_bus_disable_sync_message_emission): API addition
17249 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17251 Patch by: Vincent Torri
17253 * docs/pwg/building-boiler.xml:
17254 PWG patch from #326800
17256 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17259 * docs/Makefile.am:
17260 * docs/design/Makefile.am:
17263 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17268 === release 0.10.3 ===
17270 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17273 releasing 0.10.3, "Like a virgin"
17275 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17278 2nd prerelease of 0.10.3
17279 Bump libtool versioning.
17281 2006-02-07 Andy Wingo <wingo@pobox.com>
17283 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17284 update last_stop if we're in TIME format and the timestamp is
17287 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17288 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17289 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17290 If we get a new newsegment with a different format, adapt
17293 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17294 of 0. Not a problem, really.
17296 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17299 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17304 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17307 project files updated to the default vs7 configuration
17308 * win32/common/libgstbase.def:
17309 * win32/common/libgstreamer.def:
17311 removed empty lines,
17312 sorted all exported symbols alphabetically
17313 * win32/common/dirent.c:
17314 * win32/common/dirent.h:
17315 * win32/common/gchar.h:
17316 use windows line end.
17318 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17320 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17321 Send EOS event when stopping.
17323 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17326 Tell folks what to do if the plugin-foobar.xml file
17327 hasn't been generated for a newly-added plugin.
17329 2006-02-05 Julien MOUTTE <julien@moutte.net>
17331 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17332 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17333 (gst_collect_pads_start), (gst_collect_pads_stop),
17334 (gst_collect_pads_event): Collectpads now holds a reference
17335 to the GstPad that was added. Indeed we don't want to look
17336 at pads that might just go away with no warning...
17338 2006-02-05 Julien MOUTTE <julien@moutte.net>
17340 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17341 (gst_collect_pads_start), (gst_collect_pads_stop),
17342 (gst_collect_pads_event), (gst_collect_pads_chain):
17343 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17344 Mark Nauwelaerts's patch on bug #328491.
17346 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17348 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17350 Add some simple tests for gst_parse_bin_from_description() and
17351 gst_bin_find_unconnected_pad() (#329069).
17353 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17355 * tools/gst-launch.c: (event_loop), (main):
17356 Catch errors during preroll (#320084).
17358 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17360 * plugins/elements/gsttypefindelement.c:
17361 (gst_type_find_element_activate):
17362 Post TYPE_NOT_FOUND error message when typefinding
17363 is unsuccessful in the activate function as well.
17365 2006-02-02 Wim Taymans <wim@fluendo.com>
17367 * docs/design/part-element-sink.txt:
17370 2006-02-02 Wim Taymans <wim@fluendo.com>
17372 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17373 (gst_base_sink_render_object),
17374 (gst_base_sink_queue_object_unlocked):
17375 Only keep track of prerollable items when we are
17377 Before rendering after preroll, always check if we
17379 Added some more debugging.
17381 2006-02-02 Wim Taymans <wim@fluendo.com>
17383 * gst/gstelement.c: (gst_element_continue_state),
17384 (gst_element_set_state_func), (gst_element_change_state):
17385 Fixed #326576, been running this for quite some time with
17386 no regressions at all.
17388 2006-02-02 Wim Taymans <wim@fluendo.com>
17391 Added more suppressions
17393 2006-02-02 Wim Taymans <wim@fluendo.com>
17395 * docs/design/part-element-sink.txt:
17398 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17399 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17400 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17401 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17402 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17403 (gst_base_sink_preroll_object),
17404 (gst_base_sink_queue_object_unlocked),
17405 (gst_base_sink_queue_object), (gst_base_sink_event),
17406 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17407 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17408 (gst_base_sink_get_position), (gst_base_sink_change_state):
17409 * libs/gst/base/gstbasesink.h:
17410 Totally refactored matching the design doc.
17411 Use two segments, one to clip incomming buffers and another to
17413 Handle queueing correctly, bypass the queue when playing.
17414 Make EOS cancelable.
17415 Handle errors correctly when operating in pull based mode.
17417 * tests/check/elements/fakesink.c: (GST_START_TEST),
17419 Added new check for sinks.
17421 2006-02-02 Wim Taymans <wim@fluendo.com>
17423 * gst/gstsegment.c: (gst_segment_clip):
17424 No reason to refuse to clip when start == -1
17426 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17429 * docs/manual/intro-basics.xml:
17430 * docs/manual/intro-preface.xml:
17431 * docs/manual/manual.xml:
17432 * docs/pwg/advanced-dparams.xml:
17433 * docs/pwg/intro-basics.xml:
17434 * docs/pwg/intro-preface.xml:
17435 * docs/pwg/pwg.xml:
17436 describe dparams (controller) for plugins
17437 unify docs a little more
17439 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17441 * docs/gst/gstreamer-sections.txt:
17442 * gst/gstutils.c: (element_find_unconnected_pad),
17443 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17445 Add new API: gst_parse_bin_from_description() and
17446 gst_bin_find_unconnected_pad() (#329069).
17448 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17450 * docs/manual/README:
17451 uncover a nasty detail of the docs build
17453 2006-01-31 Wim Taymans <wim@fluendo.com>
17455 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17456 Don't cache duration messages if we're not going to use or
17459 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17461 * docs/manual/advanced-dparams.xml:
17462 * docs/pwg/advanced-dparams.xml:
17466 * libs/gst/controller/lib.c: (gst_controller_init):
17469 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17471 * gst/gstelement.c: (gst_element_message_full):
17472 also show file/line/func if no additional debug was given
17474 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17476 * win32/vs7/grammar.vcproj:
17477 activate copy of autogenerated files for Release mode
17479 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17481 * win32/common/libgstreamer.def:
17482 export gst_value_compare
17484 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17486 * plugins/elements/Makefile.am:
17487 * plugins/elements/gstelements.c:
17488 * plugins/elements/gstfdsink.c: (_do_init),
17489 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17490 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17491 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17492 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17493 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17494 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17495 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17496 * plugins/elements/gstfdsink.h:
17497 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17499 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17501 * docs/manual/advanced-dparams.xml:
17502 describe controller
17503 * docs/manual/advanced-position.xml:
17504 * docs/manual/basics-init.xml:
17505 * docs/manual/manual.xml:
17506 * docs/manual/titlepage.xml:
17507 * docs/pwg/pwg.xml:
17508 * docs/pwg/titlepage.xml:
17509 cleanup xml (more to come)
17510 * libs/gst/controller/gstcontroller.c:
17513 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17515 * win32/vs6/grammar.dsp:
17516 add autogen of gstmarshal.c,h for Release mode
17518 2006-01-30 Wim Taymans <wim@fluendo.com>
17520 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17521 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17522 (gst_base_sink_handle_object), (gst_base_sink_event),
17523 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17524 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17525 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17526 (gst_base_sink_deactivate), (gst_base_sink_activate),
17527 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17528 (gst_base_sink_query), (gst_base_sink_change_state):
17529 Basesink cleanups, remove some old code.
17530 Handle the case where a subclass can preroll in the render
17531 method (mostly audiosinks).
17532 Handle more events.
17533 Remove some locks around variables that are now protected
17534 with the PREROLL_LOCK (clock_id, flushing, ..).
17535 Optimize position query some more, do correct locking.
17536 Remove old code to push queue in state change, this is not
17537 needed anymore since preroll blocks on all prerollable items
17539 Almost implemented as described in design doc.
17541 2006-01-30 Wim Taymans <wim@fluendo.com>
17543 * tests/check/gst/gstbin.c: (GST_START_TEST):
17544 Wait for refcount to settle down before checking.
17546 2006-01-30 Wim Taymans <wim@fluendo.com>
17548 * docs/design/part-element-sink.txt:
17549 Pseudo code overview of desired sink behaviour regarding
17552 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17553 * win32/vs6/grammar.dsp:
17554 fix some bugs in Release mode for autogenerated files
17556 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17557 * win32/common/libgstbase.def:
17558 * win32/common/libgstreamer.def:
17559 export some new symbols: gst_base_src_set_format,
17560 gst_iterator_next, gst_structure_set_valist
17562 2006-01-29 Julien MOUTTE <julien@moutte.net>
17564 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17565 Set pad functions unconditionally. Fixes #329105.
17567 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17569 add vs8 project files created by Sergey Scobich
17571 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17573 * gst/gstutils.c: (gst_element_unlink_pads):
17574 Don't leak pad references.
17576 * tests/check/elements/fakesink.c: (GST_START_TEST):
17577 * tests/check/generic/sinks.c: (GST_START_TEST):
17578 * tests/check/generic/states.c: (GST_START_TEST):
17579 * tests/check/gst/gstbin.c: (GST_START_TEST):
17580 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17581 * tests/check/gst/gstelement.c: (GST_START_TEST):
17582 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17583 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17584 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17585 Fix a bunch of leaks. Make generic/sinks.c
17586 use a bit less cpu by slowing the buffer rate
17587 between fakesrc and fakesink.
17589 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17591 * gst/gstelement.c: (gst_element_send_event):
17594 * gst/gstiterator.c:
17595 * gst/gstiterator.h:
17596 * gst/gstpad.c: (gst_pad_send_event):
17597 * gst/gststructure.c:
17601 * libs/gst/base/gstadapter.c:
17602 doc fixes, to link to function, just write gst_cool_function(), don't
17605 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17607 * plugins/elements/gsttee.c: (gst_tee_do_push),
17608 (gst_tee_handle_buffer):
17609 Always prefer an actual return value from a src
17610 pad in place of NOT_LINKED. This means we return
17611 WRONG_STATE when all src pads are WRONG_STATE
17612 instead of NOT_LINKED.
17614 Lock when replacing the last message to prevent
17615 racing with the get_property method.
17619 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17621 * tests/check/Makefile.am:
17622 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17624 Add a very simple check that should have caught the memleak I fixed
17625 last night (if not for the slice allocator hiding it)
17627 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17629 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17630 (gst_bin_remove_func), (gst_bin_handle_message_func),
17631 (bin_query_duration_fold), (bin_query_generic_fold):
17632 Clean up references to the clock provider when disposed or when
17633 handling a clock-lost message from it.
17635 Unref sinks when performing a query via gst_iterator_fold, as the
17636 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17638 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17639 (gst_clock_set_master):
17640 Drop our reference to the master clock, if any, when we are disposed.
17642 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17643 Chain up in dispose.
17645 2006-01-26 Wim Taymans <wim@fluendo.com>
17647 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17648 Add some debugging.
17650 2006-01-26 Julien MOUTTE <julien@moutte.net>
17652 * plugins/elements/gsttee.c: (gst_tee_do_push),
17653 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17654 handles pad being NOT_LINKED or in WRONG_STATE.
17656 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17661 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17664 remove obsolete entry
17666 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17668 * docs/gst/gstreamer-sections.txt:
17669 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17670 (gst_bin_iterate_sources), (gst_bin_send_event):
17672 * gst/gstelement.c: (gst_element_send_event):
17674 * gst/gstpad.c: (gst_pad_send_event):
17675 added code for downstream events, reviewed docs in gstevent.c
17677 2006-01-25 Julien MOUTTE <julien@moutte.net>
17679 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17680 We only query position using the clock in the playing state.
17681 Query peer in the other cases.
17682 * win32/common/config.h: Updates.
17684 2006-01-24 Wim Taymans <wim@fluendo.com>
17686 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17687 A clock entry that is scheduled for the exact time of the
17688 clock is still in time.
17690 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17691 (gst_base_sink_do_sync):
17692 Add some more debug info.
17694 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17697 Add new vs7 project files and solution.
17699 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17702 all files removed as they were out-dated.
17704 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17706 * docs/random/release:
17708 * gst/gstbin.c: (gst_bin_init):
17709 * gst/gstbus.c: (gst_bus_new):
17711 * gst/gstpipeline.c: (gst_pipeline_init):
17712 use gst_bus_new(), improve logging, fix docs
17713 * win32/common/config.h:
17714 update for cvs build
17716 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17719 up required version of automake to 1.7
17721 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17723 * win32/common/libgstreamer.def:
17724 export gst_buffer_is_metadata_writable
17726 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17728 * docs/gst/gstreamer-sections.txt:
17730 Add gst_event_replace() (#327001)
17732 2006-01-20 Wim Taymans <wim@fluendo.com>
17734 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17735 Make it actually compile too..
17737 2006-01-20 Wim Taymans <wim@fluendo.com>
17740 Clarify behaviour of _is_equal() when passing NULL parameters.
17742 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17743 (gst_pad_set_caps):
17744 Cleanups. Don't unref NULL caps.
17745 When setting the same caps, protect caps of the pad with
17747 Use full functionality of _is_equal() when comparing caps.
17749 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17751 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17752 Don't loop infinitely if there are no buffers to present. Partially
17753 fixes #327197, but collectpads is just broken for reusing elements
17754 to do multiple encodes atm.
17756 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17758 * tools/gst-inspect.c: (print_element_features):
17759 * tools/gst-xmlinspect.c: (main):
17760 URL_HANDLER is not a plugin feature we can search for in
17763 2006-01-19 Edward Hervey <edward@fluendo.com>
17765 * gst/gstelement.c: (gst_element_pads_activate):
17766 When activating, do src pads first, then sink pads.
17767 When de-activating, do sink pads first, then src pads.
17769 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17771 * docs/gst/gstreamer-sections.txt:
17772 Add gst_index_add_associationv to the docs
17774 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17779 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17780 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17781 Do some refactoring. Doesn't actually change functionality,
17782 but makes landing the DRAIN event easier later.
17784 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17786 * docs/pwg/advanced-scheduling.xml:
17787 Update from 0.9.x to 0.10 API and make example a bit
17790 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17792 * docs/gst/gstreamer-sections.txt:
17793 Add gst_buffer_(is|make)_metadata_writable methods.
17795 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17797 * docs/design/part-sparsestreams.txt:
17798 Update sparse streams doc, hopefully for greater clarity
17800 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17802 * docs/design/part-events.txt:
17803 Remove mention of FILLER events.
17806 * docs/design/part-sparsestreams.txt:
17807 Write some things about using NEWSEGMENT to keep sparse streams
17810 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17812 * gst/gstbin.c: (gst_bin_dispose):
17813 Guard gst_object_unref call against a NULL object (dispose
17814 can theoretically be called multiple times).
17816 2006-01-18 Wim Taymans <wim@fluendo.com>
17818 * gst/gstbin.c: (gst_bin_element_set_state):
17819 * gst/gstclock.c: (gst_clock_id_wait):
17820 Added some more debug info.
17822 * libs/gst/base/gstadapter.c:
17825 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17826 (gst_base_sink_do_sync), (gst_base_sink_chain):
17827 Added some comments.
17829 2006-01-18 Wim Taymans <wim@fluendo.com>
17831 * tests/check/Makefile.am:
17832 * tests/check/elements/fakesink.c: (chain_async_buffer),
17833 (chain_async), (chain_async_return), (GST_START_TEST),
17834 (fakesink_suite), (main):
17835 Added fakesink test that checks prerolling and clipping
17838 * tests/check/gst/gstutils.c: (GST_START_TEST):
17839 Make check run faster so that buildbots don't timeout.
17841 2006-01-18 Wim Taymans <wim@fluendo.com>
17843 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17844 (gst_base_sink_do_sync):
17846 When the sink finishes blocking on the preroll buffer, it can
17847 immediatly render it instead of rendering when the next buffer
17850 2006-01-18 Wim Taymans <wim@fluendo.com>
17852 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17853 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17854 (gst_base_sink_chain):
17856 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17857 Don't store _last_stop if the buffer is dropped.
17859 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17861 * plugins/elements/gsttypefindelement.c:
17862 (gst_type_find_element_class_init):
17863 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17864 object method handler that sets the caps on the pad and we want
17865 that to happen before we emit the signal (fixes e.g. feeding a
17866 plain text file to decodebin).
17868 2006-01-18 Christian Schaller <Christian@fluendo.com>
17870 * gst/gstplugin.c: Add MPL and Proprietary as license options
17872 2006-01-18 Andy Wingo <wingo@pobox.com>
17874 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17875 symbol was exported before, it appears this was just an oversight.
17877 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17879 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17880 prototype to gint. OK since this prototype was not in the header.
17882 2006-01-17 Andy Wingo <wingo@pobox.com>
17884 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17885 registry while we remove plugins.
17887 * tools/gst-inspect.c (print_element_info): Don't unref the
17888 factory arg, that should be the responsibility of whatever code
17889 received the ref. Fixes a double-free when called from
17890 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17891 (main): Unref the factory if we have one.
17892 (print_element_list): No change -- relies on the
17893 plugin_feature_list_free to free the list of features.
17895 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17897 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17898 (gst_buffer_make_metadata_writable):
17900 * libs/gst/base/gstbasetransform.c:
17901 (gst_base_transform_prepare_output_buf):
17902 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17903 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17904 Replace gst_buffer_(make|is)_metadata_writable patch now
17905 that the release is out.
17907 2006-01-17 Andy Wingo <wingo@pobox.com>
17909 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17910 in the present tense without reference to versions.
17912 * gst/gstregistry.c (gst_registry_add_plugin)
17913 (gst_registry_remove_plugin, gst_registry_remove_feature)
17914 (gst_registry_find_feature, gst_registry_get_feature_list)
17915 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17916 (gst_registry_lookup, gst_registry_scan_path)
17917 (_gst_registry_remove_cache_plugins)
17918 (gst_registry_get_feature_list_by_plugin): Add argument
17921 === release 0.10.2 ===
17923 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17926 releasing 0.10.2, "If man is five"
17928 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17932 * libs/gst/base/gstbasetransform.c:
17933 (gst_base_transform_prepare_output_buf):
17934 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17935 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17936 Back out patch until after the release.
17938 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17940 * gst/gstminiobject.c:
17941 Spelling fix in docs.
17942 * ChangeLog - remove conflict indicator
17944 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17946 Reviewed By: Andy Wingo
17948 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17949 (gst_buffer_make_metadata_writable):
17951 Add gst_buffer_(is|make)_metadata_writable as analogues of
17952 gst_buffer_(is|make)_writable.
17954 * libs/gst/base/gstbasetransform.c:
17955 (gst_base_transform_prepare_output_buf):
17956 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17957 Use name gst_buffer_(is|make)_metadata_writable functions.
17959 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17960 Test gst_buffer_(is|make)_metadata_writable
17964 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
17966 * docs/manual/Makefile.am:
17967 don't do parallel make
17970 * win32/common/config.h.in:
17971 add generations for HOST_CPU and GST_MAJORMINOR
17972 * win32/common/config.h:
17973 commit generated result
17975 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
17977 * docs/manual/appendix-integration.xml:
17978 Update GNOME integration section to use gst_init_get_option_group()
17979 instead of the old popt stuff (#322911). Also, GNOME applications
17980 should now use gconf*sink and gconf*src instead of the old gconf
17983 2006-01-13 Stefan Kost <ensonic@users.sf.net>
17986 * docs/gst/gstreamer-docs.sgml:
17987 * docs/gst/gstreamer-sections.txt:
17988 * docs/libs/gstreamer-libs-sections.txt:
17989 add new API entries to the docs
17990 * libs/gst/controller/Makefile.am:
17991 * libs/gst/controller/gstcontroller.c:
17992 * libs/gst/controller/gstcontroller.h:
17993 * libs/gst/controller/gstcontrollerprivate.h:
17994 * libs/gst/controller/gsthelper.c:
17995 * libs/gst/controller/gstinterpolation.c:
17996 move private structs to private header
17998 gstreamer-0.7 -> gstreamer-0.10
17999 * tests/check/libs/struct_i386.h:
18000 remove private structs
18002 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18004 * plugins/indexers/Makefile.am:
18005 Fixes as part of #317048
18007 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
18009 * plugins/indexers/Makefile.am:
18010 fix #316086 - compilation when mmap is missing
18012 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
18014 * libs/gst/base/gstbasesink.c:
18015 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
18016 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
18017 * win32/common/config.h:
18018 added some defines GST_MAJORMINOR and HOST_CPU
18019 * win32/common/libgstbase.def:
18020 * win32/common/libgstreamer.def:
18021 added some exported functions.
18023 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18025 * libs/gst/controller/gstcontroller.c:
18026 (gst_controlled_property_set_interpolation_mode),
18027 (gst_controlled_property_new):
18028 * libs/gst/controller/gstcontroller.h:
18029 * libs/gst/controller/gstinterpolation.c:
18030 (interpolate_none_get_string_value_array):
18031 make G_TYPE_STRING controlable
18033 2006-01-12 Stefan Kost <ensonic@users.sf.net>
18036 * tools/gst-feedback.1.in:
18037 * tools/gst-inspect.1.in:
18038 * tools/gst-launch.1.in:
18039 * tools/gst-md5sum.1.in:
18040 * tools/gst-typefind.1.in:
18041 * tools/gst-xmlinspect.1.in:
18042 * tools/gst-xmllaunch.1.in:
18043 cleanup man-pages, remove reference to gst-register, document env-vars
18045 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
18047 * gst/gstbuffer.c: (gst_buffer_span):
18048 gst_buffer_span should copy the timestamp of the first buffer
18049 if they were both originally overlapping subbuffers of the
18050 same parent, using the same logic as the 'slow copy' case.
18052 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
18054 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18055 Need to awaken ALL the pads when we pop a buffer, otherwise
18056 collectpads only works when there is 2 input streams.
18058 2006-01-11 Stefan Kost <ensonic@users.sf.net>
18060 * docs/random/ensonic/media-device-daemon.txt:
18063 fix doc example, add clarification
18064 * tools/gst-launch.1.in:
18065 add initial info about GST_PLUGIN_PATH, needs more work
18067 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
18069 * docs/manual/basics-bins.xml:
18070 * docs/manual/basics-elements.xml:
18071 * docs/manual/intro-basics.xml:
18072 Some more minor docs additions and updates.
18074 2006-01-11 Wim Taymans <wim@fluendo.com>
18076 * docs/manual/basics-bins.xml:
18077 * docs/manual/basics-elements.xml:
18078 Some small fixes as pointed out by Ser-ver on IRC.
18080 2006-01-10 Edward Hervey <edward@fluendo.com>
18082 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18083 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18084 the single-segment mode.
18086 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18088 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18090 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18091 (gst_base_src_perform_seek), (gst_base_src_send_event),
18092 (gst_base_src_set_property), (gst_base_src_get_property),
18093 (gst_base_src_loop), (gst_base_src_start),
18094 (gst_base_src_activate_push):
18095 * libs/gst/base/gstbasesrc.h:
18096 Name (private) union; makes Sun's Forte compiler happy (#324900).
18098 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18101 gst-register is gone.
18103 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18105 * gst/gstvalue.c: (_gst_value_initialize):
18106 make the G_TYPE_DATE instantiation work if debug is disabled
18108 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18110 * gst/gstmessage.c: (gst_message_parse_tag),
18111 (gst_message_parse_error), (gst_message_parse_warning):
18112 Don't crash when return location for error/warning debug
18113 string is NULL; add fact that return locations can be
18114 NULL to docs where appropriate.
18116 2006-01-05 Wim Taymans <wim@fluendo.com>
18118 * gst/gstplugin.c: (gst_plugin_load_file):
18119 Replace strdup by g_strdup.
18121 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18123 * docs/pwg/advanced-types.xml:
18126 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18128 submitted by: Abel Cheung
18132 Added Chinese (traditional) translation
18134 2006-01-04 Wim Taymans <wim@fluendo.com>
18136 * docs/manual/basics-pads.xml:
18137 * docs/plugins/Makefile.am:
18138 * docs/plugins/gstreamer-plugins-docs.sgml:
18139 * docs/plugins/gstreamer-plugins-sections.txt:
18140 * docs/pwg/advanced-clock.xml:
18141 * docs/pwg/advanced-scheduling.xml:
18142 * docs/pwg/advanced-types.xml:
18143 * plugins/elements/gstfdsink.c:
18144 * plugins/elements/gstfdsrc.c:
18145 * plugins/elements/gstfdsrc.h:
18146 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18147 * plugins/elements/gstidentity.h:
18148 * plugins/elements/gstqueue.h:
18149 * plugins/elements/gsttee.c:
18150 * plugins/elements/gsttee.h:
18151 * plugins/elements/gsttypefindelement.c:
18152 (gst_type_find_element_class_init):
18153 * plugins/elements/gsttypefindelement.h:
18154 Small updates to various docs.
18155 Added core plugins to docs.
18157 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18160 add a suppression for liboil's uninitialized variable
18162 2006-01-02 James Livingston <jrl at ids dot org dot au>
18164 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18167 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18168 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18169 compiler switch is being used (#325429).
18171 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18173 * gst/gstbin.c: (gst_bin_query):
18174 Disable duration query caching in bins until it gets
18175 fixed (see #324807).
18177 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18179 * tools/gst-inspect.c: (print_element_properties_info):
18180 Handle properties of POINTER and BOXED type.
18182 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18184 * gst/gst.c: (init_post):
18185 Init tags stuff and some other things before loading
18186 any static plugins (there may be other static plugins
18187 than just the GStreamer ones, and they may want to
18188 register their own tags or formats or whatever, and
18189 preferably without segfaulting).
18191 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18192 Print at least a warning in the debug logs if we drop a
18193 query just because we don't know how to adjust the value
18194 in the particular format.
18196 2005-12-24 David Schleef <ds@schleef.org>
18198 * tools/gstreamer-completion:
18199 Replacement for gst-complete written in sh and sed. Only
18200 completes names of features, but that's 90% of what I want
18201 it for. Properties are not available in registry.xml. (Maybe
18204 === release 0.10.1 ===
18206 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18209 releasing 0.10.1, "Nollaig chridheil"
18211 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18213 * docs/faq/cvs.xml:
18214 Add missing quote, should be make ERROR_CFLAGS="".
18216 2005-12-20 Wim Taymans <wim@fluendo.com>
18218 * docs/design/part-trickmodes.txt:
18219 More documentation on trickmodes.
18221 2005-12-20 Edward Hervey <edward@fluendo.com>
18223 * gst/gstcaps.c: (gst_static_caps_get_type):
18225 API addition: GST_TYPE_STATIC_CAPS
18226 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18227 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18228 * gst/gstpadtemplate.h:
18229 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18230 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18233 2005-12-18 Wim Taymans <wim@fluendo.com>
18235 * libs/gst/base/gstadapter.c:
18236 * libs/gst/base/gstadapter.h:
18237 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18238 (gst_base_sink_get_position):
18239 * libs/gst/base/gstbasesink.h:
18240 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18241 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18242 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18243 (gst_base_src_send_event), (gst_base_src_update_length),
18244 (gst_base_src_get_range), (gst_base_src_loop),
18245 (gst_base_src_start):
18246 * libs/gst/base/gstbasesrc.h:
18247 * libs/gst/base/gstbasetransform.h:
18248 * libs/gst/base/gstcollectpads.h:
18249 * libs/gst/base/gstpushsrc.c:
18250 * libs/gst/base/gstpushsrc.h:
18251 * libs/gst/dataprotocol/dataprotocol.c:
18252 * libs/gst/dataprotocol/dataprotocol.h:
18253 * libs/gst/net/gstnetclientclock.h:
18254 * libs/gst/net/gstnettimeprovider.h:
18255 Documentation updates.
18257 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18259 * docs/manual/basics-helloworld.xml:
18260 Remove superfluous closing bracket in helloworld example.
18262 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18264 * tools/gst-launch.1.in:
18265 Update gst-launch man page; add a section with useful
18266 environment variables. Fixes #323882.
18268 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18271 * gst/gst_private.h:
18272 change some char* into char[]
18274 2005-12-16 Wim Taymans <wim@fluendo.com>
18276 * gst/gstregistryxml.c: (load_feature):
18278 Don't use g_object_unref on GstObjects so that we avoid
18279 leaks on unsafe glibs.
18281 2005-12-16 Wim Taymans <wim@fluendo.com>
18283 * gst/gstbin.c: (gst_bin_recalc_state):
18286 2005-12-16 Wim Taymans <wim@fluendo.com>
18288 * common/check.mak:
18289 Added make forever target for check.
18291 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18293 * gst/gst.c: (init_post):
18294 make the registry cache file HOST_CPU-dependent
18296 2005-12-16 Andy Wingo <wingo@pobox.com>
18298 * plugins/elements/gstbufferstore.c
18299 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18302 * tests/check/gst/gstobject.c
18303 (test_fake_object_name_threaded_unique): Pay attention to
18304 g_list_sort return value.
18306 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18308 * tools/gst-feedback-m.m:
18309 Update for 0.9/0.10 (fixes #323870).
18311 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18313 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18314 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18316 * tests/check/gst/gstminiobject.c: (my_foo_init),
18317 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18318 (test_value_collection), (gst_mini_object_suite):
18319 Add test to ensure refcounts end up as expected when passing
18320 GstMiniObjects through g_object_get() and g_object_set().
18322 2005-12-14 Julien MOUTTE <julien@moutte.net>
18324 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18325 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18326 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18327 of collectpads. This version removes a lot of races without
18328 touching API/ABI. Yay !
18330 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18332 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18333 Don't allow activation of a srcpad in pull_range if it has no
18335 Change some debug statements to be a little clearer
18337 * plugins/elements/gsttypefindelement.c:
18338 (gst_type_find_handle_src_query):
18339 Check that we have a peer before executing queries thereupon.
18341 * tests/examples/metadata/read-metadata.c: (message_loop):
18342 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18343 immediately return us any available message with 0 timeout.
18345 2005-12-12 Michael Smith <msmith@fluendo.com>
18347 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18348 Don't unref factories after calling them.
18349 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18350 * plugins/elements/gsttypefindelement.c:
18351 (gst_type_find_element_chain):
18352 Free lists of factories after using them. Fixing typefinding memory
18355 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18357 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18358 (gst_plugin_feature_load):
18359 more meaningful debug output
18361 * tests/Makefile.am:
18362 * tests/old/examples/Makefile.am:
18363 make make distcheck happy again
18365 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18367 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18368 Catch the special case where we are operating chain-based,
18369 but the downstream peer pad has no chain function. Emit a
18370 custom error message in this case instead of letting the
18371 core generate one implying that this is some sort of core
18372 bug. It's not, it just means that whatever got plugged
18373 into the pipeline downstream when we announced the type
18374 can only operate pull-based, while our source can only
18375 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18376 Error string has not been marked for translation yet, as
18377 it probably needs some more work first.
18379 (gst_type_find_element_get_best_possibility):
18380 Add helper function to find the best of all available
18381 found possibilities that qualify given the min. threshold.
18383 (gst_type_find_element_handle_event):
18384 Fix the case where we get an EOS while still in TYPEFIND
18385 mode (we want to chose the best of all possible types,
18386 not just the first type that happens to be in our unsorted
18387 list of possible types).
18389 (gst_type_find_element_chain):
18390 Make sure we return GST_FLOW_ERROR when we errored out
18391 in stop_typefinding(); also, don't just find the best of
18392 all found type entries and then use the last examined
18393 type entry, but actually use the best entry.
18395 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18397 * tests/examples/typefind/typefind.c: (type_found):
18398 * tests/examples/xml/runxml.c: (xml_loaded):
18399 More gcc4 fixes and a mem leak fix.
18401 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18403 * tests/examples/xml/createxml.c: (object_saved):
18406 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18408 * tests/Makefile.am:
18409 enable the examples even more
18411 2005-12-12 Andy Wingo <wingo@pobox.com>
18413 * libs/gst/net/gstnettimeprovider.c
18414 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18415 (gst_net_time_provider_set_property)
18416 (gst_net_time_provider_get_property):
18417 API addition: Export "active" as a GObject property.
18418 (gst_net_time_provider_thread): Only respond to time queries if
18419 the time provider is active.
18421 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18422 NetTimeProvider, preserving binary compat.
18424 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18426 * tests/examples/controller/audio-example.c: (main):
18427 * tests/examples/launch/Makefile.am:
18428 convert comments again
18430 2005-12-12 Wim Taymans <wim@fluendo.com>
18432 * libs/gst/base/gstpushsrc.c:
18435 2005-12-12 Wim Taymans <wim@fluendo.com>
18437 * docs/libs/gstreamer-libs-sections.txt:
18438 Added new symbol to docs.
18440 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18441 (gst_base_src_init), (gst_base_src_set_format),
18442 (gst_base_src_default_query), (gst_base_src_query),
18443 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18444 (gst_base_src_perform_seek), (gst_base_src_send_event),
18445 (gst_base_src_default_event), (gst_base_src_event_handler),
18446 (gst_base_src_set_property), (gst_base_src_get_property),
18447 (gst_base_src_wait), (gst_base_src_do_sync),
18448 (gst_base_src_update_length), (gst_base_src_get_range),
18449 (gst_base_src_check_get_range), (gst_base_src_loop),
18450 (gst_base_src_default_negotiate), (gst_base_src_start),
18451 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18452 (gst_base_src_change_state):
18453 * libs/gst/base/gstbasesrc.h:
18454 Implement seeking to other formats than _BYTES.
18455 Implement more seeking methods correctly.
18457 Added query vmethod.
18458 Added do_seek vmethod to make life easier for subclasses
18460 API addition: gst_base_src_set_format()
18462 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18464 * tests/examples/Makefile.am:
18467 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18470 * docs/random/ensonic/media-device-daemon.txt:
18471 * tests/examples/controller/.cvsignore:
18472 * tests/examples/controller/Makefile.am:
18473 * tests/examples/controller/audio-example.c: (main):
18474 * tests/examples/helloworld/.cvsignore:
18475 * tests/examples/helloworld/Makefile.am:
18476 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18477 * tests/examples/launch/.cvsignore:
18478 * tests/examples/launch/Makefile.am:
18479 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18480 * tests/examples/metadata/.cvsignore:
18481 * tests/examples/metadata/Makefile.am:
18482 * tests/examples/metadata/read-metadata.c: (message_loop),
18483 (make_pipeline), (print_tag), (main):
18484 * tests/examples/queue/.cvsignore:
18485 * tests/examples/queue/Makefile.am:
18486 * tests/examples/queue/queue.c: (event_loop), (main):
18487 * tests/examples/typefind/.cvsignore:
18488 * tests/examples/typefind/Makefile.am:
18489 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18491 * tests/examples/xml/.cvsignore:
18492 * tests/examples/xml/Makefile.am:
18493 * tests/examples/xml/createxml.c: (object_saved), (main):
18494 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18495 * tests/old/examples/Makefile.am:
18496 * tests/old/examples/TODO:
18497 * tests/old/examples/controller/.cvsignore:
18498 * tests/old/examples/controller/Makefile.am:
18499 * tests/old/examples/controller/audio-example.c:
18500 * tests/old/examples/helloworld/.cvsignore:
18501 * tests/old/examples/helloworld/Makefile.am:
18502 * tests/old/examples/helloworld/helloworld.c:
18503 * tests/old/examples/launch/.cvsignore:
18504 * tests/old/examples/launch/Makefile.am:
18505 * tests/old/examples/launch/mp3parselaunch.c:
18506 * tests/old/examples/launch/mp3play:
18507 * tests/old/examples/manual/Makefile.am:
18508 * tests/old/examples/metadata/Makefile.am:
18509 * tests/old/examples/metadata/read-metadata.c:
18510 * tests/old/examples/queue/.cvsignore:
18511 * tests/old/examples/queue/Makefile.am:
18512 * tests/old/examples/queue/queue.c:
18513 * tests/old/examples/typefind/.cvsignore:
18514 * tests/old/examples/typefind/Makefile.am:
18515 * tests/old/examples/typefind/typefind.c:
18516 * tests/old/examples/xml/.cvsignore:
18517 * tests/old/examples/xml/Makefile.am:
18518 * tests/old/examples/xml/createxml.c:
18519 * tests/old/examples/xml/runxml.c:
18520 applied some simple fixing to some examples
18521 re-enabled the working examples
18523 2005-12-12 Wim Taymans <wim@fluendo.com>
18525 * gst/gstsegment.c: (gst_segment_init),
18526 (gst_segment_set_last_stop), (gst_segment_set_seek),
18527 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18528 (gst_segment_to_running_time):
18529 Added more documentation.
18530 Make sure the last_pos value is updated properly.
18531 Make sure to_stream_time and to_running_time don't
18532 operate on wrong values.
18534 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18537 2005-12-12 Michael Smith <msmith@fluendo.com>
18539 * plugins/elements/gsttypefindelement.c: (free_entry),
18540 (gst_type_find_element_chain):
18541 Now that we're not leaking factories, make sure we keep references
18542 to them while we need them.
18544 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18546 * tests/check/gst/struct_i386.h:
18547 ifdef out the XML structs
18549 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18551 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18552 floor is not needed, F is always positive; this obviates the
18553 need for adding -lm when building without libxml
18555 2005-12-12 Wim Taymans <wim@fluendo.com>
18557 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18558 Take current playback rate into account when reporting
18561 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18563 * docs/manual/mime-world.fig:
18564 Let's try this again, this time with a file that is
18565 actually in XFig format.
18567 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18569 * docs/manual/mime-world.fig:
18570 Add audioconvert element to diagram so that it
18571 matches the text and the code (fixes #319526).
18573 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18575 * docs/pwg/building-chainfn.xml:
18576 * docs/pwg/building-pads.xml:
18577 * docs/pwg/building-state.xml:
18578 * docs/pwg/other-source.xml:
18579 Update state change stuff for 0.10 (fixes #322969).
18581 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18583 * docs/manual/advanced-dataaccess.xml:
18584 * docs/manual/appendix-checklist.xml:
18585 * docs/manual/appendix-programs.xml:
18586 * docs/manual/basics-pads.xml:
18587 * docs/manual/highlevel-components.xml:
18588 * docs/manual/manual.xml:
18589 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18590 add converters in front of pipelines; remove curly
18591 brackets for threads stuff, they no longer exist; use
18592 GST_TYPE_FRACTION for framerates; update some pieces of
18593 code to 0.10, but there's plenty more to do.
18595 * docs/manual/appendix-porting.xml:
18596 Expand on asynchroneous state changes; s/0.9/0.10/;
18597 mention disappearance of gst_init_get_popt_table()
18600 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18602 * docs/faq/using.xml:
18603 Spider no longer exists, and neither does gst-launch-ext.
18604 Update examples to use decodebin and playbin and put
18605 converters in front of sinks (fixes #323726).
18607 2005-12-09 Michael Smith <msmith@fluendo.com>
18609 * plugins/elements/gsttypefindelement.c: (find_peek),
18610 (gst_type_find_element_chain):
18611 Fix leaking element factories in typefinding.
18612 Fix problem where we forgot about a probable type on non-seekable
18613 files, and thus later mis-typefound it.
18615 2005-12-09 Michael Smith <msmith@fluendo.com>
18617 * common/m4/gst-makecontext.m4:
18618 * common/m4/gst-mcsc.m4:
18620 * win32/common/config.h:
18621 * win32/common/config.h.in:
18622 Remove makecontext stuff; not used in 0.10 and causes problems on
18623 HPUX according to bug #322441
18625 2005-12-07 Wim Taymans <wim@fluendo.com>
18627 * tests/check/Makefile.am:
18628 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18630 * tests/check/libs/struct_i386.h:
18631 Added ABI check for libs
18633 2005-12-07 Wim Taymans <wim@fluendo.com>
18635 * tests/check/Makefile.am:
18636 And add the struct_i386.h to dist.
18638 2005-12-07 Wim Taymans <wim@fluendo.com>
18640 * tests/check/Makefile.am:
18641 * tests/check/gst/.cvsignore:
18642 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18644 * tests/check/gst/struct_i386.h:
18645 Added check for ABI compatibility.
18647 2005-12-07 Wim Taymans <wim@fluendo.com>
18649 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18650 (gst_fake_src_get_times), (gst_fake_src_create):
18651 Fix broken sync option, fixes #323259
18653 2005-12-07 Wim Taymans <wim@fluendo.com>
18658 * gst/gstcaps.c: (gst_caps_is_equal):
18659 Don't assert on NULL <--> X. Fixes #323260
18661 * gst/gstminiobject.c: (gst_mini_object_replace):
18662 If we're doing atomic operations, we might just as well use
18663 the proper way to get an atomic pointer.
18665 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18666 Clean up debugging.
18668 2005-12-07 Michael Smith <msmith@fluendo.com>
18670 * gst/parse/grammar.y:
18671 Remove handling of { } for threads.
18673 2005-12-06 David Schleef <ds@schleef.org>
18675 * libs/gst/base/gstbasetransform.c: speling fix.
18677 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18679 * docs/libs/tmpl/gstdataprotocol.sgml:
18680 * docs/random/omega/testing/gstobject.c:
18683 * gst/gstelement.c:
18684 * gst/gstelementfactory.c:
18687 * gst/gstghostpad.c:
18689 * gst/gstpadtemplate.c:
18690 * gst/gstregistryxml.c:
18691 * gst/gsttaglist.c:
18692 * gst/gsttagsetter.c:
18693 * gst/gsttypefind.c:
18695 * libs/gst/base/gstbasesrc.c:
18696 * libs/gst/net/gstnetclientclock.c:
18697 * libs/gst/net/gstnettimeprovider.c:
18698 * plugins/elements/gstfakesrc.c:
18699 * plugins/elements/gstfdsrc.c:
18700 * plugins/elements/gstfilesrc.c:
18701 * plugins/elements/gstidentity.c:
18702 * plugins/elements/gstqueue.c:
18703 * plugins/elements/gsttypefindelement.c:
18704 * plugins/indexers/gstfileindex.c:
18705 * plugins/indexers/gstmemindex.c:
18706 * tests/check/gst/gsttag.c:
18707 * tests/old/examples/cutter/cutter.c:
18708 * tests/old/examples/mixer/mixer.c:
18709 * tests/old/examples/xml/runxml.c: (main):
18710 * tests/old/testsuite/caps/normalisation.c:
18711 * tests/old/testsuite/debug/global.c:
18712 * tests/old/testsuite/parse/parse1.c:
18713 * tools/gst-xmlinspect.c:
18714 * win32/common/dirent.c:
18717 === release 0.10.0 ===
18719 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18722 releasing 0.10.0, "Maroilles"
18724 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18726 submitted by: Funda Wang <fundawang@linux.net.cn>
18730 added Chinese (Traditional) translation
18732 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18734 * docs/gst/gstreamer-sections.txt:
18735 * docs/libs/tmpl/gstdataprotocol.sgml:
18736 * docs/random/thomasvs/TODO:
18741 2005-12-05 Andy Wingo <wingo@pobox.com>
18743 patch by: Wim Taymans <wim@fluendo.com>
18745 * libs/gst/base/gstbasetransform.c
18746 (gst_base_transform_prepare_output_buf)
18747 (gst_base_transform_buffer_alloc):
18748 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18749 alloc_buffer_and_set_caps.
18751 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18752 set_caps on the source pad.
18753 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18754 alloc_buffer used to do. Fixes #322874.
18756 * docs/gst/gstreamer-sections.txt:
18757 * docs/design/part-negotiation.txt:
18758 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18761 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18763 patch by: Sebastien Moutte
18766 * win32/common/config.h.in:
18767 * win32/vs6/libgstcontroller.dsp:
18770 2005-12-05 Wim Taymans <wim@fluendo.com>
18772 * gst/gstcaps.c: (gst_caps_is_equal):
18773 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18774 (gst_fake_src_create):
18775 Back out previous code changes, leave doc updates, file bugs
18778 2005-12-05 Wim Taymans <wim@fluendo.com>
18780 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18781 (gst_fake_src_get_times), (gst_fake_src_create):
18782 * plugins/elements/gstfakesrc.h:
18783 Fix broken sync code.
18785 2005-12-05 Wim Taymans <wim@fluendo.com>
18787 * gst/gstcaps.c: (gst_caps_is_equal):
18788 Comparing NULL against !NULL yields different caps, not a
18791 2005-12-05 Wim Taymans <wim@fluendo.com>
18793 * gst/gstpipeline.c:
18794 Fix small typo in docs.
18796 2005-12-05 Andy Wingo <wingo@pobox.com>
18798 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18800 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18801 registries/plugins with a MAJORMINOR one.
18802 (plugin_desc): Rename library from gstcoreleements to
18803 staticelements. Fixes #323222.
18805 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18807 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18808 Change debug category to 'collectpads' from 'collect_pads'
18811 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18813 patch by: Sebastien Moutte
18815 * libs/gst/controller/gstinterpolation.c:
18816 use convert function for uint64/double
18817 * win32/vs6/libgstcontroller.dsp:
18820 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18822 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18823 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18825 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18826 add tests that seem to show that the guint64/gdouble conversions
18829 2005-12-02 Wim Taymans <wim@fluendo.com>
18831 * gst/gstregistry.c: (gst_registry_add_path):
18832 * gst/gstregistry.h:
18833 * gst/gstregistryxml.c:
18836 2005-12-02 Wim Taymans <wim@fluendo.com>
18838 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18839 (gst_util_uint64_scale_int):
18842 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18843 Add debug log line.
18845 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18848 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18851 * win32/common/config.h:
18852 * win32/vs6/gstreamer.dsw:
18853 * win32/vs6/libgstcoreelements.dsp:
18854 * win32/vs6/libgstelements.dsp:
18855 renamed core elements plugin
18857 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18859 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18861 do piece-wise major/minor comparison so 0.9 < 0.10
18862 also allow .exe extensions for tools
18864 2005-12-02 Michael Smith <msmith@fluendo.com>
18867 Escape a % to make gtkdoc happier; bug 322958.
18869 === release 0.9.7 ===
18871 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18874 releasing 0.9.7, "My Dog Has No Nose"
18876 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18878 * common/gst-xmlinspect.py:
18880 * docs/libs/tmpl/gstdataprotocol.sgml:
18881 * docs/random/release:
18900 * win32/common/config.h:
18901 * win32/common/config.h.in:
18902 * win32/vs6/gst_inspect.dsp:
18903 * win32/vs6/gst_launch.dsp:
18904 * win32/vs6/libgstbase.dsp:
18905 * win32/vs6/libgstelements.dsp:
18906 * win32/vs6/libgstreamer.dsp:
18907 * win32/vs7/GStreamer.vcproj:
18908 * win32/vs7/gst-inspect.vcproj:
18909 * win32/vs7/gst-launch.vcproj:
18910 * win32/vs7/libgstbase.vcproj:
18911 bump GST_MAJORMINOR to 0.10
18912 reset libtool version
18914 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18918 Added Bulgarian translation by (Alexander Shopov)
18920 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18922 * tests/check/gst/gstplugin.c:
18925 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18927 * common/gst-xmlinspect.py:
18928 * common/gtk-doc-plugins.mak:
18930 * docs/Makefile.am:
18931 * docs/gst/Makefile.am:
18932 * docs/gst/gstreamer-docs.sgml:
18933 * docs/gst/gstreamer-sections.txt:
18934 * docs/gst/gstreamer.types:
18935 * docs/gst/gstreamer.types.in:
18936 * docs/plugins/Makefile.am:
18937 * docs/plugins/gstreamer-plugins-docs.sgml:
18938 * docs/plugins/gstreamer-plugins-sections.txt:
18939 * docs/plugins/gstreamer-plugins.types:
18940 * docs/plugins/inspect.stamp:
18941 * docs/plugins/inspect/plugin-coreelements.xml:
18942 * docs/plugins/inspect/plugin-coreindexers.xml:
18943 * docs/plugins/scanobj-build.stamp:
18944 * gstreamer.spec.in:
18945 * plugins/elements/Makefile.am:
18946 * plugins/elements/gstelements.c:
18947 * plugins/elements/gstfakesink.c:
18948 * plugins/elements/gstfakesrc.c:
18949 * plugins/elements/gstfilesink.c:
18950 * plugins/elements/gstfilesrc.c:
18951 * plugins/elements/gstqueue.c:
18952 * plugins/indexers/Makefile.am:
18953 * plugins/indexers/gstindexers.c:
18954 document core plugins in a separate document just like all the
18956 rename these plugins to something starting with core
18958 2005-12-01 Andy Wingo <wingo@pobox.com>
18960 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18961 padding here before, but it missed the commit.
18963 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18965 * libs/gst/controller/gstinterpolation.c:
18966 whitespace prices have crashed, we should feel free to use some now
18967 use gst_guint64_to_gdouble
18969 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18971 * libs/gst/controller/gstcontroller.c:
18972 * libs/gst/controller/gsthelper.c:
18973 * libs/gst/controller/gstinterpolation.c:
18974 * libs/gst/controller/lib.c:
18975 wrap config.h include
18977 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18979 * docs/gst/gstreamer-sections.txt:
18982 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18984 * plugins/elements/gstelements.c:
18985 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18986 (gst_fd_sink__class_init), (gst_fd_sink__init),
18987 (gst_fd_sink__chain), (gst_fd_sink__set_property),
18988 (gst_fd_sink__get_property):
18989 * plugins/elements/gstfdsink.h:
18990 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18991 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18992 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18993 (gst_fd_src_unlock), (gst_fd_src_set_property),
18994 (gst_fd_src_get_property), (gst_fd_src_create),
18995 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18996 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18997 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18998 (gst_fd_src_uri_handler_init):
18999 * plugins/elements/gstfdsrc.h:
19000 * plugins/elements/gstqueue.c: (gst_queue_get_type):
19003 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19005 * docs/gst/Makefile.am:
19006 * docs/gst/gstreamer.types.in:
19010 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19016 * gst/gstregistry.h:
19017 * tests/benchmarks/complexity.c:
19018 * tests/benchmarks/mass-elements.c:
19019 * tests/check/Makefile.am:
19020 * tools/Makefile.am:
19021 * tools/gst-inspect.c:
19022 * tools/gst-xmlinspect.c:
19023 various fixes to make
19024 --disable-nls --disable-registry --disable-loadsave
19025 --disable-parse --disable-gst-debug
19026 work and get the core .so down to 360444 bytes after stripping
19028 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19033 * docs/random/thomasvs/TODO:
19034 * tests/Makefile.am:
19038 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19040 * win32/GStreamer.vcproj:
19043 * win32/Makefile.inspect:
19044 * win32/Makefile.launch:
19045 * win32/Makefile.register:
19046 * win32/README.txt:
19047 * win32/gst-inspect.vcproj:
19048 * win32/gst-launch.vcproj:
19049 * win32/gst-register.vcproj:
19050 * win32/gstelements.vcproj:
19051 * win32/gstgetbits.def:
19052 * win32/gstgetbits.vcproj:
19053 * win32/gstreamer-dbg.def:
19054 * win32/gstreamer.def:
19055 * win32/libgstbase.def:
19056 * win32/libgstbase.vcproj:
19057 * win32/link_oldruntime.c:
19061 * win32/msvc71.sln:
19062 move even more stuff, win32/ is nice and clean now
19064 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19066 * libs/gst/control/.cvsignore:
19071 * win32/gstbytestream.def:
19072 * win32/gstbytestream.vcproj:
19073 * win32/gstconfig.h:
19074 * win32/gstenumtypes.c:
19075 * win32/gstenumtypes.h:
19076 * win32/gstoptimalscheduler.vcproj:
19077 * win32/gstversion.h:
19079 * win32/testsuite/bins.vcproj:
19080 * win32/testsuite/bytestream.vcproj:
19081 * win32/testsuite/caps.vcproj:
19082 * win32/testsuite/cleanup.vcproj:
19083 * win32/testsuite/clock.vcproj:
19084 * win32/testsuite/debug.vcproj:
19085 * win32/testsuite/dlopen.vcproj:
19086 * win32/testsuite/dynparams.vcproj:
19087 * win32/testsuite/elements.vcproj:
19088 * win32/testsuite/ghostpads.vcproj:
19089 * win32/testsuite/indexers.vcproj:
19090 * win32/testsuite/negotiation.vcproj:
19091 * win32/testsuite/parse.vcproj:
19092 * win32/testsuite/plugin.vcproj:
19093 * win32/testsuite/refcounting.vcproj:
19094 * win32/testsuite/schedulers.vcproj:
19095 * win32/testsuite/states.vcproj:
19096 * win32/testsuite/tags.vcproj:
19097 * win32/testsuite/threads.vcproj:
19098 remove old win32 stuff that isn't maintained and should be
19101 2005-11-30 Andy Wingo <wingo@pobox.com>
19103 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19104 loading the gst.interfaces python module bork.
19106 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19107 available since GLib 2.2. Fixes #318031.
19109 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19112 * check/.cvsignore:
19113 * check/Makefile.am:
19114 * check/elements/.cvsignore:
19115 * check/elements/fakesrc.c:
19116 * check/elements/fdsrc.c:
19117 * check/elements/identity.c:
19118 * check/generic/.cvsignore:
19119 * check/generic/states.c:
19120 * check/gst-libs/.cvsignore:
19121 * check/gst-libs/controller.c:
19122 * check/gst-libs/gdp.c:
19123 * check/gst/.cvsignore:
19124 * check/gst/capslist.h:
19126 * check/gst/gstbin.c:
19127 * check/gst/gstbuffer.c:
19128 * check/gst/gstbus.c:
19129 * check/gst/gstcaps.c:
19130 * check/gst/gstelement.c:
19131 * check/gst/gstevent.c:
19132 * check/gst/gstghostpad.c:
19133 * check/gst/gstiterator.c:
19134 * check/gst/gstmessage.c:
19135 * check/gst/gstminiobject.c:
19136 * check/gst/gstobject.c:
19137 * check/gst/gstpad.c:
19138 * check/gst/gstpipeline.c:
19139 * check/gst/gstplugin.c:
19140 * check/gst/gstsegment.c:
19141 * check/gst/gststructure.c:
19142 * check/gst/gstsystemclock.c:
19143 * check/gst/gsttag.c:
19144 * check/gst/gstutils.c:
19145 * check/gst/gstvalue.c:
19146 * check/net/.cvsignore:
19147 * check/net/gstnetclientclock.c:
19148 * check/net/gstnettimeprovider.c:
19149 * check/pipelines/.cvsignore:
19150 * check/pipelines/cleanup.c:
19151 * check/pipelines/simple_launch_lines.c:
19152 * check/pipelines/stress.c:
19153 * check/states/.cvsignore:
19154 * check/states/sinks.c:
19156 * examples/Makefile.am:
19157 * examples/appreader/.cvsignore:
19158 * examples/appreader/Makefile.am:
19159 * examples/appreader/appreader.c:
19160 * examples/controller/.cvsignore:
19161 * examples/controller/Makefile.am:
19162 * examples/controller/audio-example.c:
19163 * examples/cutter/.cvsignore:
19164 * examples/cutter/Makefile.am:
19165 * examples/cutter/cutter.c:
19166 * examples/cutter/cutter.h:
19167 * examples/events/Makefile.am:
19168 * examples/events/seek.c:
19169 * examples/helloworld/.cvsignore:
19170 * examples/helloworld/Makefile.am:
19171 * examples/helloworld/helloworld.c:
19172 * examples/helloworld2/.cvsignore:
19173 * examples/helloworld2/Makefile.am:
19174 * examples/helloworld2/helloworld2.c:
19175 * examples/launch/.cvsignore:
19176 * examples/launch/Makefile.am:
19177 * examples/launch/mp3parselaunch.c:
19178 * examples/launch/mp3play:
19179 * examples/manual/.cvsignore:
19180 * examples/manual/Makefile.am:
19181 * examples/manual/extract.pl:
19182 * examples/metadata/Makefile.am:
19183 * examples/metadata/read-metadata.c:
19184 * examples/mixer/.cvsignore:
19185 * examples/mixer/Makefile.am:
19186 * examples/mixer/mixer.c:
19187 * examples/mixer/mixer.h:
19188 * examples/pingpong/.cvsignore:
19189 * examples/pingpong/Makefile.am:
19190 * examples/pingpong/pingpong.c:
19191 * examples/plugins/.cvsignore:
19192 * examples/plugins/Makefile.am:
19193 * examples/plugins/example.c:
19194 * examples/plugins/example.h:
19195 * examples/pwg/.cvsignore:
19196 * examples/pwg/Makefile.am:
19197 * examples/pwg/extract.pl:
19198 * examples/queue/.cvsignore:
19199 * examples/queue/Makefile.am:
19200 * examples/queue/queue.c:
19201 * examples/queue2/.cvsignore:
19202 * examples/queue2/Makefile.am:
19203 * examples/queue2/queue2.c:
19204 * examples/queue3/.cvsignore:
19205 * examples/queue3/Makefile.am:
19206 * examples/queue3/queue3.c:
19207 * examples/queue4/.cvsignore:
19208 * examples/queue4/Makefile.am:
19209 * examples/queue4/queue4.c:
19210 * examples/retag/.cvsignore:
19211 * examples/retag/Makefile.am:
19212 * examples/retag/retag.c:
19213 * examples/retag/transcode.c:
19214 * examples/thread/.cvsignore:
19215 * examples/thread/Makefile.am:
19216 * examples/thread/thread.c:
19217 * examples/typefind/.cvsignore:
19218 * examples/typefind/Makefile.am:
19219 * examples/typefind/typefind.c:
19220 * examples/xml/.cvsignore:
19221 * examples/xml/Makefile.am:
19222 * examples/xml/createxml.c:
19223 * examples/xml/runxml.c:
19224 * tests/Makefile.am:
19225 * tests/check/Makefile.am:
19226 * testsuite/.cvsignore:
19227 * testsuite/Makefile.am:
19229 * testsuite/caps/.cvsignore:
19230 * testsuite/caps/Makefile.am:
19231 * testsuite/caps/app_fixate.c:
19232 * testsuite/caps/audioscale.c:
19233 * testsuite/caps/caps.c:
19234 * testsuite/caps/caps.h:
19235 * testsuite/caps/caps_strings:
19236 * testsuite/caps/compatibility.c:
19237 * testsuite/caps/deserialize.c:
19238 * testsuite/caps/enumcaps.c:
19239 * testsuite/caps/eratosthenes.c:
19240 * testsuite/caps/filtercaps.c:
19241 * testsuite/caps/fixed.c:
19242 * testsuite/caps/fraction-convert.c:
19243 * testsuite/caps/fraction-multiply-and-zero.c:
19244 * testsuite/caps/intersect2.c:
19245 * testsuite/caps/intersection.c:
19246 * testsuite/caps/normalisation.c:
19247 * testsuite/caps/random.c:
19248 * testsuite/caps/renegotiate.c:
19249 * testsuite/caps/sets.c:
19250 * testsuite/caps/simplify.c:
19251 * testsuite/caps/string-conversions.c:
19252 * testsuite/caps/structure.c:
19253 * testsuite/caps/subtract.c:
19254 * testsuite/caps/union.c:
19255 * testsuite/debug/.cvsignore:
19256 * testsuite/debug/Makefile.am:
19257 * testsuite/debug/category.c:
19258 * testsuite/debug/commandline.c:
19259 * testsuite/debug/global.c:
19260 * testsuite/debug/output.c:
19261 * testsuite/debug/printf_extension.c:
19262 * testsuite/dlopen/.cvsignore:
19263 * testsuite/dlopen/Makefile.am:
19264 * testsuite/dlopen/dlopen_gst.c:
19265 * testsuite/dlopen/loadgst.c:
19266 * testsuite/elements/.cvsignore:
19267 * testsuite/elements/Makefile.am:
19268 * testsuite/elements/gst-inspect-check.in:
19269 * testsuite/elements/struct_i386.h:
19270 * testsuite/elements/struct_size.c:
19271 * testsuite/indexers/.cvsignore:
19272 * testsuite/indexers/Makefile.am:
19273 * testsuite/indexers/cache1.c:
19274 * testsuite/indexers/indexdump.c:
19275 * testsuite/parse/.cvsignore:
19276 * testsuite/parse/Makefile.am:
19277 * testsuite/parse/parse1.c:
19278 * testsuite/parse/parse2.c:
19279 * testsuite/plugin/.cvsignore:
19280 * testsuite/plugin/Makefile.am:
19281 * testsuite/plugin/README:
19282 * testsuite/plugin/dynamic.c:
19283 * testsuite/plugin/linked.c:
19284 * testsuite/plugin/loading.c:
19285 * testsuite/plugin/registry.c:
19286 * testsuite/plugin/static.c:
19287 * testsuite/plugin/static2.c:
19288 * testsuite/plugin/testplugin.c:
19289 * testsuite/plugin/testplugin2.c:
19290 * testsuite/plugin/testplugin2_s.c:
19291 * testsuite/plugin/testplugin_s.c:
19292 * testsuite/refcounting/.cvsignore:
19293 * testsuite/refcounting/Makefile.am:
19294 * testsuite/refcounting/bin.c:
19295 * testsuite/refcounting/element.c:
19296 * testsuite/refcounting/element_pad.c:
19297 * testsuite/refcounting/mainloop.c:
19298 * testsuite/refcounting/mem.c:
19299 * testsuite/refcounting/mem.h:
19300 * testsuite/refcounting/object.c:
19301 * testsuite/refcounting/pad.c:
19302 * testsuite/refcounting/sched.c:
19303 * testsuite/refcounting/thread.c:
19304 * testsuite/states/.cvsignore:
19305 * testsuite/states/Makefile.am:
19306 * testsuite/states/bin.c:
19307 * testsuite/states/locked.c:
19308 * testsuite/states/parent.c:
19309 * testsuite/threads/.cvsignore:
19310 * testsuite/threads/159566.c:
19311 * testsuite/threads/159852.c:
19312 * testsuite/threads/Makefile.am:
19313 * testsuite/threads/queue.c:
19314 * testsuite/threads/signals.c:
19315 * testsuite/threads/staticrec.c:
19316 * testsuite/threads/thread.c:
19317 * testsuite/threads/threadb.c:
19318 * testsuite/threads/threadc.c:
19319 * testsuite/threads/threadd.c:
19320 * testsuite/threads/threade.c:
19321 * testsuite/threads/threadf.c:
19322 * testsuite/threads/threadg.c:
19323 * testsuite/threads/threadh.c:
19324 * testsuite/threads/threadi.c:
19325 move all of these under tests
19327 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19330 * tests/Makefile.am:
19333 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19335 * docs/gst/gstreamer-sections.txt:
19336 * tests/sched/.cvsignore:
19337 * tests/sched/Makefile.am:
19338 * tests/sched/cases/(fs-fs).xml:
19339 * tests/sched/cases/(fs-i-fs).xml:
19340 * tests/sched/cases/(fs-i-i-fs).xml:
19341 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19342 * tests/sched/dynamic-pipeline.c:
19343 * tests/sched/interrupt1.c:
19344 * tests/sched/interrupt2.c:
19345 * tests/sched/interrupt3.c:
19346 * tests/sched/runtestcases:
19347 * tests/sched/runxml.c:
19348 * tests/sched/sched-stress.c:
19349 * tests/sched/sort.c:
19350 * tests/sched/testcases:
19351 * tests/sched/testcases1.tc:
19352 * tests/seeking/.cvsignore:
19353 * tests/seeking/Makefile.am:
19354 * tests/seeking/seeking1.c:
19355 * tests/threadstate/.cvsignore:
19356 * tests/threadstate/Makefile.am:
19357 * tests/threadstate/test1.c:
19358 * tests/threadstate/test2.c:
19359 * tests/threadstate/threadstate1.c:
19360 * tests/threadstate/threadstate2.c:
19361 * tests/threadstate/threadstate3.c:
19362 * tests/threadstate/threadstate4.c:
19363 * tests/threadstate/threadstate5.c:
19364 remove obsolete tests
19366 * tests/bench-complexity.scm:
19367 * tests/bench-mass_elements.scm:
19368 * tests/complexity.c:
19369 * tests/complexity.gnuplot:
19370 * tests/instantiate/.cvsignore:
19371 * tests/instantiate/Makefile.am:
19372 * tests/instantiate/caps.c:
19373 * tests/mass_elements.c:
19374 * tests/network-clock-utils.scm:
19375 * tests/network-clock.scm:
19377 First pass at cleaning up tests/ dir before moving the rest
19378 Combined with CVS surgery
19380 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19383 queue has moved, update
19385 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19387 * docs/gst/gstreamer-sections.txt:
19388 remove double entries from the docs
19389 * gst/gst_private.h:
19390 * gst/gstinfo.c: (_gst_debug_init):
19391 remove the THREAD debug category
19395 * docs/gst/gstreamer.types:
19396 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19397 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19398 completely move queue and fix up debugging categories
19400 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19402 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19403 make initialization portable, using LL is not
19405 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19407 * win32/common/gstconfig.h:
19410 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19412 * win32/common/libgstreamer.def:
19413 rename symbols; sort base section
19415 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19417 * gst/gstclock.c: (do_linear_regression):
19418 remove crack non-portable handrolled DEBUG macro
19420 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19422 * docs/random/release:
19424 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19425 (gst_object_flags_get_type), (register_gst_bin_flags),
19426 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19427 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19428 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19429 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19430 (gst_caps_flags_get_type), (register_gst_clock_return),
19431 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19432 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19433 (gst_clock_flags_get_type), (register_gst_state),
19434 (gst_state_get_type), (register_gst_state_change_return),
19435 (gst_state_change_return_get_type), (register_gst_state_change),
19436 (gst_state_change_get_type), (register_gst_element_flags),
19437 (gst_element_flags_get_type), (register_gst_core_error),
19438 (gst_core_error_get_type), (register_gst_library_error),
19439 (gst_library_error_get_type), (register_gst_resource_error),
19440 (gst_resource_error_get_type), (register_gst_stream_error),
19441 (gst_stream_error_get_type), (register_gst_event_type_flags),
19442 (gst_event_type_flags_get_type), (register_gst_event_type),
19443 (gst_event_type_get_type), (register_gst_seek_type),
19444 (gst_seek_type_get_type), (register_gst_seek_flags),
19445 (gst_seek_flags_get_type), (register_gst_format),
19446 (gst_format_get_type), (register_gst_index_certainty),
19447 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19448 (gst_index_entry_type_get_type),
19449 (register_gst_index_lookup_method),
19450 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19451 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19452 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19453 (gst_index_flags_get_type), (register_gst_debug_level),
19454 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19455 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19456 (gst_iterator_result_get_type), (register_gst_iterator_item),
19457 (gst_iterator_item_get_type), (register_gst_message_type),
19458 (gst_message_type_get_type), (register_gst_mini_object_flags),
19459 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19460 (gst_pad_link_return_get_type), (register_gst_flow_return),
19461 (gst_flow_return_get_type), (register_gst_activate_mode),
19462 (gst_activate_mode_get_type), (register_gst_pad_direction),
19463 (gst_pad_direction_get_type), (register_gst_pad_flags),
19464 (gst_pad_flags_get_type), (register_gst_pad_presence),
19465 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19466 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19467 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19468 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19469 (gst_plugin_flags_get_type), (register_gst_rank),
19470 (gst_rank_get_type), (register_gst_query_type),
19471 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19472 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19473 (gst_tag_flag_get_type), (register_gst_task_state),
19474 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19475 (gst_alloc_trace_flags_get_type),
19476 (register_gst_type_find_probability),
19477 (gst_type_find_probability_get_type), (register_gst_uri_type),
19478 (gst_uri_type_get_type), (register_gst_parse_error),
19479 (gst_parse_error_get_type):
19480 * win32/common/gstenumtypes.h:
19481 * win32/common/gstversion.h:
19482 update visual studio generated files
19484 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19486 * win32/vs6/libgstbase.dsp:
19487 * win32/vs6/libgstelements.dsp:
19488 update project files for new locations
19490 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19495 reinstate and update
19500 * docs/random/LICENSE:
19503 2005-11-30 Edward Hervey <edward@fluendo.com>
19505 * gst/gsttypefind.c: (gst_type_find_register):
19506 * gst/gsttypefind.h:
19507 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19508 (gst_type_find_factory_dispose):
19509 * gst/gsttypefindfactory.h:
19510 Fix memory leak in GstTypeFindFactory.
19512 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19515 * plugins/elements/Makefile.am:
19516 * plugins/elements/gstelements.c:
19517 * plugins/elements/gstqueue.c:
19518 move queue from core to the elements plugin
19520 2005-11-29 Andy Wingo <wingo@pobox.com>
19522 * libs/gst/base/gstbasetransform.h:
19523 * libs/gst/base/gstbasesrc.h:
19524 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19526 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19527 of pointers by which to pad very extensible base classes (like the
19528 ones in libs/gst/base).
19530 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19532 * docs/gst/gstreamer-docs.sgml:
19533 * docs/gst/gstreamer-sections.txt:
19534 * docs/libs/gstreamer-libs-docs.sgml:
19535 * docs/libs/gstreamer-libs-sections.txt:
19536 moving documentation from core to lib
19538 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19540 * check/Makefile.am:
19542 * docs/gst/Makefile.am:
19544 * gst/base/.cvsignore:
19545 * gst/base/Makefile.am:
19547 * gst/base/gstadapter.c:
19548 * gst/base/gstadapter.h:
19549 * gst/base/gstbasesink.c:
19550 * gst/base/gstbasesink.h:
19551 * gst/base/gstbasesrc.c:
19552 * gst/base/gstbasesrc.h:
19553 * gst/base/gstbasetransform.c:
19554 * gst/base/gstbasetransform.h:
19555 * gst/base/gstcollectpads.c:
19556 * gst/base/gstcollectpads.h:
19557 * gst/base/gstpushsrc.c:
19558 * gst/base/gstpushsrc.h:
19559 * gst/base/gsttypefindhelper.c:
19560 * gst/base/gsttypefindhelper.h:
19561 * gst/check/Makefile.am:
19562 * gst/check/gstcheck.c:
19563 * gst/check/gstcheck.h:
19564 * gst/net/Makefile.am:
19565 * gst/net/gstnet.h:
19566 * gst/net/gstnetclientclock.c:
19567 * gst/net/gstnetclientclock.h:
19568 * gst/net/gstnettimepacket.c:
19569 * gst/net/gstnettimepacket.h:
19570 * gst/net/gstnettimeprovider.c:
19571 * gst/net/gstnettimeprovider.h:
19572 * libs/gst/Makefile.am:
19573 * libs/gst/base/Makefile.am:
19574 * libs/gst/base/gstbasetransform.c:
19575 * libs/gst/check/Makefile.am:
19576 * plugins/elements/Makefile.am:
19578 CVS surgery + support to move base, check, and net out of gst
19581 2005-11-29 Andy Wingo <wingo@pobox.com>
19583 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19585 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19588 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19590 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19592 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19594 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19595 padding; reduces object size by about 30%. We don't expect
19596 anything else to go into gstobject.
19598 * gst/gstminiobject.h (struct _GstMiniObject)
19599 (struct _GstMiniObjectClass): Only one pointer of padding; the
19600 payload is only a pointer and two ints anyway. For the class there
19601 are only two methods as well.
19603 * gst/gstelement.h (struct _GstElementClass): Removed
19604 the state_changed signal callback, it is not used.
19606 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19608 * docs/gst/gstreamer.types:
19609 fix includes, though they are a little dinky
19611 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19613 * check/Makefile.am:
19614 look in the right place for elements, a lot more chance of
19617 remove indexers and elements subdirs
19618 * plugins/Makefile.am:
19619 make indexers conditional
19621 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19625 * plugins/elements/Makefile.am:
19626 * plugins/elements/gstcapsfilter.c:
19627 * plugins/elements/gstfilesink.c:
19628 * plugins/elements/gstfilesrc.c:
19629 * plugins/elements/gstidentity.c:
19630 * plugins/indexers/Makefile.am:
19631 do CVS surgery and related build fixery to move elements
19632 and indexers in a new gstreamer/plugins directory, out of the
19635 2005-11-29 Andy Wingo <wingo@pobox.com>
19637 * check/Makefile.am:
19638 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19639 * pkgconfig/gstreamer-net.pc.in:
19640 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19643 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19645 * tools/Makefile.am:
19646 * tools/gst-complete.1.in:
19647 * tools/gst-complete.c:
19648 * tools/gst-compprep.1.in:
19649 * tools/gst-compprep.c:
19650 removing -compprep and -complete
19652 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19654 * gst/gstevent.c: (gst_event_new_new_segment),
19655 (gst_event_parse_new_segment):
19657 fix #320529 - clean up new_segment API and structure.
19658 Let's hope everyone was using the methods, and not the structure.
19660 2005-11-29 Edward Hervey <edward@fluendo.com>
19662 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19663 (gst_base_sink_event), (gst_base_sink_do_sync),
19664 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19665 Properly handle non GST_FORMAT_TIME segment
19666 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19667 Properly handle non GST_FORMAT_TIME segment
19668 * gst/gstsegment.c:
19669 This function is valid if the accumulator is 0 and the format
19670 is different from the requested format.
19672 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19674 * docs/gst/gstreamer-sections.txt:
19675 Add gst_query_new_seeking and gst_query_parse_seeking to the
19678 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19680 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19681 Treat a pad alloc with new caps the same as if we were not
19682 negotiated, in order to allow a changing upstream output
19683 to produce a new format of data.
19685 2005-11-29 Edward Hervey <edward@fluendo.com>
19687 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19688 (gst_base_transform_event), (gst_base_transform_eventfunc):
19689 The event virtual method is now properly implemented, with a default
19691 Sub classes should call the parent_class event method. They should
19692 return FALSE if they had a problem handling the given event, or don't
19693 want GstBaseTransform to send that even downstream
19694 * gst/elements/gstidentity.c: (gst_identity_class_init),
19695 (gst_identity_init), (gst_identity_event),
19696 (gst_identity_transform_ip), (gst_identity_set_property),
19697 (gst_identity_get_property):
19698 * gst/elements/gstidentity.h:
19699 Added the single-segment boolean property.
19700 If set to TRUE, it will output a single segment of data, starting from
19701 0, will eat up all incoming newsegment, and modify the timestamp of the
19702 buffers accordingly
19704 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19706 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19707 Don't ref NULL target pad (#322751). Improve docs.
19709 2005-11-29 Michael Smith <msmith@fluendo.com>
19711 * gst/gstregistryxml.c: (load_plugin):
19712 Don't crash if we failed to load a feature from a plugin.
19714 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19716 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19718 use more check API and less GLib API
19720 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19723 don't run checks if we don't have check
19724 * common/check.mak:
19725 remove the registry when running make torture
19726 * docs/gst/gstreamer-sections.txt:
19727 remove second multiply
19728 * gst/gstqueue.c: (gst_queue_loop):
19729 fix a compile warning when disabling debug
19731 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19734 Hey! Let's print the pad name if the pointer != NULL instead
19735 of when it == NULL :-)
19737 2005-11-28 Wim Taymans <wim@fluendo.com>
19739 * check/gst/gstutils.c: (GST_START_TEST):
19740 Updated check, add some scaling accuracy checking code.
19742 * gst/gstutils.c: (gst_util_div128_64),
19743 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19744 (gst_util_uint64_scale_int):
19745 Fix 6 times faster division code. Optimize for common
19746 1/1 and less common X/1 cases.
19748 2005-11-28 Wim Taymans <wim@fluendo.com>
19750 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19753 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19754 (do_linear_regression), (gst_clock_add_observation):
19756 Release lock when the clock cannot be slaved.
19757 Catch the case where the regression returned an invalid denominator.
19759 * gst/gstutils.c: (gst_util_div128_64_iterate),
19760 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19761 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19762 Add protentially more performant non-iterative 128/64 divide function
19763 that unfortunatly does not work yet.
19764 Shortcut the trivial 0/X = 0 case.
19765 Remove the warnings on overflow.
19767 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19769 * gst/gstplugin.c: (gst_plugin_register_func):
19770 everything causing a plugin not to load should be at least a WARNING
19772 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19774 * docs/random/ensonic/dparams.txt:
19775 some TODOs for the next dev cycle
19776 * libs/gst/controller/gstcontroller.c:
19777 (gst_controlled_property_set_interpolation_mode),
19778 (gst_controlled_property_new):
19779 * libs/gst/controller/gstcontroller.h:
19780 use base type to assign acccessor functions
19782 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19784 * check/Makefile.am:
19785 Oops, that should have been top_srcdir
19787 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19789 * check/Makefile.am:
19790 * check/elements/fdsrc.c: (GST_START_TEST):
19791 Use a cmdline define to specify the location of a file to use for
19792 testing, to avoid breaking distcheck.
19794 2005-11-28 Andy Wingo <wingo@pobox.com>
19796 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19798 2005-11-28 Edward Hervey <edward@fluendo.com>
19800 * tools/gst-launch.c: (main):
19801 Clarify the output strings, makes it easier to translate.
19804 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19807 don't try and build net if we don't even have <sys/socket.h>
19809 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19811 * check/Makefile.am:
19812 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19813 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19814 Add tests for fdsrc seekability
19816 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19817 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19818 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19819 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19820 * gst/elements/gstfdsrc.h:
19821 fdsrc should not be a 'live' source.
19822 Implement seeking on seekable fd's.
19824 * gst/gstquery.c: (gst_query_new_seeking),
19825 (gst_query_parse_seeking):
19827 Implement SEEKING query functions:
19828 *_new_seeking and *_parse_seeking
19830 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19832 * gst/gstelement.c: (gst_element_dispose):
19835 * gst/gstiterator.c:
19836 * gst/gststructure.c:
19839 * libs/gst/controller/gstcontroller.c:
19840 (gst_controlled_property_set_interpolation_mode):
19841 * libs/gst/controller/gstcontroller.h:
19842 * libs/gst/controller/gstinterpolation.c:
19843 (interpolate_none_get_enum_value_array):
19844 support controlling enums
19846 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19849 Improve documentation for gst_value_union().
19852 Change return value for union, intersect and subtract functions
19853 from gint to gboolean.
19855 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19857 * gst/gstvalue.c: (gst_value_serialize_any_list),
19858 (gst_value_transform_any_list_string),
19859 (gst_value_deserialize_list), (gst_value_deserialize_array),
19860 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19861 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19862 (gst_value_set_fraction_range_full),
19863 (gst_value_deserialize_fraction_range),
19864 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19865 (gst_value_deserialize_boolean),
19866 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19867 (gst_value_serialize_float), (gst_value_deserialize_float),
19868 (gst_string_wrap), (gst_value_deserialize_string),
19869 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19870 (gst_value_union_int_range_int_range),
19871 (gst_value_intersect_int_range_int_range),
19872 (gst_value_intersect_double_range_double_range),
19873 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19874 (gst_value_subtract_int_range_int_range),
19875 (gst_value_subtract_double_double_range),
19876 (gst_value_subtract_double_range_double_range),
19877 (gst_value_deserialize_fraction):
19879 Use gint, gdouble and gchar in our API instead of int, double and
19880 char (and make usage in gstvalue.c more consistent).
19882 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19884 * check/Makefile.am:
19885 * libs/gst/controller/Makefile.am:
19886 * libs/gst/dataprotocol/Makefile.am:
19887 fix up Makefile.am and remove GST_ENABLE_NEW
19889 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19893 * gst/base/Makefile.am:
19894 * gst/check/Makefile.am:
19895 * gst/elements/Makefile.am:
19896 * gst/net/Makefile.am:
19897 update LDFLAGS use some more
19899 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19901 * common/m4/gst-doc.m4:
19904 2005-11-26 Edward Hervey <edward@fluendo.com>
19906 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19907 This shouldn't issue a g_warning since it returns NULL if it
19908 couldn't find the plugin, and all functions using this behave
19909 properly on a NULL return. Switching to a GST_WARNING.
19911 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19913 * gst/gstbin.c: (gst_bin_handle_message_func):
19914 Don't leak clock messages.
19916 2005-11-25 Wim Taymans <wim@fluendo.com>
19918 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19919 (gst_util_uint64_scale_int):
19920 Optimisations, remove unneeded vars.
19922 2005-11-25 Wim Taymans <wim@fluendo.com>
19924 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19925 Added more checks for the high precision uint64 cases.
19927 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19928 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19929 Implement high precision (guint64 * guint64) / guint64.
19931 2005-11-24 Wim Taymans <wim@fluendo.com>
19933 * gst/base/gstbasesrc.c: (gst_base_src_query):
19934 Fix wrong percentage query.
19936 * gst/gstutils.c: (gst_util_uint64_scale),
19937 (gst_util_uint64_scale_int):
19938 Add some more common cases that can be handled
19939 efficiently to _scale.
19941 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19943 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19944 (gst_mini_object_suite):
19945 don't use check calls from threads; check probably isn't
19946 threadsafe and using a lock to make it threadsafe would
19947 defeat the purpose of this check
19948 * gst/check/gstcheck.c:
19949 * gst/check/gstcheck.h:
19950 use GST_DEBUG some more
19952 2005-11-24 Wim Taymans <wim@fluendo.com>
19954 * gst/gstutils.c: (gst_util_uint64_scale),
19955 (gst_util_uint64_scale_int):
19956 Chain trivial case to _scale_int.
19958 2005-11-24 Wim Taymans <wim@fluendo.com>
19960 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19961 Added test for scaling.
19966 * gst/gstutils.c: (gst_util_uint64_scale_int):
19967 Implemented high precision scaling code.
19969 2005-11-24 Stefan Kost <ensonic@users.sf.net>
19972 do not crash on pad==NULL
19974 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19976 Patch by: Stefan Kost
19978 * common/gtk-doc.mak:
19979 * docs/gst/Makefile.am:
19980 * docs/libs/Makefile.am:
19981 Fix distcheck issues for the libraries docs build
19984 2005-11-24 Michael Smith <msmith@fluendo.com>
19986 * docs/manual/basics-helloworld.xml:
19987 Fix bug #315027: memory leak in example code in docs.
19989 2005-11-24 Michael Smith <msmith@fluendo.com>
19991 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19992 Unlock the PREROLL_LOCK in a failure case.
19994 2005-11-24 Wim Taymans <wim@fluendo.com>
19996 * docs/gst/gstreamer-sections.txt:
19997 * gst/base/gstadapter.h:
19998 * gst/base/gstbasesink.h:
19999 * gst/base/gstbasesrc.h:
20000 * gst/base/gstbasetransform.h:
20001 * gst/base/gstpushsrc.h:
20002 * gst/elements/gstfakesink.h:
20003 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
20004 * gst/elements/gstfakesrc.h:
20005 * gst/elements/gstfilesink.h:
20006 * gst/elements/gstfilesrc.h:
20009 * gst/gstbuffer.c: (_gst_buffer_copy):
20012 * gst/gstchildproxy.c:
20014 * gst/gstelement.c:
20015 * gst/gstelementfactory.c:
20016 * gst/gstelementfactory.h:
20018 * gst/gstghostpad.h:
20020 * gst/gstinterface.h:
20021 * gst/gstminiobject.c:
20022 * gst/gstminiobject.h:
20025 * gst/gstpadtemplate.h:
20026 * gst/gstpipeline.h:
20027 * gst/gstpluginfeature.h:
20030 * gst/gsttaglist.c:
20031 * gst/gsttaglist.h:
20032 * gst/gsttagsetter.c:
20033 * gst/gsttagsetter.h:
20036 * gst/gsttypefind.h:
20039 * gst/net/gstnetclientclock.c:
20040 * gst/net/gstnetclientclock.h:
20041 * gst/net/gstnettimepacket.c:
20042 * gst/net/gstnettimeprovider.c:
20043 * gst/net/gstnettimeprovider.h:
20046 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20048 * configure.ac: back to HEAD
20050 === release 0.9.6 ===
20052 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20055 releasing 0.9.6, "Always On Time"
20057 2005-11-23 Wim Taymans <wim@fluendo.com>
20059 * docs/gst/gstreamer-sections.txt:
20060 * gst/glib-compat.c:
20061 * gst/gsttagsetter.c:
20063 * gst/net/gstnetclientclock.c:
20064 * gst/net/gstnettimepacket.h:
20067 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
20069 * docs/faq/using.xml:
20070 * docs/libs/tmpl/gstcontrol.sgml:
20071 * docs/manual/advanced-dparams.xml:
20072 * docs/manual/appendix-checklist.xml:
20073 * docs/manual/basics-elements.xml:
20074 * docs/pwg/other-source.xml:
20075 * docs/random/moving-plugins:
20077 * tools/gst-launch.1.in:
20078 remove mentions of sinesrc
20080 2005-11-23 Michael Smith <msmith@fluendo.com>
20082 * docs/gst/gstreamer-sections.txt:
20083 Update for new API and API changes.
20085 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20087 Documentation typo fix.
20088 * gst/net/gstnettimepacket.c:
20089 Documentation fixes for arguments.
20091 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20093 * gst/gststructure.c: (gst_structure_get_fraction),
20094 (gst_structure_parse_value),
20095 (gst_structure_fixate_field_nearest_fraction):
20096 * gst/gststructure.h:
20097 * gst/gstutils.c: (gst_util_uint64_scale_int):
20099 * scripts/update-funcnames:
20101 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20102 Make gst_structure_fixate_field_nearest_fraction take a numerator
20103 and denominator argument instead of a GValue
20104 add gst_structure_get_fraction helper function.
20106 2005-11-23 Wim Taymans <wim@fluendo.com>
20108 * docs/design/part-TODO.txt:
20111 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20112 * gst/net/gstnetclientclock.h:
20113 Use parent fields for timeout and window_size.
20115 2005-11-23 Andy Wingo <wingo@pobox.com>
20117 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20118 rate_num/rate_denom change.
20120 * gst/net/gstnetclientclock.c
20121 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20122 OBJECT_LOCK. Don't call add_observation with the lock.
20124 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20126 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20128 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20129 deal with rate as a fraction whose numerator and denominator are
20130 GstClockTime values.
20131 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20132 master; the other fields are protected by the SLAVE_LOCK.
20133 (do_linear_regression): Note that this must be called with the
20135 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20136 OBJECT_LOCK. Call set_calibration instead of touching the
20137 variables directly.
20138 (gst_clock_set_property, gst_clock_get_property): Protect
20139 master/slave parameters with the SLAVE_LOCK.
20141 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20142 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20143 note that all of the instance variables that add_observation and
20144 the set_master functions use are protected by that lock and not
20146 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20148 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20149 the caller to take the object lock.
20151 2005-11-23 Wim Taymans <wim@fluendo.com>
20153 * gst/gsterror.c: (_gst_core_errors_init):
20155 Add error for clock stuff.
20157 * gst/gstpipeline.c: (gst_pipeline_change_state),
20158 (gst_pipeline_set_clock):
20159 Post clock error when clock cannot be used in a pipeline.
20161 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20163 * docs/gst/gstreamer-sections.txt:
20164 make two symbols from gstinfo private for the docs
20165 * gst/base/gstcollectpads.h:
20167 fix doc typos, update docs
20169 2005-11-22 Wim Taymans <wim@fluendo.com>
20171 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20172 (gst_base_sink_wait), (gst_base_sink_do_sync),
20173 (gst_base_sink_handle_event):
20174 * gst/base/gstbasesink.h:
20175 No need to store the clock, the parent element class already
20178 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20179 Updates for clock_set returning a gboolean
20181 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20182 (gst_clock_id_wait_async), (gst_clock_class_init),
20183 (gst_clock_init), (gst_clock_finalize),
20184 (gst_clock_get_internal_time), (gst_clock_get_time),
20185 (gst_clock_slave_callback), (gst_clock_set_master),
20186 (gst_clock_get_master), (do_linear_regression),
20187 (gst_clock_add_observation), (gst_clock_set_property),
20188 (gst_clock_get_property):
20190 Implement master/slave. When setting a clock as a slave, a
20191 periodic timeout is scheduled to sample master and slave times.
20192 Then the slave clock is recalibrated to match offset and rate
20193 of the master clock.
20194 Update logging a bit.
20195 Add flag so that a clock can state that is cannot be slaved to
20198 * gst/gstelement.c: (gst_element_set_clock):
20199 * gst/gstelement.h:
20200 The set clock returns a gboolean for when an element cannot
20201 deal with the selected clock in the pipeline.
20203 * gst/gstpipeline.c: (gst_pipeline_change_state),
20204 (gst_pipeline_set_clock):
20205 * gst/gstpipeline.h:
20206 Handle the case where the selected clock cannot be set on
20209 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20210 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20211 (gst_net_client_clock_set_property),
20212 (gst_net_client_clock_get_property),
20213 (gst_net_client_clock_observe_times):
20214 * gst/net/gstnetclientclock.h:
20215 Use regression code in GstClock parent, remove duplicated
20218 2005-11-22 Michael Smith <msmith@fluendo.com>
20220 * gst/gstutils.c: (gst_util_clock_time_scale):
20222 * docs/gst/gstreamer-sections.txt:
20223 Rename method to have extra underscore.
20225 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20227 * gst/elements/Makefile.am:
20228 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20229 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20230 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20231 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20232 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20233 * gst/elements/gstfakesrc.h:
20234 * gst/gstqueue.c: (queue_leaky_get_type):
20235 correctly fix GEnumValues so that nick is the short lowercase
20237 * tools/gst-inspect.c: (print_element_properties_info):
20238 also show the nick, since it's useful to use from parse_launch
20242 2005-11-22 Michael Smith <msmith@fluendo.com>
20244 * gst/gstutils.c: (gst_util_clocktime_scale):
20246 * docs/gst/gstreamer-sections.txt:
20247 Add util method for scaling a clocktime by a fraction. Useful
20248 implementation is left as an exercise for the reader.
20250 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20252 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20253 If needed, allocate storage in the destination value during
20256 2005-11-22 Edward Hervey <edward@fluendo.com>
20258 * docs/gst/gstreamer-sections.txt:
20261 * gst/gsturitype.c:
20262 * gst/gsturitype.h:
20263 * gst/gstutils.c: (gst_util_set_object_arg):
20264 * tools/gst-compprep.c: (main):
20265 * tools/gst-inspect.c: (print_element_properties_info):
20266 Removed GstURI, closes bug #321061
20268 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20270 * check/gst/gststructure.c: (GST_START_TEST):
20271 * gst/gststructure.c: (gst_structure_parse_value):
20272 Oops, broke automatic string type parsing.
20273 Add a test to catch it in future.
20275 2005-11-22 Andy Wingo <wingo@pobox.com>
20277 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20278 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20279 Actually rename the function implementations. Grr.
20281 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20283 * check/gst/capslist.h:
20285 * check/gst/gststructure.c: (GST_START_TEST),
20286 (gst_structure_suite):
20287 Test automatic value type detection in gst_structure_from_string.
20288 * gst/gststructure.c: (gst_structure_parse_value):
20289 Add fraction as a type we try and guess automatically in
20290 caps/structure strings.
20292 2005-11-22 Andy Wingo <wingo@pobox.com>
20294 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20296 * gst/gsttagsetter.h:
20297 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20298 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20299 (gst_tag_setter_add_tag_valist)
20300 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20301 _add_values, _add_valist, and _add_valist_values. Since this is an
20302 interface the function suffixes should be more explicit so
20303 language binding don't end up with element.add_valist ->
20304 gst_tag_setter_add_valist, for example. Fixes #322069.
20306 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20308 * check/gst/gstcaps.c: (GST_START_TEST):
20309 Extend caps string tests to check that a caps to string
20310 conversion is reversible and produces the same caps.
20312 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20313 Output "fraction" as the generic type fraction range, so caps
20314 serialisation and deserialisation works.
20315 * check/gst/capslist.h:
20316 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20317 Support 'MIN' and 'MAX' for deserialising fractions.
20319 2005-11-22 Andy Wingo <wingo@pobox.com>
20321 * gst/gstevent.h (gst_event_new_new_segment)
20322 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20323 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20324 Renamed from *_newsegment, *_buffersize, *_notarget.
20326 * scripts/update-funcnames: New script, performs the changes
20329 2005-11-22 Wim Taymans <wim@fluendo.com>
20331 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20332 Make sure the GstFlowReturn is returned.
20334 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20335 (gst_bus_add_signal_watch):
20337 add gst_bus_add_signal_watch_full.
20339 * gst/gstplugin.c: (gst_plugin_load_file):
20340 Small style cleanup.
20342 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20344 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20345 Block the fakesrc srcpad when we send an event, to avoid
20346 contention on the stream_lock causing random test failures.
20348 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20350 * check/gst/gstvalue.c: (GST_START_TEST):
20351 * gst/gstvalue.c: (gst_value_fraction_subtract):
20354 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20357 include "gstchildproxy.h"
20358 * gst/gstchildproxy.h:
20359 * libs/gst/controller/gstcontroller.h:
20360 use G_GNUC_NULL_TERMINATED
20362 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20364 * check/gst/capslist.h:
20365 * check/gst/gstcaps.c: (GST_START_TEST):
20366 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20367 * gst/gststructure.c: (gst_structure_parse_range),
20368 (gst_structure_fixate_field_nearest_fraction):
20369 * gst/gststructure.h:
20370 * gst/gstvalue.c: (gst_value_init_fraction_range),
20371 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20372 (gst_value_collect_fraction_range),
20373 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20374 (gst_value_set_fraction_range_full),
20375 (gst_value_get_fraction_range_min),
20376 (gst_value_get_fraction_range_max),
20377 (gst_value_serialize_fraction_range),
20378 (gst_value_transform_fraction_range_string),
20379 (gst_value_compare_fraction_range),
20380 (gst_value_deserialize_fraction_range),
20381 (gst_value_intersect_fraction_fraction_range),
20382 (gst_value_intersect_fraction_range_fraction_range),
20383 (gst_value_subtract_fraction_fraction_range),
20384 (gst_value_subtract_fraction_range_fraction),
20385 (gst_value_subtract_fraction_range_fraction_range),
20386 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20387 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20388 (gst_value_transform_string_fraction), (_gst_value_initialize):
20390 Implement fraction ranges and extend GstFraction to support
20391 arithmetic subtraction, as well as deserialization from integer
20392 strings such as "100"
20393 Add a testsuite as for int and double range set operations
20395 2005-11-21 Andy Wingo <wingo@pobox.com>
20397 * gst/gsttaglist.h:
20399 * gst/gststructure.h: Add glib-compat.h.
20401 2005-11-21 Wim Taymans <wim@fluendo.com>
20403 * gst/gstbin.c: (gst_bin_change_state_func):
20406 2005-11-21 Wim Taymans <wim@fluendo.com>
20408 * gst/gstsegment.h:
20409 And add a nice define too.
20411 2005-11-21 Wim Taymans <wim@fluendo.com>
20413 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20414 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20415 (gst_segment_set_duration), (gst_segment_set_last_stop),
20416 (gst_segment_set_seek), (gst_segment_set_newsegment),
20417 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20418 (gst_segment_clip):
20419 * gst/gstsegment.h:
20420 Make binding friendly.
20422 2005-11-21 Andy Wingo <wingo@pobox.com>
20424 * gst/gsttagsetter.h:
20425 * gst/gsttaglist.h:
20426 * gst/gststructure.h:
20428 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20431 * gst/gsterror.c (_gst_core_errors_init):
20432 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20435 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20436 (noinst_HEADERS): noinst the -private.
20438 2005-11-21 Michael Smith <msmith@fluendo.com>
20441 * gst/gstregistry.h:
20442 Remove unimplemented declarations for which we can see no sensible
20445 2005-11-21 Andy Wingo <wingo@pobox.com>
20447 * gst/gst.h: Include glib-compat.h.
20449 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20451 * gst/glib-compat.c: Include the public and the private header.
20453 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20457 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20459 * check/gst/gstevent.c (create_custom_events): Check that
20460 FLUSH_STOP is serialized.
20462 * check/elements/identity.c (event_func):
20463 * check/elements/fakesrc.c (event_func): No stream lock, the core
20466 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20467 stream lock taking, yay.
20469 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20470 ensure that core takes the stream lock.
20472 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20475 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20476 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20477 it already. For the flush start we do take it though so we get the
20478 right preroll state change messages.
20480 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20481 the stream lock here, the core does it for us.
20483 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20484 GST_STREAM_GET_LOCK.
20485 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20486 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20487 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20488 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20489 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20490 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20492 * gst/gstpad.c: Update for stream lock name change.
20494 * gst/base/gstbasesink.c: Update for preroll lock name change.
20496 2005-11-21 Wim Taymans <wim@fluendo.com>
20498 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20499 (gst_clock_get_master):
20501 * gst/gstsystemclock.c: (gst_system_clock_init):
20502 Convert Clock flags to object flags.
20503 Added methods to manage master/slave clocks.
20505 2005-11-21 Wim Taymans <wim@fluendo.com>
20507 * check/gst/gstsegment.c: (GST_START_TEST):
20508 * docs/design/part-TODO.txt:
20509 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20510 (gst_base_sink_event), (gst_base_sink_do_sync),
20511 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20512 (gst_base_sink_query), (gst_base_sink_change_state):
20513 * gst/base/gstbasesink.h:
20514 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20515 (gst_base_src_default_newsegment),
20516 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20517 (gst_base_src_get_range), (gst_base_src_loop),
20518 (gst_base_src_change_state):
20519 * gst/base/gstbasesrc.h:
20520 * gst/base/gstbasetransform.c:
20521 (gst_base_transform_prepare_output_buf),
20522 (gst_base_transform_event), (gst_base_transform_change_state):
20523 * gst/base/gstbasetransform.h:
20524 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20525 (gst_collect_pads_event):
20526 * gst/base/gstcollectpads.h:
20527 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20528 (gst_fake_src_create):
20529 * gst/elements/gstfakesrc.h:
20530 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20531 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20532 (gst_segment_set_last_stop), (gst_segment_set_seek),
20533 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20534 (gst_segment_to_running_time), (gst_segment_clip):
20535 * gst/gstsegment.h:
20536 More segment updates, replace code in plugins with segment
20539 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20541 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20542 Don't ignore sscanf results
20544 2005-11-21 Andy Wingo <wingo@pobox.com>
20546 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20549 * *.c: Ran scripts/update-macros. Oh yes.
20551 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20552 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20555 * scripts/update-macros: New script. Run it on your files to
20556 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20559 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20561 * docs/gst/Makefile.am:
20562 * docs/gst/gstreamer-docs.sgml:
20563 * docs/gst/gstreamer-sections.txt:
20564 * docs/gst/gstreamer.types:
20566 more docs fixes, add new api to the docs
20568 2005-11-21 Andy Wingo <wingo@pobox.com>
20570 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20571 state_broadcast call.
20573 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20575 2005-11-21 Julien MOUTTE <julien@moutte.net>
20577 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20578 function calls for arrays.
20580 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20582 * docs/random/ensonic/media-device-daemon.txt:
20583 wild idea, can this be done?
20584 * docs/gst/gstreamer-sections.txt:
20589 * gst/gstpluginfeature.c:
20593 doc fixes and additions
20595 2005-11-21 Andy Wingo <wingo@pobox.com>
20597 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20598 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20599 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20600 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20601 private to the basesrc implementation.
20603 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20604 behalf of event function if necessary. It should no longer be
20605 necessary to take the stream lock in pad's event functions. Fixes
20608 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20609 * docs/gst/gstreamer-sections.txt:
20610 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20611 (gst_structure_fixate_field_nearest_double),
20612 (gst_structure_fixate_field_boolean):
20613 * gst/gststructure.h:
20614 * win32/common/libgstreamer.def:
20615 * win32/gstreamer.def:
20617 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20620 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20622 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20623 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20624 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20625 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20626 (gst_fdsrc_uri_handler_init):
20627 * gst/elements/gstfdsrc.h:
20628 Port fd:// URI handler from 0.8 to fdsrc
20630 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20632 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20633 (gst_value_serialize_fourcc):
20635 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20636 consistent with our other format defines (#320324).
20638 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20640 * gst/gstvalue.c: (gst_value_is_fixed):
20641 Revert previous commit. Value lists are by definition
20642 not fixed, as they are a list of possible values.
20644 2005-11-21 Andy Wingo <wingo@pobox.com>
20646 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20647 during the stable series if we need it. Fixes #319178.
20649 * gst/gstevent.c (gst_event_new_filler): Removed.
20651 * check/gst/gstevent.c: Update comment about filler events.
20653 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20655 * gst/gstvalue.c: (gst_value_is_fixed):
20656 Should handle both value arrays and value lists.
20658 2005-11-21 Andy Wingo <wingo@pobox.com>
20660 patch by: Alessandro Dessina <alessandro nnva org>
20662 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20663 functions to access arrays. Fixes #321962.
20665 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20667 * docs/gst/gstreamer.types:
20668 gst_collectpads_get_type => gst_collect_pads_get_type.
20670 * gst/base/gstbasetransform.c:
20671 Remove unused SIGNAL_HANDOFF enum.
20673 2005-11-21 Andy Wingo <wingo@pobox.com>
20675 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20676 the event type (upstream, downstream, serialized). Renamed
20677 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20678 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20679 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20681 * gst/gstevent.c: Update for new CUSTOM event names.
20683 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20686 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20689 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20691 * docs/gst/gstreamer-sections.txt:
20692 * win32/common/libgstbase.def:
20693 * win32/libgstbase.def:
20694 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20695 (gst_collect_pads_class_init), (gst_collect_pads_init),
20696 (gst_collect_pads_finalize), (gst_collect_pads_new),
20697 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20698 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20699 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20700 (gst_collect_pads_start), (gst_collect_pads_stop),
20701 (gst_collect_pads_peek), (gst_collect_pads_pop),
20702 (gst_collect_pads_available), (gst_collect_pads_read),
20703 (gst_collect_pads_flush), (gst_collect_pads_event),
20704 (gst_collect_pads_chain):
20705 * gst/base/gstcollectpads.h:
20706 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20707 unimplemented functions as unimplemented. Add padding to
20708 GstCollectData. (#320766, #320423)
20710 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20712 * gst/gstmessage.c:
20713 Improve docs for DURATION message (usage of duration parameter)
20716 2005-11-20 Wim Taymans <wim@fluendo.com>
20718 * check/Makefile.am:
20719 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20723 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20724 (gst_segment_set_seek), (gst_segment_set_newsegment),
20725 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20726 (gst_segment_clip):
20727 * gst/gstsegment.h:
20728 Added segment helper structure and methods. Not fully implemented
20730 Added segment check.
20732 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20734 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20735 Add a deserialisation test for fractions
20736 * examples/metadata/read-metadata.c: (message_loop),
20737 (make_pipeline), (main):
20738 Fix up metadata reading sample.
20739 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20741 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20742 Don't try and fixate empty caps
20743 * gst/gst_private.h:
20744 Wrap in G_BEGIN_DECLS/G_END_DECLS
20745 * gst/gstvalue.c: (gst_value_collect_fraction),
20746 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20747 (gst_value_transform_string_fraction),
20748 (gst_value_compare_fraction):
20749 Add some extra guards to ensure that we don't end up
20750 with an invalid denominator of 0 in a gstfraction and
20751 that fractions always get reduced.
20753 2005-11-20 Wim Taymans <wim@fluendo.com>
20755 * docs/gst/gstreamer-sections.txt:
20757 * gst/gstelement.c:
20766 2005-11-20 Wim Taymans <wim@fluendo.com>
20768 * docs/design/part-TODO.txt:
20770 Make a proper enum of the flag.
20772 2005-11-19 Wim Taymans <wim@fluendo.com>
20774 * docs/design/part-TODO.txt:
20775 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20776 (gst_format_to_quark), (gst_format_register):
20778 * gst/gstquery.c: (_gst_query_initialize),
20779 (gst_query_type_get_name), (gst_query_type_to_quark),
20780 (gst_query_type_register):
20782 Add type to quark and type to string conversions.
20784 2005-11-19 Andy Wingo <wingo@pobox.com>
20786 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20789 2005-11-19 Wim Taymans <wim@fluendo.com>
20791 * docs/design/part-TODO.txt:
20792 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20793 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20794 (gst_bin_handle_message_func):
20796 Make message handling overridable.
20798 2005-11-19 Andy Wingo <wingo@pobox.com>
20800 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20803 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20805 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20806 is a GstClockTime. Fixes #321710.
20808 * gst/gstclock.h (GstClock): Remove offset property. Add
20809 internal_calibration and external_calibration. Fix padding. Pad
20810 also by GstClockTime so we don't run into problems.
20812 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20813 (gst_clock_get_rate_offset): Remove.
20814 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20817 * gst/gstutils.c (g_static_rec_cond_wait)
20818 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20820 * gst/gstbin.c: Remove terrible continue_state prototype.
20822 * gst/gstelement.h (gst_element_continue_state): Make public.
20824 * gst/gstelement.h:
20825 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20826 by continue_state. Fixes #319389.
20828 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20829 Really fixes #168438. However I don't see anywhere where the
20830 filter function is called... stupid GStreamer...
20832 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20833 don't have a dispose function, so it won't get called when the
20834 object is unreffed, but oh well!
20836 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20837 allows a destroy function to be set so user_data can be freed.
20839 (gst_index_set_filter): Call gst_index_set_filter_full.
20841 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20843 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20844 string should produce an error, given the lack of a way to
20845 represent NULL strings. Fixes #165650.
20848 * gst/gstvalue.c (gst_value_array_append_value)
20849 (gst_value_array_prepend_value, gst_value_array_get_size)
20850 (gst_value_array_get_value): New API, copied from
20851 gst_value_list_*, only operates on arrays.
20852 (gst_value_list_append_value, gst_value_list_prepend_value)
20853 (gst_value_list_concat, gst_value_list_get_size)
20854 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20856 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20857 init_list, because it works on both.
20858 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20859 (gst_value_copy_list_or_array): Renamed from copy_list.
20860 (gst_value_free_list_or_array): Renamed from free_list.
20861 (gst_value_collect_list_or_array): Renamed from collect_list.
20862 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20863 (gst_value_list_or_array_peek_pointer): Renamed from
20865 (_gst_value_array_value_table, _gst_value_list_value_table):
20866 Update value table functions.
20867 (gst_value_compare_list_or_array): Renamed from compare_list.
20869 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20872 * gst/gsttaglist.c:
20873 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20874 GstTagList*. Fixes #143472.
20876 * gst/gststructure.h: Clarify what the foreach/map functions can
20877 or can't do to their arguments.
20879 2005-11-18 Wim Taymans <wim@fluendo.com>
20881 * gst/gstclock.c: (gst_clock_set_calibration),
20882 (gst_clock_get_calibration):
20884 Calibration can be set with internal time equal to current
20887 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20893 2005-11-18 Andy Wingo <wingo@pobox.com>
20896 * pkgconfig/gstreamer-net.pc.in:
20897 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20898 * pkgconfig/Makefile.am: Add net pkgconfig files.
20900 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20903 * gst/gstghostpad.c:
20909 2005-11-18 Andy Wingo <wingo@pobox.com>
20911 * gst/net/gstnetclientclock.c: Turn off debugging.
20913 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20914 times connverge somewhat. Can't make a real test.
20916 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20917 integer arithmetic. Return the minimum of the domain, which can be
20918 set as "internal" for gst_clock_set_calibration.
20919 (gst_net_client_clock_observe_times): Call _set_calibration.
20920 (gst_net_client_clock_new): Call _set_calibration instead of
20923 * check/net/gstnetclientclock.c (test_functioning): Use the right
20927 * gst/gstclock.c (gst_clock_get_calibration)
20928 (gst_clock_set_calibration): New functions, obsolete the ones I
20929 added yesterday. Doh. Precision issues mean we have to extrapolate
20930 from a point in the more recent past than 1970.
20931 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20933 (gst_clock_adjust_unlocked): Use the right calibration data.
20935 2005-11-18 Edward Hervey <edward@fluendo.com>
20937 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20938 Also reset the ->current_* values in READY->PAUSED
20940 2005-11-18 Andy Wingo <wingo@pobox.com>
20942 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20943 Whoops, check the right fd. Also add some debugging.
20944 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20945 (do_linear_regression): Add a crapload of debugging. Subtract off
20946 the minimum values from the input series to discard unneeded bits.
20947 Use only int arithmetic. There is still double arithmetic when
20948 calculating the intercept that needs fixing. Return boolean to
20949 indicate success; FALSE would mean the domain or range is too
20950 great. Still needs fixes.
20952 2005-11-18 Wim Taymans <wim@fluendo.com>
20954 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20955 For the current position in stream time, we need to subtract
20958 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20959 Release lock before calling the callback function of async
20962 2005-11-18 Andy Wingo <wingo@pobox.com>
20964 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20965 Port goes all the way to MAXUINT16.
20967 * gst/net/gstnettimeprovider.c: Make the port range the same as
20968 for the kernel: 0 assigns, otherwise ports are less than
20971 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20974 * check/net/gstnetclientclock.c (test_functioning): Add the start
20977 2005-11-18 Wim Taymans <wim@fluendo.com>
20979 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20980 (gst_bin_remove_func), (bin_bus_handler):
20982 Removing a clock provider from a bin, triggers a clock lost message
20983 so that a new clock will be selected.
20984 Adding a clock to a bin triggers a clock provider message.
20985 Make sure we reselect a clock when we received a clock lost message.
20986 Keep a reference to the element that provided the clock.
20988 2005-11-18 Andy Wingo <wingo@pobox.com>
20990 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20991 the clock initially so it produces values around the base time.
20992 (gst_net_client_clock_class_init): Typo fix.
20993 (gst_net_client_clock_thread): Add note on when the socket gets
20996 2005-11-17 Wim Taymans <wim@fluendo.com>
20998 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20999 Free remote and local time arrays.
21001 2005-11-17 Wim Taymans <wim@fluendo.com>
21003 * gst/net/gstnetclientclock.c: (do_linear_regression),
21004 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
21005 Fix compilation, uninitialized vars and a forgotten continue.
21007 2005-11-17 Andy Wingo <wingo@pobox.com>
21009 * check/Makefile.am (check_PROGRAMS):
21010 * check/net/gstnetclientclock.c: Add a most minimal test for the
21011 net client clock. More to come later.
21013 * gst/net/gstnet.h:
21014 * gst/net/Makefile.am: Add netclientclock.
21016 * gst/net/gstnetclientclock.h:
21017 * gst/net/gstnetclientclock.c: New files, implement an untested
21018 GstClock that takes its time from a network time provider.
21019 Implements the algorithm in network-clock.scm.
21021 * tests/network-clock.scm (*window-size*): Rename from
21023 * tests/network-clock.scm (network-time):
21024 * tests/network-clock-utils.scm (q-push): Update callers.
21026 2005-11-17 Wim Taymans <wim@fluendo.com>
21028 * gst/gstbin.c: (gst_bin_provide_clock_func),
21029 (gst_bin_sort_iterator_new):
21030 And unref the child too..
21032 2005-11-17 Wim Taymans <wim@fluendo.com>
21034 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
21035 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
21036 Refactor the sort iterator so it can be used while holding the
21038 Make clock selection select a clock closest to the source.
21040 2005-11-17 Michael Smith <msmith@fluendo.com>
21042 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21043 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21045 Anonymous structs are a gcc (and some other compilers) extension, so
21046 don't use them. Since this is only for ABI-compatibility, and our
21047 API/ABI freeze is over in a few days, this whole thing will only
21048 last a few days, so don't bother trying to think up a meaningful
21049 name for the struct.
21051 2005-11-17 Andy Wingo <wingo@pobox.com>
21053 * gst/gstclock.h (GstClock): Add rate and offset properties,
21054 preserving ABI stability. Add rate/offset accessors. Will file bug
21055 for the freeze break.
21057 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21058 and offset, trying to keep precision and avoiding
21059 underflow/overflow.
21060 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21061 functions. Make gst_clock_set_time_adjust obsolete.
21062 (gst_clock_set_time_adjust): Note that this function is obsolete.
21063 Will file bug soon.
21065 * gst/base/gstbasetransform.h: Make the ABI-stability hack
21066 greppable by using GST_PADDING-1+1.
21068 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
21070 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21072 * gst/gstmessage.c: (gst_message_parse_clock_lost):
21073 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21075 * gst/gstpadtemplate.h:
21076 * gst/gstpluginfeature.h:
21077 Don't use c++ style comments in headers (#321638).
21079 2005-11-16 Andy Wingo <wingo@pobox.com>
21081 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21084 * check/net/gstnettimeprovider.c: Check to see that the time
21085 provider actually provides times. Works, yo!
21087 2005-11-16 Wim Taymans <wim@fluendo.com>
21089 * check/Makefile.am:
21092 * check/elements/fakesrc.c: (GST_START_TEST):
21093 Set element to NULL before disposing it.
21095 2005-11-16 Andy Wingo <wingo@pobox.com>
21097 * gst/net/Makefile.am:
21098 * gst/net/gstnet.h:
21099 * gst/net/gstnettimeprovider.c:
21100 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21101 provider, include it from gstnet.h, and add it to the build.
21103 * gst/net/gstnettimepacket.h:
21104 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21105 sending and receiving.
21107 2005-11-16 Wim Taymans <wim@fluendo.com>
21109 * check/Makefile.am:
21110 Enable valgrind check.
21112 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21113 (gst_fake_src_alloc_buffer):
21116 2005-11-16 Wim Taymans <wim@fluendo.com>
21118 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21119 Call parent finalize too.
21121 2005-11-16 Wim Taymans <wim@fluendo.com>
21123 * check/Makefile.am:
21124 Enable valgrind check that should work fine now.
21126 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21127 * gst/gstqueue.c: (gst_queue_init):
21128 Fix memleaks in pad allocation.
21130 2005-11-16 Andy Wingo <wingo@pobox.com>
21132 * gst/net/Makefile.am:
21133 * gst/net/gstnet.h: New part of core to hold network elements and
21134 objects. Put in core because it exposes API that applications want
21135 to use. The library is named libgstnet-tempname right now because
21136 of the existing libgstnet in gst-plugins-base. Solution is
21137 probably to rename the one in plugins-base; will file a bug for
21140 * gst/net/gstnettimeprovider.c:
21141 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21142 get_time call over the network.
21145 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21147 * check/Makefile.am:
21148 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21149 get additions shortly.
21151 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21153 * gst/gstpad.c: (gst_pad_new_from_static_template):
21155 add gst_pad_new_from_static_template functions
21156 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21157 (gst_check_setup_sink_pad):
21158 * gst/elements/gsttee.c: (gst_tee_init):
21161 2005-11-16 Wim Taymans <wim@fluendo.com>
21163 * gst/gstpad.c: (gst_pad_pause_task):
21164 Removed warning, it's not really an error either.
21166 2005-11-16 Wim Taymans <wim@fluendo.com>
21168 * gst/base/gstbasetransform.c:
21169 (gst_base_transform_prepare_output_buf),
21170 (gst_base_transform_event):
21171 Check if the caps are NULL, this can happen if the element
21172 is shutting down and the pad caps are set to NULL.
21174 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21176 * gst/elements/gsttee.c: (gst_tee_init):
21177 fix pad template leak in tee
21179 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21181 * gst/glib-compat.c: (g_value_dup_gst_object):
21182 * gst/glib-compat.h:
21183 * gst/gstpad.c: (gst_pad_set_property):
21184 use gst_object_ref when setting the pad template; this will
21185 trigger the pad template leaks on GLib 2.6 and the slaves
21187 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21189 * gst/glib-compat.c: (gst_flags_get_first_value):
21190 * gst/glib-compat.h:
21191 * gst/gstregistryxml.c:
21192 remove functions copied from GLib 2.6
21194 2005-11-16 Michael Smith <msmith@fluendo.com>
21197 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21198 do, but only breaks with newer valgrind versions. We're not a
21199 valgrind tool, we have no link-time dependencies on libcoregrind.
21201 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21203 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21205 * gst/gstmessage.h:
21208 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21210 * gst/base/gstbasesrc.c: (gst_base_src_init):
21211 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21212 * gst/gstqueue.c: (gst_queue_init):
21213 * gst/gstregistryxml.c: (load_feature):
21214 Revert all these unrefs, they don't even pass make check !
21216 2005-11-15 Johan Dahlin <johan@gnome.org>
21218 * gst/base/gstbasesrc.c: (gst_base_src_init):
21219 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21220 * gst/gstqueue.c: (gst_queue_init):
21221 Free pad templates, fixes a couple of leaks.
21223 2005-11-15 Daniel Fischer <dan at f3c dot com>
21225 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21227 * gst/gstpad.c: (gst_pad_get_property):
21228 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21229 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21232 2005-11-15 Wim Taymans <wim@fluendo.com>
21237 2005-11-15 Andy Wingo <wingo@pobox.com>
21239 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21241 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21242 using GST_CLOCK_TIME_NONE to disable base time management.
21243 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21244 time if it was NONE before.
21245 (gst_pipeline_change_state): Only munge the base time if
21246 stream_time != GST_CLOCK_TIME_NONE.
21248 * check/gst/gstpipeline.c (test_base_time): Punt around the
21249 problem of the probe not being called, because that's not the
21250 issue I'm looking at. Add a check that setting stream_time to NONE
21251 disables base time management.
21253 2005-11-15 Wim Taymans <wim@fluendo.com>
21255 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21256 segment_stop == -1 at startup.
21258 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21259 (gst_base_transform_change_state):
21260 Init segment values at start.
21262 2005-11-15 Wim Taymans <wim@fluendo.com>
21264 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21265 0 segment values are 0 in any format.
21267 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21268 * gst/base/gstbasetransform.h:
21269 Parse newsegment correctly in basetransform
21271 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21272 Sync to clock using updated segment values.
21274 2005-11-15 Andy Wingo <wingo@pobox.com>
21276 * check/gst/gstpipeline.c (test_base_time): Add check that the
21277 base time and stream time are reset correctly.
21279 2005-11-15 Wim Taymans <wim@fluendo.com>
21281 * docs/design/part-TODO.txt:
21282 Some more TODO items.
21284 2005-11-15 Andy Wingo <wingo@pobox.com>
21286 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21287 error if the user selected "no clock" as the clocking method.
21289 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21290 timestamps with live capture.
21292 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21293 is 0 but we are a live source, timestamp the buffers using the
21296 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21298 * docs/gst/gstreamer-sections.txt:
21300 * gst/gstghostpad.c:
21305 2005-11-14 Wim Taymans <wim@fluendo.com>
21308 add suppressions from Wim's Debian machine
21310 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21313 add suppressions from Andy's AMD64 Ubuntu machine
21315 2005-11-14 Andy Wingo <wingo@pobox.com>
21317 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21318 STATE_LOCK not necessary. Fixes #311489.
21320 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21323 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21324 this function is not implemented.
21326 2005-11-14 Julien MOUTTE <julien@moutte.net>
21328 * gst/base/gstbasetransform.c:
21329 (gst_base_transform_prepare_output_buf):
21330 Ref the source pad caps while we need them.
21333 2005-11-11 Wim Taymans <wim@fluendo.com>
21335 * docs/gst/gstreamer-sections.txt:
21336 Added some docs for GstCollectData.
21338 * gst/base/gstadapter.c:
21339 Some small code example fix.
21341 * gst/base/gstcollectpads.c:
21342 * gst/base/gstcollectpads.h:
21343 Document some more.
21345 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21347 * configure.ac: back to HEAD
21349 === release 0.9.5 ===
21351 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21354 releasing 0.9.5, "Bike Lunch Day"
21356 2005-11-11 Wim Taymans <wim@fluendo.com>
21358 * gst/gstbuffer.c: (_gst_buffer_copy):
21361 * gst/gstcaps.c: (gst_caps_is_equal):
21363 Make _is_equal fast in the trivial cases.
21365 * gst/gstminiobject.c:
21366 * gst/gstminiobject.h:
21367 More docs. Spifify .h file.
21372 2005-11-11 Wim Taymans <wim@fluendo.com>
21374 * gst/base/gstbasetransform.c:
21375 (gst_base_transform_prepare_output_buf),
21376 (gst_base_transform_handle_buffer):
21378 If we're processing a buffer and need to allocate an output
21379 buffer, we cannot accept a format change. If we did get a
21380 format change, we have to alloc a buffer ourselves of the
21383 2005-11-11 Wim Taymans <wim@fluendo.com>
21385 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21386 While checking the flag for reentrancy in the gstcaps function
21387 is nice to detect recursive invocations, it also makes it
21388 impossible to call getcaps from multiple threads, which must be
21389 possible. So, checking for recursive calls has to go.
21391 2005-11-11 Michael Smith <msmith@fluendo.com>
21393 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21394 Don't sync on buffers that fall partially outside our current
21395 segment. Prevents an assertion failure/abort playing some files.
21397 2005-11-10 Andy Wingo <wingo@pobox.com>
21399 * check/gst/gstbin.c (test_message_state_changed_children): Style
21402 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21403 gst_bus_poll with the signal watch. Ensures that poll and a signal
21404 watch see the same messages.
21406 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21407 a poll and a watch at the same time get the same messages.
21409 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21411 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21412 * gst/gstcaps.c: (gst_caps_intersect):
21413 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21414 and it's not needed.
21416 2005-11-10 Wim Taymans <wim@fluendo.com>
21418 * docs/design/part-TODO.txt:
21421 2005-11-10 Wim Taymans <wim@fluendo.com>
21423 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21424 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21425 (gst_base_src_do_sync), (gst_base_src_get_range):
21426 Implement clock sync in base class.
21428 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21430 patch by: Tim-Philipp Müller <tim at centricular dot net>
21432 * gst/gststructure.c: (gst_structure_parse_field),
21433 (gst_structure_from_string):
21434 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21435 so that gst_parse_launch() can deal with spaces in filtered link
21436 caps (fixes #164479)
21437 * check/gst/capslist.h:
21438 * check/gst/gststructure.c: (GST_START_TEST):
21439 add unit tests for this change
21441 2005-11-10 Wim Taymans <wim@fluendo.com>
21443 * docs/gst/gstreamer-sections.txt:
21444 * gst/gstelement.c:
21445 * gst/gstelement.h:
21446 Fix docs, move some STATE macros to private.
21448 2005-11-10 Wim Taymans <wim@fluendo.com>
21450 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21451 Added check for bug #317341
21455 Some more spiffifying.
21457 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21458 Call peer linkfunction if we are a source pad. Totally fixes
21462 Update docs, source pads should call the peer linkfunction
21463 so they can atomically perform the pad link.
21465 2005-11-09 Wim Taymans <wim@fluendo.com>
21469 Uber-spiffy-spiffify some more.
21471 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21473 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21474 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21475 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21476 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21477 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21478 * gst/gstpad.c: (gst_pad_init):
21479 Use GST_DEBUG_FUNCPTR() more extensively.
21481 2005-11-09 Wim Taymans <wim@fluendo.com>
21483 * gst/gstobject.c: (gst_object_class_init):
21485 Documentation fixes.
21487 2005-11-09 Edward Hervey <edward@fluendo.com>
21489 * gst/gsttypefindfactory.c:
21492 2005-11-09 Edward Hervey <edward@fluendo.com>
21494 * gst/base/gsttypefindhelper.c:
21495 * gst/gsttypefind.c:
21496 * gst/gsttypefind.h:
21499 2005-11-09 Wim Taymans <wim@fluendo.com>
21501 * gst/gstiterator.c:
21508 2005-11-09 Wim Taymans <wim@fluendo.com>
21514 2005-11-09 Wim Taymans <wim@fluendo.com>
21516 * docs/gst/gstreamer-sections.txt:
21517 Moved the message async delivery private lock and cond
21518 to the private section.
21520 * gst/gstmessage.c:
21521 * gst/gstmessage.h:
21524 2005-11-09 Edward Hervey <edward@fluendo.com>
21526 * docs/gst/gstreamer-sections.txt:
21529 Document GstURIHandler
21531 2005-11-09 Wim Taymans <wim@fluendo.com>
21533 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21534 (gst_iterator_find_custom):
21535 * gst/gstiterator.h:
21538 2005-11-09 Wim Taymans <wim@fluendo.com>
21541 Document another field.
21543 * gst/gststructure.c:
21544 * gst/gststructure.h:
21547 2005-11-09 Wim Taymans <wim@fluendo.com>
21550 Documented structs.
21552 2005-11-09 Wim Taymans <wim@fluendo.com>
21554 * docs/gst/gstreamer-sections.txt:
21555 Added some new macros.
21562 2005-11-09 Wim Taymans <wim@fluendo.com>
21564 * docs/design/part-TODO.txt:
21565 Some more items for the TODO
21571 2005-11-09 Andy Wingo <wingo@pobox.com>
21573 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21574 to work on something else now tho...
21576 * gst/base/gstadapter.c: More adapter docs.
21578 * gst/elements/gstfilesink.c (gst_file_sink_start)
21579 (gst_file_sink_stop): New functions, replace the state change
21581 (gst_file_sink_class_init): Hook up the start and stop functions.
21582 (gst_file_sink_base_init): Don't set the state change handler any
21583 more. It was a bit ugly too, being set from here...
21584 (gst_file_sink_get_property, gst_file_sink_set_property):
21586 (gst_file_sink_set_location): More robust check that doesn't call
21587 GST_STATE. Ugggggg.
21589 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21591 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21592 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21594 2005-11-08 Wim Taymans <wim@fluendo.com>
21596 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21597 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21598 (gst_base_sink_chain), (gst_base_sink_change_state):
21599 * gst/base/gstbasesink.h:
21600 * gst/base/gstbasesrc.h:
21601 * gst/gstelement.h:
21603 Avoid excessive typechecking in macros.
21605 * gst/gstminiobject.c: (gst_mini_object_get_type),
21606 (gst_mini_object_init), (gst_mini_object_new),
21607 (gst_mini_object_free):
21608 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21609 (gst_object_finalize):
21610 Remove cruft code, optimize alloc_trace.
21612 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21614 * docs/faq/gst-uninstalled:
21615 fix up PS1 for systems that try to reset it
21617 2005-11-07 Wim Taymans <wim@fluendo.com>
21619 * gst/base/gstbasesrc.c: (gst_base_src_init),
21620 (gst_base_src_get_range):
21621 Set the segment_end to -1 initially. Fixed typefind.
21623 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21625 * gst/base/gstadapter.c:
21626 Debug category should be 'adapter', not 'GstAdapter'.
21628 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21629 (gst_collectpads_class_init), (gst_collectpads_init),
21630 (gst_collectpads_peek), (gst_collectpads_pop),
21631 (gst_collectpads_event), (gst_collectpads_chain):
21632 Add debug category and some debugging output. Use boilerplate
21633 macros. Remove some extraneous words from docs.
21635 2005-11-05 Andy Wingo <wingo@pobox.com>
21637 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21640 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21642 * docs/gst/gstreamer-sections.txt:
21645 * gst/gstminiobject.h:
21650 2005-11-04 Wim Taymans <wim@fluendo.com>
21652 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21653 Small update to stop at the configured segment_end
21656 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21658 * gst/gstregistry.c:
21659 * gst/gstregistry.h:
21662 2005-11-04 Edward Hervey <edward@fluendo.com>
21664 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21665 Check if we are doing a segment seek and have arrived at the
21666 end of that segment.
21668 2005-11-04 Wim Taymans <wim@fluendo.com>
21670 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21671 Don't leak a mutex unlock in case of an error.
21676 2005-11-04 Wim Taymans <wim@fluendo.com>
21678 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21680 Get the context to wake up only once.
21682 2005-11-03 Wim Taymans <wim@fluendo.com>
21684 * check/states/sinks.c: (GST_START_TEST):
21685 Uncomment fixed check.
21687 * docs/design/part-TODO.txt:
21690 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21691 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21692 (gst_base_sink_get_position):
21693 If we are going to PLAYING, post the right pending state
21694 when we post the intermediate paused message.
21696 * gst/gstelement.c: (gst_element_continue_state),
21697 (gst_element_set_state_func), (gst_element_change_state):
21698 Don't post state changes that were between the same state
21699 and were not ASYNC.
21701 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21703 * docs/gst/gstreamer-sections.txt:
21706 * gst/gstminiobject.h:
21709 more docs and doc style fixes
21711 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21713 * docs/gst/gstreamer-sections.txt:
21714 * gst/gstelement.c:
21715 * gst/gstminiobject.c:
21718 2005-11-03 Andy Wingo <wingo@pobox.com>
21720 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21721 state-changed messages actually have the right order and the right
21724 2005-11-03 Wim Taymans <wim@fluendo.com>
21726 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21727 Added some more checks. Specifically the case where NO_PREROLL
21728 elements are in the pipeline.
21730 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21731 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21732 (gst_base_sink_get_position):
21733 Post READY->PAUSED state change messages too.
21734 Fix bug where VOID was posted as pending state...
21736 * gst/gstbin.c: (gst_bin_recalc_state):
21737 use _element_continue_state() to continue the state change.
21739 * gst/gstelement.c: (gst_element_continue_state),
21740 (gst_element_commit_state), (gst_element_set_state_func),
21741 (gst_element_change_state), (gst_element_change_state_func):
21742 Lots of state change cleanups, assign the STATE_RETURN in
21743 a new continue_state() function that also propagates the
21744 last return value from a state change to the app.
21745 Update some debug statements with proper category.
21747 2005-11-03 Wim Taymans <wim@fluendo.com>
21749 * docs/design/part-events.txt:
21750 * docs/design/part-gstpipeline.txt:
21751 * docs/design/part-messages.txt:
21752 * docs/design/part-overview.txt:
21753 * docs/design/part-seeking.txt:
21754 * docs/design/part-states.txt:
21755 * docs/design/part-trickmodes.txt:
21756 * docs/manual/advanced-position.xml:
21757 Small docs updates.
21760 People think !! is ugly, this looks better.
21762 * gst/gstpad.c: (gst_pad_set_blocked_async):
21763 Remove !! since it's fixed elsewhere now.
21765 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21767 * gst/gstminiobject.h:
21769 Add !! to _FLAG_IS_SET macros to make the result boolean.
21771 2005-11-03 Edward Hervey <edward@fluendo.com>
21773 * gst/gstpad.c: (gst_pad_set_blocked_async):
21774 comparing a flag and a gboolean rarely returns coherent results...
21775 Added two characters (!!) to make that work correctly.
21777 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21779 * gst/gstbus.c: (gst_bus_class_init):
21782 * gst/gstqueue.c: (gst_queue_loop):
21783 Don't assume a miniobject that isn't a buffer is an
21784 event (it could be that there is a refcounting
21785 problem somewhere and the pointer is stale and
21786 refers to an already destroyed miniobject).
21788 2005-11-03 Julien MOUTTE <julien@moutte.net>
21790 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21792 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21794 * docs/manual/advanced-position.xml:
21795 Update seek example and explanations to current 0.9 API.
21797 * gst/elements/gsttypefindelement.c:
21798 (gst_type_find_element_activate):
21799 Remove FIXME comment now that the found caps
21802 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21804 * gst/gstregistryxml.c: (load_feature):
21805 Add another GST_STR_NULL instance
21807 2005-11-02 Edward Hervey <edward@fluendo.com>
21809 * gst/gstpad.c: (handle_pad_block):
21810 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21812 2005-11-02 Wim Taymans <wim@fluendo.com>
21817 * gst/gstelement.c: (gst_element_commit_state):
21818 Remove unused value.
21820 * gst/gstiterator.c:
21821 Mention that the returned element is reffed in the docs.
21823 2005-11-02 Wim Taymans <wim@fluendo.com>
21825 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21826 (gst_pad_push), (gst_pad_push_event):
21827 Unlock blocked pads when they are flushed.
21829 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21832 * docs/gst/gstreamer-sections.txt:
21835 * gst/gstregistry.c: (gst_registry_scan_path_level):
21836 fix for a nasty little missed situation where an installed plug-in
21837 which was in the cache did not get overridden by an uninstalled one
21838 which was earlier in the plugin path because the newly created plugin
21839 for the uninstalled one (not in the registry) didn't get its
21840 ->registered set to TRUE
21842 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21844 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21845 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21846 (gst_collectpads_is_active), (gst_collectpads_collect),
21847 (gst_collectpads_collect_range), (gst_collectpads_start),
21848 (gst_collectpads_stop), (gst_collectpads_peek),
21849 (gst_collectpads_pop), (gst_collectpads_available),
21850 (gst_collectpads_read), (gst_collectpads_flush):
21851 Guard public API with assertions.
21854 Fix docs for gst_pad_set_link_function().
21856 2005-11-02 Johan Dahlin <johan@gnome.org>
21858 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21859 Unref found_caps after we used it.
21861 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21863 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21864 Don't try to ref NULL.
21866 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21868 * win32/common/config.h.in:
21869 provide a GST_FUNCTION that just gives a string for now
21871 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21873 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21874 (gst_object_flags_get_type), (register_gst_bin_flags),
21875 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21876 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21877 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21878 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21879 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21880 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21881 (gst_clock_flags_get_type), (register_gst_state),
21882 (gst_state_get_type), (register_gst_state_change_return),
21883 (gst_state_change_return_get_type), (register_gst_state_change),
21884 (gst_state_change_get_type), (register_gst_element_flags),
21885 (gst_element_flags_get_type), (register_gst_core_error),
21886 (gst_core_error_get_type), (register_gst_library_error),
21887 (gst_library_error_get_type), (register_gst_resource_error),
21888 (gst_resource_error_get_type), (register_gst_stream_error),
21889 (gst_stream_error_get_type), (register_gst_event_type),
21890 (gst_event_type_get_type), (register_gst_seek_type),
21891 (gst_seek_type_get_type), (register_gst_seek_flags),
21892 (gst_seek_flags_get_type), (register_gst_format),
21893 (gst_format_get_type), (register_gst_index_certainty),
21894 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21895 (gst_index_entry_type_get_type),
21896 (register_gst_index_lookup_method),
21897 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21898 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21899 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21900 (gst_index_flags_get_type), (register_gst_debug_level),
21901 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21902 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21903 (gst_iterator_result_get_type), (register_gst_iterator_item),
21904 (gst_iterator_item_get_type), (register_gst_message_type),
21905 (gst_message_type_get_type), (register_gst_mini_object_flags),
21906 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21907 (gst_pad_link_return_get_type), (register_gst_flow_return),
21908 (gst_flow_return_get_type), (register_gst_activate_mode),
21909 (gst_activate_mode_get_type), (register_gst_pad_direction),
21910 (gst_pad_direction_get_type), (register_gst_pad_flags),
21911 (gst_pad_flags_get_type), (register_gst_pad_presence),
21912 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21913 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21914 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21915 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21916 (gst_plugin_flags_get_type), (register_gst_rank),
21917 (gst_rank_get_type), (register_gst_query_type),
21918 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21919 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21920 (gst_tag_flag_get_type), (register_gst_task_state),
21921 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21922 (gst_alloc_trace_flags_get_type),
21923 (register_gst_type_find_probability),
21924 (gst_type_find_probability_get_type), (register_gst_uri_type),
21925 (gst_uri_type_get_type), (register_gst_parse_error),
21926 (gst_parse_error_get_type):
21927 * win32/common/gstversion.h:
21928 update win32 copies
21930 2005-11-01 Luca Ognibene <luogni@tin.it>
21933 fix docs. popt is dead, long live GOption.
21935 2005-10-31 Wim Taymans <wim@fluendo.com>
21940 2005-10-31 Andy Wingo <wingo@pobox.com>
21944 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21946 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21947 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21948 the possibility of deadlocks here if code calling notify() or
21949 set() has a lock that can be taken in another notify handler (ABBA
21950 with class lock and e.g. python GIL state lock).
21952 2005-10-28 Julien MOUTTE <julien@moutte.net>
21954 * gst/gstbus.c: Doc updates.
21956 2005-10-28 Wim Taymans <wim@fluendo.com>
21958 * docs/design/part-TODO.txt:
21959 * gst/gstiterator.c:
21960 * gst/gstsystemclock.c:
21961 * gst/gstsystemclock.h:
21964 2005-10-28 Edward Hervey <edward@fluendo.com>
21966 * docs/gst/gstreamer-docs.sgml:
21967 * docs/gst/gstreamer-sections.txt:
21968 the GstURIType documentation page is private, it only defines GstURIType
21969 which should be defined in the GstURIHandler page
21971 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
21973 * gst/gstbin.c: (gst_bin_class_init):
21976 Documentation updates.
21978 2005-10-28 Wim Taymans <wim@fluendo.com>
21980 * docs/gst/gstreamer-sections.txt:
21983 Documented the clocks.
21985 2005-10-28 Stefan Kost <ensonic@users.sf.net>
21987 * docs/gst/gstreamer-sections.txt:
21988 move some macros to private sections
21989 * gst/gstminiobject.c:
21990 * gst/gstminiobject.h:
21991 add descriptions provided by ds and some more
21993 mark macro as to be removed
21995 2005-10-28 Wim Taymans <wim@fluendo.com>
21997 * docs/design/part-TODO.txt:
21998 Add an item to TODO.
22000 * gst/gstiterator.c: (gst_iterator_fold),
22001 (gst_iterator_find_custom):
22002 * gst/gstiterator.h:
22005 2005-10-28 Wim Taymans <wim@fluendo.com>
22007 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
22008 (gst_base_transform_init):
22011 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
22012 An EOS event marks the queue as completely filled.
22014 2005-10-27 Wim Taymans <wim@fluendo.com>
22016 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22017 (gst_base_sink_do_sync), (gst_base_sink_get_position):
22018 Some more debugging.
22020 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
22021 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
22022 (gst_base_transform_event), (gst_base_transform_getrange),
22023 (gst_base_transform_chain):
22024 * gst/base/gstbasetransform.h:
22026 Protect transform and concurrent buffer alloc with a new lock.
22027 Try not to break ABI/API.
22029 2005-10-27 Wim Taymans <wim@fluendo.com>
22031 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
22032 (gst_base_src_init), (gst_base_src_query),
22033 (gst_base_src_default_newsegment),
22034 (gst_base_src_configure_segment), (gst_base_src_do_seek),
22035 (gst_base_src_send_event), (gst_base_src_event_handler),
22036 (gst_base_src_pad_get_range), (gst_base_src_loop),
22037 (gst_base_src_unlock), (gst_base_src_default_negotiate),
22038 (gst_base_src_start), (gst_base_src_deactivate),
22039 (gst_base_src_activate_push), (gst_base_src_change_state):
22040 Move some stuff around and cleanup things.
22042 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
22044 * gst/base/gstbasesrc.c: (gst_base_src_query):
22045 Add missing break statements.
22047 2005-10-27 Wim Taymans <wim@fluendo.com>
22049 * check/gst/gstbin.c: (GST_START_TEST):
22050 An extra refcount is taken in basesrc.
22052 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22053 (gst_base_src_get_range), (gst_base_src_pad_get_range),
22054 (gst_base_src_loop):
22055 Small cleanups, check for flushing after being unlocked from the
22056 LIVE_LOCK. take refcounts correctly (not yet everywhere).
22057 Don't send out EOS when going to READY.
22059 2005-10-27 Wim Taymans <wim@fluendo.com>
22061 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22062 (gst_base_sink_get_position):
22065 * gst/gstbin.c: (message_check), (bin_replace_message),
22066 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22067 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22068 (bin_query_duration_init), (bin_query_duration_fold),
22069 (bin_query_duration_done), (bin_query_generic_fold),
22071 * tools/gst-launch.c: (main):
22074 2005-10-26 Stefan Kost <ensonic@users.sf.net>
22076 * examples/controller/audio-example.c: (main):
22077 * examples/queue/queue.c: (event_loop):
22078 * gst/base/gstbasetransform.h:
22079 * gst/gstelement.c: (gst_element_send_event):
22081 * gst/gstpad.c: (gst_pad_send_event):
22084 changing log priority in error situations
22086 2005-10-25 Wim Taymans <wim@fluendo.com>
22088 * gst/gstbin.c: (message_check), (bin_replace_message),
22089 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22090 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22091 (bin_query_duration_init), (bin_query_duration_fold),
22092 (bin_query_duration_done), (bin_query_generic_fold),
22094 Some doc and debug updates.
22095 Cache previously requested query DURATION for speed. invalidate
22096 cached duration if element posts a DURATION message.
22098 2005-10-25 Wim Taymans <wim@fluendo.com>
22100 * docs/design/part-TODO.txt:
22103 * gst/gstbin.c: (message_check), (bin_replace_message),
22104 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22105 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22106 (bin_query_duration_init), (bin_query_duration_fold),
22107 (bin_query_duration_done), (bin_query_generic_fold),
22109 Handle SEGMENT_START/DONE messages correctly.
22110 More evolved query algorithm that handles duration queries
22113 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22114 (gst_element_get_state_func), (gst_element_abort_state),
22115 (gst_element_commit_state), (gst_element_lost_state):
22116 Some more debugging.
22118 * gst/gstmessage.h:
22121 2005-10-25 Wim Taymans <wim@fluendo.com>
22123 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22124 Don't use invalid stream_time.
22126 * gst/gstevent.c: (gst_event_new_newsegment):
22127 stream_time in newsegment cannot be undefined.
22129 2005-10-24 Wim Taymans <wim@fluendo.com>
22134 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22136 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22138 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22140 * docs/libs/tmpl/gstdparam.sgml:
22141 * docs/libs/tmpl/gstdplinint.sgml:
22142 * docs/libs/tmpl/gstdpman.sgml:
22143 * docs/libs/tmpl/gstdpsmooth.sgml:
22144 * docs/libs/tmpl/gstunitconvert.sgml:
22147 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22152 === release 0.9.4 ===
22154 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22157 releasing 0.9.4, "Tyrannosaurus Rex"
22159 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22161 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22162 (gst_file_sink_get_current_offset):
22163 Use fseeko() and ftello() if available. When falling back on
22164 lseek() to get the current offset, fflush() first to make sure
22165 everything is up-to-date and we get the right offset.
22167 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22169 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22170 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22171 * gst/gsterror.c: (_gst_stream_errors_init):
22173 * gst/gstqueue.c: (gst_queue_loop):
22175 remove prematurely added error category and clean up the instances
22177 2005-10-21 Wim Taymans <wim@fluendo.com>
22179 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22180 (gst_base_sink_get_position), (gst_base_sink_query),
22181 (gst_base_sink_change_state):
22182 Simply set the right flag when going to playing, that's all
22183 we need to do instead of calling a function inside the object
22184 lock (that could take the lock as well and deadlock)
22186 2005-10-21 Wim Taymans <wim@fluendo.com>
22188 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22189 (gst_base_src_loop):
22190 Don't warn, the peer element knows what to do best when
22191 the seek failed, it might try something else.
22193 2005-10-21 Wim Taymans <wim@fluendo.com>
22195 * gst/base/gstbasesrc.c: (gst_base_src_init),
22196 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22199 2005-10-21 Wim Taymans <wim@fluendo.com>
22201 * docs/design/part-segments.txt:
22204 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22205 Correctly set caps, even on the subbufer.
22207 2005-10-21 Wim Taymans <wim@fluendo.com>
22209 * docs/gst/gstreamer-docs.sgml:
22210 * docs/gst/gstreamer-sections.txt:
22211 * gst/gstelement.h:
22214 * gst/gstmessage.h:
22217 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22221 And 2% more doc coverage.
22223 2005-10-21 Andy Wingo <wingo@pobox.com>
22225 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22226 position reporting.
22228 2005-10-20 Wim Taymans <wim@fluendo.com>
22230 * gst/gsterror.c: (gst_error_get_message):
22233 * gst/gststructure.c:
22238 2005-10-20 Wim Taymans <wim@fluendo.com>
22243 Another 1% more coverage.
22245 2005-10-20 Wim Taymans <wim@fluendo.com>
22247 * docs/gst/gstreamer-sections.txt:
22248 * gst/gstelement.c: (gst_element_get_state_func),
22249 (gst_element_abort_state), (gst_element_commit_state),
22250 (gst_element_lost_state):
22252 * gst/gstquery.c: (gst_query_set_position),
22253 (gst_query_parse_position), (gst_query_set_duration),
22254 (gst_query_parse_duration), (gst_query_new_convert):
22256 Yay! 1% more docs coverage.
22258 2005-10-20 Wim Taymans <wim@fluendo.com>
22261 * gst/gstquery.c: (gst_query_set_position),
22262 (gst_query_parse_position), (gst_query_set_duration),
22263 (gst_query_parse_duration), (gst_query_new_convert):
22265 * gst/gstutils.c: (gst_element_query_convert):
22267 Docs and consistency fixes.
22269 2005-10-20 Wim Taymans <wim@fluendo.com>
22275 2005-10-20 Wim Taymans <wim@fluendo.com>
22277 * gst/gstbin.c: (message_check), (bin_replace_message),
22278 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22279 (update_degree), (gst_bin_sort_iterator_next),
22280 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22281 Reworked the message handling a bit, cache the messages instead of
22282 only the senders. alows us to do more in the future.
22284 2005-10-20 Wim Taymans <wim@fluendo.com>
22286 * docs/design/part-TODO.txt:
22289 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22290 (gst_base_sink_query):
22291 Don't use clock time to report position when in EOS.
22293 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22295 * tools/gst-inspect.c: (print_interfaces),
22296 (print_element_properties_info), (print_element_info):
22297 Fix interface output with gst-inspect -a; don't print
22298 newlines after double/float properties.
22300 2005-10-20 Wim Taymans <wim@fluendo.com>
22302 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22303 (gst_base_sink_query):
22304 Speed up current position calculation.
22306 * gst/base/gstbasesrc.c: (gst_base_src_query),
22307 (gst_base_src_default_newsegment):
22308 Correctly set stream position in newsegment.
22310 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22311 (update_degree), (gst_bin_sort_iterator_next),
22312 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22313 * gst/gstmessage.c: (gst_message_new_custom):
22314 Clean up debugging info
22316 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22317 (gst_queue_loop), (gst_queue_handle_src_query):
22320 2005-10-19 Wim Taymans <wim@fluendo.com>
22322 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22323 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22324 Fix query handling again.
22326 2005-10-19 Wim Taymans <wim@fluendo.com>
22328 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22329 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22330 * gst/base/gstbasesrc.c: (gst_base_src_query):
22331 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22332 * gst/elements/gsttypefindelement.c:
22333 (gst_type_find_handle_src_query), (find_element_get_length),
22334 (gst_type_find_element_activate):
22337 * gst/gstquery.c: (gst_query_new_position),
22338 (gst_query_set_position), (gst_query_parse_position),
22339 (gst_query_new_duration), (gst_query_set_duration),
22340 (gst_query_parse_duration), (gst_query_set_segment),
22341 (gst_query_parse_segment):
22343 Bundling query position/duration is not a good idea since duration
22344 does not change much and we don't want to recalculate it for every
22345 position query, so they are separated again..
22346 Base value in segment query is not needed.
22348 * gst/gstqueue.c: (gst_queue_handle_src_query):
22349 * gst/gstutils.c: (gst_element_query_position),
22350 (gst_element_query_duration), (gst_pad_query_position),
22351 (gst_pad_query_duration):
22353 Updates for query API change.
22354 Added some docs here and there.
22356 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22358 * check/gst/gstbin.c: (GST_START_TEST):
22359 * check/gst/gstghostpad.c: (GST_START_TEST):
22360 * check/pipelines/cleanup.c: (GST_START_TEST):
22361 wait on thread to die so we can check refcount correctly
22363 2005-10-18 Wim Taymans <wim@fluendo.com>
22365 * check/pipelines/stress.c: (GST_START_TEST):
22366 Make check a little more time consuming.
22368 2005-10-18 Wim Taymans <wim@fluendo.com>
22370 * check/Makefile.am:
22371 * check/pipelines/stress.c: (GST_START_TEST),
22372 (simple_launch_lines_suite), (main):
22373 Small state change torture test.
22375 * docs/design/part-states.txt:
22376 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22377 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22378 (gst_base_sink_change_state):
22379 Never take state lock from streaming thread, clean up ugly
22380 hacks. Unfortunatly core does not yet support nice ways to
22381 async commit state.
22383 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22385 Start state recalc if a STATE_DIRTY message is posted, but only
22386 on the toplevel bin.
22388 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22389 (gst_element_get_state_func), (gst_element_abort_state),
22390 (gst_element_commit_state), (gst_element_lost_state),
22391 (gst_element_set_state_func), (gst_element_change_state):
22392 * gst/gstelement.h:
22393 State variables are now protected with the LOCK, the state
22394 lock is only used to serialize _set_state().
22396 2005-10-18 Wim Taymans <wim@fluendo.com>
22398 * check/gst/gstbin.c: (GST_START_TEST):
22399 * check/gst/gstmessage.c: (GST_START_TEST):
22400 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22401 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22403 * gst/gstelement.c: (gst_element_abort_state),
22404 (gst_element_commit_state), (gst_element_lost_state):
22405 * gst/gstmessage.c: (gst_message_new_state_changed),
22406 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22407 (gst_message_new_segment_done), (gst_message_new_duration),
22408 (gst_message_parse_state_changed),
22409 (gst_message_parse_segment_start),
22410 (gst_message_parse_segment_done), (gst_message_parse_duration):
22411 * gst/gstmessage.h:
22412 * tools/gst-launch.c: (event_loop):
22413 Seriously, this is better than a previous commit as we only need
22414 to notify the fact that an element changed state in a streaming
22415 thread, marking the state of the parents dirty, hence the
22416 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22419 2005-10-18 Wim Taymans <wim@fluendo.com>
22421 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22422 (gst_bin_recalc_func):
22423 * gst/gstelement.c: (gst_element_set_clock),
22424 (gst_element_abort_state), (gst_element_lost_state):
22425 Cleanups, prepare for state change fixes.
22427 2005-10-18 Wim Taymans <wim@fluendo.com>
22430 * gst/gstelement.c: (gst_element_class_init),
22431 (gst_element_set_state), (gst_element_set_state_func):
22432 * gst/gstelement.h:
22433 Pending ABI changes.
22434 GThreadPool in GstBinClass to monitor async state changes.
22435 state_cookie in GstElement to detect concurrent gst/set state.
22436 set_state is now virtual too in case a very complicated element
22437 has to be constructed.
22439 2005-10-18 Wim Taymans <wim@fluendo.com>
22441 * check/gst/gstbin.c: (GST_START_TEST):
22442 * check/gst/gstmessage.c: (GST_START_TEST):
22443 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22444 * gst/gstbin.c: (bin_bus_handler):
22445 * gst/gstelement.c: (gst_element_commit_state),
22446 (gst_element_lost_state):
22447 * gst/gstmessage.c: (gst_message_new_state_changed),
22448 (gst_message_new_segment_start), (gst_message_new_segment_done),
22449 (gst_message_new_duration), (gst_message_parse_state_changed),
22450 (gst_message_parse_segment_start),
22451 (gst_message_parse_segment_done), (gst_message_parse_duration):
22452 * gst/gstmessage.h:
22453 * tools/gst-launch.c: (event_loop):
22454 Make messages future proof.
22455 state-change gets a flag if it was a message comming from the
22457 segment-start/stop can also be specified in other formats.
22458 A message to notify an app that a pipeline changed playback
22460 Also fix a GstMessage leak in -launch
22462 2005-10-18 Andy Wingo <wingo@pobox.com>
22464 * gst/gstelement.c (gst_element_dispose): More helpful message.
22466 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22468 reviewed by: <delete if not using a buddy>
22470 * common/gtk-doc.mak:
22472 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22474 * gst/gstregistry.c: (gst_registry_scan_path_level):
22475 unref a plug-in we get that was already initialized
22477 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22479 * docs/gst/gstreamer-sections.txt:
22480 * docs/libs/gstreamer-libs-sections.txt:
22481 * gst/gstelement.h:
22482 add new api entries
22483 hide internal macro
22485 2005-10-17 Andy Wingo <wingo@pobox.com>
22487 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22490 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22492 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22494 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22495 (gst_element_get_state_func): Better debug message.
22496 (gst_element_commit_state): s/INFO/DEBUG/.
22497 (gst_element_lost_state, gst_element_change_state):
22499 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22500 (gst_message_new_custom): s/INFO/LOG/.
22502 2005-10-17 Michael Smith <msmith@fluendo.com>
22504 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22505 Check if end time is valid using end time, not start time.
22507 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22509 * check/gst-libs/controller.c: (GST_START_TEST),
22510 (gst_controller_suite):
22511 * libs/gst/controller/gstcontroller.c:
22512 (gst_controlled_property_set_interpolation_mode):
22513 * libs/gst/controller/gstcontroller.h:
22514 * libs/gst/controller/gstinterpolation.c:
22515 * testsuite/controller/.cvsignore:
22516 * testsuite/controller/Makefile.am:
22517 * testsuite/controller/interpolator.c:
22518 merge controller testsuites
22520 remove mem-chunk from docs
22522 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22524 * gst/gstmemchunk.c:
22525 * gst/gstmemchunk.h:
22526 * gst/gsttrashstack.c:
22527 * gst/gsttrashstack.h:
22528 out. get out. you're fired. to the Attic !
22530 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22532 * gst/gstcaps.c: (gst_caps_intersect):
22533 fix signedness issues in a (hopefully) correct way
22534 * gst/gstelement.c: (gst_element_pads_activate):
22536 * gst/gstobject.c: (gst_object_set_parent):
22539 2005-10-17 Julien MOUTTE <julien@moutte.net>
22541 * gst/gstvalue.h: Fix prototypes.
22543 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22545 * docs/gst/gstreamer-sections.txt:
22546 * gst/gst.c: (gst_version_string):
22548 * gst/gstversion.h.in:
22549 * win32/common/libgstreamer.def:
22550 add gst_version_string ()
22552 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22556 * gst/gst.c: (init_post):
22557 * win32/common/config.h.in:
22559 * gst/gstcaps.c: (gst_caps_intersect):
22560 use gint64, the range could be bigger than a guint
22562 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22565 document potential problem in 2038
22567 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22569 * gst/gstcaps.c: (gst_caps_intersect):
22570 Fix guint j diving under 0
22572 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22575 * win32/common/config.h:
22576 * win32/common/config.h.in:
22577 check for process.h, declares getpid() on Windows
22579 include process.h if we have it
22580 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22581 * gst/gstmemchunk.h:
22582 fix signedness issues
22583 * win32/common/libgstreamer.def:
22586 2005-10-16 Julien MOUTTE <julien@moutte.net>
22588 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22589 fix. Because of unsigned ints, caps intersection was going nuts and
22590 trying to access structures with G_MAXUINT index. That fixes
22591 videotestsrc ! ffmpegcolorspace ! fakesink
22592 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22595 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22598 use the gettext macro
22599 * gst/elements/gstelements.c:
22601 * gst/indexers/gstindexers.c:
22602 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22603 * win32/common/config.h:
22605 * win32/common/config.h.in:
22606 add the template to generate config.h
22607 * win32/common/gstenumtypes.c:
22608 * win32/common/gstversion.h:
22611 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22613 * gst/gst.c: (gst_version):
22614 * gst/gstversion.h.in:
22617 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22620 Oops, add missing closing bracket.
22622 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22625 use common m4's for argument checking
22627 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22629 * docs/gst/gstreamer-sections.txt:
22631 Add GST_EVENT_TYPE_NAME() macro.
22633 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22636 * gst/gstpluginfeature.c:
22638 privatize more symbols
22640 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22643 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22644 everything that uses GStreamer API should have the includes
22646 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22648 * docs/gst/gstreamer-sections.txt:
22649 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22651 give each value a _get_type, removes the DATA exports
22653 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22657 remove _gst_registry_auto_load, not used anymore
22658 * gst/gstbin.c: (gst_bin_get_type):
22660 * gst/gstelement.c: (gst_element_get_type):
22661 * gst/gstelement.h:
22662 * gst/gstobject.c: (gst_object_get_type):
22664 * gst/gstpad.c: (gst_pad_get_type):
22666 make _get_type functions similar, fixes data export from library
22668 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22671 correctly make conditionals
22672 * gst/elements/Makefile.am:
22673 * gst/elements/gstelements.c:
22674 fix typo causing fdsrc not to build
22676 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22678 * testsuite/Makefile.am:
22679 * testsuite/bytestream/.cvsignore:
22680 * testsuite/bytestream/Makefile.am:
22681 * testsuite/bytestream/filepadsink.c:
22682 * testsuite/bytestream/gstbstest.c:
22683 * testsuite/bytestream/test1.c:
22684 * testsuite/bytestream/testfile1:
22685 * testsuite/caps/normalisation.c:
22686 * testsuite/caps/random.c: (main):
22687 * testsuite/cleanup/.cvsignore:
22688 * testsuite/cleanup/Makefile.am:
22689 * testsuite/cleanup/cleanup1.c:
22690 * testsuite/cleanup/cleanup2.c:
22691 * testsuite/cleanup/cleanup3.c:
22692 * testsuite/cleanup/cleanup4.c:
22693 * testsuite/cleanup/cleanup5.c:
22694 * testsuite/controller/interpolator.c:
22695 * testsuite/debug/printf_extension.c: (main):
22696 * testsuite/elements/tee.c:
22697 * testsuite/negotiation/.cvsignore:
22698 * testsuite/negotiation/Makefile.am:
22699 * testsuite/negotiation/pad_link.c:
22700 * testsuite/pad/Makefile.am:
22701 * testsuite/pad/chainnopull.c:
22702 * testsuite/pad/getnopush.c:
22703 * testsuite/pad/link.c:
22704 * testsuite/refcounting/sched.c: (create_pipeline):
22705 * testsuite/registry/Makefile.am:
22706 * testsuite/registry/gst-print-formats.c:
22707 * testsuite/schedulers/.cvsignore:
22708 * testsuite/schedulers/142183-2.c:
22709 * testsuite/schedulers/142183.c:
22710 * testsuite/schedulers/143777-2.c:
22711 * testsuite/schedulers/143777.c:
22712 * testsuite/schedulers/147713.c:
22713 * testsuite/schedulers/147819.c:
22714 * testsuite/schedulers/147894-2.c:
22715 * testsuite/schedulers/147894.c:
22716 * testsuite/schedulers/Makefile.am:
22717 * testsuite/schedulers/group_link.c:
22718 * testsuite/schedulers/queue_link.c:
22719 * testsuite/schedulers/relink.c:
22720 * testsuite/schedulers/unlink.c:
22721 * testsuite/schedulers/unref.c:
22722 * testsuite/schedulers/useless_iteration.c:
22723 * testsuite/states/bin.c:
22724 clean out/remove some stuff from the testsuite directories
22726 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22729 check for some headers
22730 * gst/elements/Makefile.am:
22731 * gst/elements/gstelements.c:
22732 don't compile fdsrc without sys/socket.h
22733 * gst/indexers/Makefile.am:
22734 * gst/indexers/gstindexers.c: (plugin_init):
22735 don't compile fileindex without mmap
22737 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22744 * check/Makefile.am:
22745 * docs/gst/Makefile.am:
22746 * examples/helloworld/Makefile.am:
22748 * gst/base/Makefile.am:
22749 * gst/check/Makefile.am:
22750 * gst/elements/Makefile.am:
22751 * gst/indexers/Makefile.am:
22752 * gst/parse/Makefile.am:
22753 * libs/gst/controller/Makefile.am:
22754 * libs/gst/dataprotocol/Makefile.am:
22755 * examples/helloworld/helloworld.c: (event_loop):
22756 compile fixes, though it's not being compiled currently
22758 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22760 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22761 Add some simple tests for the new taglist date API.
22763 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22765 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22766 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22767 Beautify 'last-message' output: print 'none' for buffer timestamps
22768 and durations if none is set; improve alignment with next messages.
22770 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22772 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22773 * gst/gstpluginfeature.h:
22774 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22775 * gst/gstregistry.h:
22776 * docs/gst/gstreamer-sections.txt:
22777 Add new API to check plugin feature version requirements.
22779 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22780 Some basic tests for the above.
22782 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22784 * gst/gststructure.c: (gst_structure_to_string):
22785 guard against NULL printf - happens when for example
22786 a message structure with GstClock gets serialized
22788 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22790 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22791 Fix presumable copy'n'pasto.
22793 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22795 * gst/elements/gstfakesrc.h:
22796 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22797 * gst/elements/gsttypefindelement.c:
22798 fix some signedness
22799 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22800 I wonder if this could actually write +2GB files before
22802 2005-10-13 Andy Wingo <wingo@pobox.com>
22804 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22805 Fix Timmeke Waymans bug.
22806 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22807 string of the proper length to gst_caps_from_string. There's a
22808 potential for, before this fix, that this could cause someone
22809 connecting over the network to cause a segfault if the payload is
22810 not NUL-terminated.
22812 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22814 * docs/design/draft-push-pull.txt:
22815 * docs/design/part-overview.txt:
22816 * docs/random/TODO-pre-0.9:
22817 * docs/random/old/ChangeLog.gstreamer:
22818 * gst/base/gstpushsrc.c:
22822 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22824 * gst/glib-compat.c: (gst_flags_get_first_value):
22825 * gst/glib-compat.h:
22826 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22827 (gst_value_compare_double), (gst_value_serialize_flags):
22828 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22831 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22833 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22834 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22836 * tools/gst-launch.c: (event_loop):
22837 print out clock nicely
22839 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22841 * docs/gst/gstreamer-sections.txt:
22842 * gst/gsttaglist.h:
22843 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22844 (gst_tag_list_get_date_index):
22845 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22846 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22848 2005-10-13 Julien MOUTTE <julien@moutte.net>
22850 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22851 (gst_collectpads_chain):
22852 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22855 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22857 * docs/gst/gstreamer-sections.txt:
22860 * tools/gst-inspect.c: (main):
22861 * tools/gst-launch.c: (main):
22862 * tools/gst-run.c: (main):
22863 * tools/gst-xmlinspect.c: (main):
22864 fix GOption context leaks
22867 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22871 * win32/common/config.h:
22873 * win32/vs6/grammar.dsp:
22874 * win32/vs6/libgstelements.dsp:
22875 * win32/vs6/libgstreamer.dsp:
22878 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22880 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22881 * gst/base/gstbasesrc.c: (gst_base_src_query):
22882 fix more guint64<->gdouble conversions
22884 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22887 add win32-update target
22888 * win32/common/gstconfig.h:
22889 * win32/common/gstenumtypes.c:
22890 * win32/common/gstenumtypes.h:
22891 * win32/common/gstversion.h:
22892 add files that visual studio can't generate
22894 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22897 add a win32-update target
22900 2005-10-12 Wim Taymans <wim@fluendo.com>
22902 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22903 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22904 * gst/gstelement.c: (gst_element_commit_state),
22905 (gst_element_set_state):
22906 Protect flags with proper lock.
22907 unref provided cached clock in dispose.
22909 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22912 * gst/gstminiobject.h:
22914 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22915 removed unused flags from miniobject
22918 2005-10-12 Wim Taymans <wim@fluendo.com>
22920 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22921 (gst_file_sink_event), (gst_file_sink_render):
22922 Flush before seeking.
22924 2005-10-12 Andy Wingo <wingo@pobox.com>
22926 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22927 always been the case.
22929 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22931 * check/gst/gstbin.c: (GST_START_TEST):
22932 * docs/gst/gstreamer-sections.txt:
22933 * gst/base/gstbasesink.c: (gst_base_sink_init):
22934 * gst/base/gstbasesrc.c: (gst_base_src_init),
22935 (gst_base_src_get_range), (gst_base_src_check_get_range),
22936 (gst_base_src_start), (gst_base_src_stop):
22937 * gst/base/gstbasesrc.h:
22938 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22939 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22940 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22944 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22946 * gst/gstelement.c: (gst_element_is_locked_state),
22947 (gst_element_set_locked_state), (gst_element_commit_state),
22948 (gst_element_set_state):
22949 * gst/gstelement.h:
22950 * gst/gstindex.c: (gst_index_init):
22952 * gst/gstminiobject.h:
22953 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22954 (gst_object_set_parent):
22956 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22957 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22959 * gst/gstpadtemplate.h:
22960 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22961 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22962 * gst/gstpipeline.h:
22963 * gst/indexers/gstfileindex.c: (gst_file_index_load),
22964 (gst_file_index_commit):
22965 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22966 * testsuite/pad/link.c: (gst_test_src_init),
22967 (gst_test_filter_init), (gst_test_sink_init):
22968 * testsuite/states/locked.c: (main):
22969 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22970 moved bitshift from macro to enum definition
22972 2005-10-12 Wim Taymans <wim@fluendo.com>
22974 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22975 * gst/elements/gstfilesink.c: (gst_file_sink_event),
22976 (gst_file_sink_render):
22977 Some more debugging info.
22979 2005-10-12 Wim Taymans <wim@fluendo.com>
22981 * docs/design/part-states.txt:
22982 * tools/gst-launch.c: (main):
22984 Revert non-intentional change.
22986 2005-10-12 Wim Taymans <wim@fluendo.com>
22988 * check/gst/gstbin.c: (GST_START_TEST):
22989 * check/gst/gstelement.c: (GST_START_TEST):
22990 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22991 * check/gst/gstghostpad.c: (GST_START_TEST):
22992 * check/gst/gstpipeline.c: (GST_START_TEST):
22993 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22994 * check/states/sinks.c: (GST_START_TEST):
22995 * gst/elements/gsttypefindelement.c: (stop_typefinding):
22996 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22997 (gst_bin_remove_func), (gst_bin_get_state_func),
22998 (gst_bin_recalc_state), (gst_bin_change_state_func),
23000 * gst/gstelement.c: (gst_element_get_state_func),
23001 (gst_element_get_state), (gst_element_abort_state),
23002 (gst_element_commit_state), (gst_element_set_state),
23003 (gst_element_change_state), (gst_element_change_state_func):
23004 * gst/gstelement.h:
23005 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
23006 (gst_pipeline_provide_clock_func):
23007 * gst/gstutils.c: (gst_element_link_pads_filtered):
23008 * tools/gst-launch.c: (main):
23009 * tools/gst-typefind.c: (main):
23010 Use GstClockTime in _get_state() instead of GTimeVal.
23011 Remove old code in gstutils.c
23013 2005-10-12 Andy Wingo <wingo@pobox.com>
23015 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
23018 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
23019 there is no task. Shouldn't affect any code, as nothing in our
23020 plugins checks this return value.
23021 (gst_pad_stop_task): Also take the stream lock if the pad has no
23022 task. Docs updated.
23024 2005-10-12 Wim Taymans <wim@fluendo.com>
23026 * gst/gstpad.c: (pre_activate), (post_activate),
23027 (gst_pad_activate_pull), (gst_pad_activate_push):
23028 Cleanup activation code. Reset old state if
23031 2005-10-12 Wim Taymans <wim@fluendo.com>
23033 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23034 (gst_base_sink_change_state):
23035 No need to prerol after receiving EOS.
23037 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23038 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
23039 * gst/elements/gstidentity.c: (gst_identity_event):
23040 Print events more verbosely.
23042 2005-10-12 Wim Taymans <wim@fluendo.com>
23044 * check/Makefile.am:
23045 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23046 * check/states/sinks2.c:
23047 Moved sinks2 testcode in sinks check.
23049 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23050 (gst_bin_remove_func), (gst_bin_recalc_state),
23051 (gst_bin_change_state_func), (bin_bus_handler):
23052 Fix potential race condition when _get_state() iterated over an
23053 ASYNC element right before it posted a state completion.
23056 Do proper cast here.
23058 * gst/gstevent.c: (gst_event_new_newsegment),
23059 (gst_event_parse_newsegment):
23060 A playback rate of 0.0 is not allowed.
23062 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23064 * win32/common/config.h:
23065 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23066 (_trewinddir), (_ttelldir), (_tseekdir):
23067 * win32/common/dirent.h:
23068 * win32/common/gtchar.h:
23069 * win32/common/libgstbase.def:
23070 * win32/common/libgstreamer.def:
23071 * win32/vs6/grammar.dsp:
23072 * win32/vs6/gst_inspect.dsp:
23073 * win32/vs6/gst_launch.dsp:
23074 * win32/vs6/gstreamer.dsw:
23075 * win32/vs6/libgstbase.dsp:
23076 * win32/vs6/libgstelements.dsp:
23077 * win32/vs6/libgstreamer.dsp:
23078 Visual Studio 6 project files, and a new common directory.
23081 2005-10-11 Wim Taymans <wim@fluendo.com>
23083 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23084 (gst_base_sink_do_sync), (gst_base_sink_query),
23085 (gst_base_sink_change_state):
23086 * gst/base/gstbasesink.h:
23087 Correctly parse newsegment info.
23089 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23091 * gst/gst.c: (init_post):
23092 split plugin paths correctly
23094 2005-10-11 Wim Taymans <wim@fluendo.com>
23096 * check/gst/gstevent.c: (GST_START_TEST):
23097 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23098 (gst_base_sink_change_state):
23099 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23100 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23101 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23102 * gst/gstevent.c: (gst_event_new_newsegment),
23103 (gst_event_parse_newsegment):
23105 Added extra flag to newsegment for future API freeze.
23106 Updated check and base elements.
23108 2005-10-11 Julien MOUTTE <julien@moutte.net>
23110 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23111 (gst_collectpads_add_pad), (gst_collectpads_pop),
23112 (gst_collectpads_event), (gst_collectpads_chain):
23113 * gst/base/gstcollectpads.h: Handle EOS correctly.
23115 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23117 * tools/gst-launch.c: (main):
23118 more null protecting
23120 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23122 * gst/gst-i18n-lib.h:
23123 check for ENABLE_NLS, not GETTEXT_PACKAGE
23124 * gst/gstregistry.c: (gst_registry_add_plugin),
23125 (gst_registry_scan_path_level),
23126 (_gst_registry_remove_cache_plugins):
23127 protect possibly NULL strings
23128 * gst/parse/types.h:
23129 config.h already included before
23130 * tools/gst-inspect.c: (main):
23131 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23132 check for ENABLE_NLS, not GETTEXT_PACKAGE
23133 * tools/gst-launch.c: (main):
23134 check for ENABLE_NLS, not GETTEXT_PACKAGE
23136 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23139 if we don't have glib, fail before testing 2.8
23140 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23141 fix a leak, should fix plugins-base testsuite
23143 2005-10-11 Andy Wingo <wingo@pobox.com>
23145 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23146 take the mode we're going to as an arg. Go head and set the mode
23147 and flushing flags now, so that if the activate function starts a
23148 thread all the flags will be in the right state.
23149 (post_activate): Renamed also. Just handle making sure streaming
23150 finishes for the deactivation case, and setting the deactivated
23152 (gst_pad_set_active): Complain loudly if deactivation fails.
23153 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23154 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23155 remove the terrible hack.
23157 2005-10-11 Wim Taymans <wim@fluendo.com>
23159 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23160 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23161 (gst_bin_recalc_state), (gst_bin_change_state_func),
23162 (gst_bin_dispose), (bin_bus_handler):
23164 Prepare to make current EOS message queue more generic.
23167 * gst/gstevent.c: (gst_event_new_newsegment),
23168 (gst_event_parse_newsegment):
23170 Rename base to stream_time.
23172 * gst/gstmessage.h:
23175 2005-10-11 Wim Taymans <wim@fluendo.com>
23177 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23178 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23179 (gst_bin_change_state_func), (bin_bus_handler):
23181 Work on proper clock selection.
23183 2005-10-11 Edward Hervey <edward@fluendo.com>
23185 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23186 * libs/gst/controller/gstcontroller.h:
23187 Added GList* version of _remove_properties() in order to be able to wrap
23190 2005-10-11 Wim Taymans <wim@fluendo.com>
23192 * docs/design/part-states.txt:
23195 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23196 (gst_bin_change_state_func), (bin_bus_handler):
23197 Doc updates. Don't distribute the same clock over and over again.
23203 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23204 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23205 (gst_pad_send_event):
23207 Make probe emission threadsafe again.
23208 Register quarks and move _get_name() from utils.
23211 * gst/gstpipeline.c: (gst_pipeline_class_init),
23212 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23213 Only redistribute the clock of it changed.
23215 * gst/gstsystemclock.h:
23220 Moved the _flow_get_name() to GstPad.
23222 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23224 * check/gst-libs/gdp.c: (GST_START_TEST):
23225 * check/gst/gstcaps.c: (GST_START_TEST):
23226 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23227 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23228 (gst_dp_packet_from_caps):
23229 fix more valgrind warnings before turning up the heat
23231 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23233 * gst/parse/grammar.y:
23234 some cleanup before the hacking
23236 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23238 * gst/base/gstbasesrc.c: (gst_base_src_query):
23240 * gst/gstutils.c: (gst_guint64_to_gdouble),
23241 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23243 externalize, basesrc uses it
23244 obviously the implementation needs testing
23246 2005-10-10 Wim Taymans <wim@fluendo.com>
23248 * tests/sched/Makefile.am:
23249 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23250 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23252 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23254 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23255 apparently converting from guint64 to double is not implemented
23258 2005-10-10 Wim Taymans <wim@fluendo.com>
23260 * check/Makefile.am:
23261 * check/generic/states.c: (GST_START_TEST):
23262 * check/gst/gstbin.c: (GST_START_TEST):
23263 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23264 * check/states/sinks.c: (GST_START_TEST):
23265 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23267 Check fixes, use API as stated in design docs, remove hacks.
23269 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23270 (gst_base_sink_change_state):
23271 Catch stopping our task while we're shutting down.
23273 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23274 (gst_bin_remove_func), (gst_bin_get_state_func),
23275 (gst_bin_recalc_state), (gst_bin_change_state_func),
23278 * gst/gstelement.c: (gst_element_init),
23279 (gst_element_get_state_func), (gst_element_abort_state),
23280 (gst_element_commit_state), (gst_element_lost_state),
23281 (gst_element_set_state), (gst_element_change_state),
23282 (gst_element_change_state_func):
23283 * gst/gstelement.h:
23284 New state change algorithm (see #318116)
23286 * gst/gstpipeline.c: (gst_pipeline_class_init),
23287 (gst_pipeline_init), (gst_pipeline_set_property),
23288 (gst_pipeline_get_property), (do_pipeline_seek),
23289 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23290 * gst/gstpipeline.h:
23291 Remove crude state change hacks.
23294 Remove crude hacks.
23296 * tools/gst-launch.c: (main):
23297 Fixes for state change. Needs some more work to fully use the
23300 2005-10-10 Andy Wingo <wingo@pobox.com>
23302 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23304 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23305 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23308 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23310 * gst/gstiterator.c: (gst_iterator_new):
23311 Fix my previous commit: GTypes passed to gst_iterator_new()
23312 can be fundamental types.
23314 2005-10-10 Wim Taymans <wim@fluendo.com>
23316 * gst/gstelement.c: (gst_element_iterate_pad_list),
23317 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23318 (gst_element_iterate_sink_pads):
23319 Use src/sink pads lists for the respective iterators instead
23322 2005-10-10 Andy Wingo <wingo@pobox.com>
23324 Merged in popt removal + GOption addition patch from Ronald, bug
23327 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23328 GstElement macros around, remove popt-related symbols, add goption
23331 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23333 * docs/gst/Makefile.am:
23334 * docs/libs/Makefile.am: No POPT_CFLAGS.
23336 * examples/manual/Makefile.am:
23337 * docs/manual/basics-init.xml: Doc updates with an example.
23339 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23340 (gst_init), (parse_one_option), (parse_goption_arg):
23341 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23342 bit of hand merging and debugging to get the GOption stuff working
23345 * tests/Makefile.am:
23346 * tools/Makefile.am:
23347 * tools/gst-inspect.c: (main):
23348 * tools/gst-launch.c: (main):
23349 * tools/gst-run.c: (main):
23350 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23352 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23354 * gst/gstiterator.c: (gst_iterator_new):
23355 Add assertions to make sure passed GType is likely to really
23356 be a GType (as the compiler won't catch it if the size and
23357 GType arguments get mixed up, see #318447).
23359 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23361 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23363 * gst/gstbin.c: (gst_bin_iterate_sorted):
23364 Pass GType and size arguments to gst_iterator_new() in the right
23365 order (maybe we should make _new() take the GType as first argument
23366 just like _new_list()?) (#318447).
23369 2005-10-10 Wim Taymans <wim@fluendo.com>
23371 * gst/gstelement.c: (gst_element_finalize):
23372 And free the GStaticRecMutex too
23374 2005-10-10 Andy Wingo <wingo@pobox.com>
23376 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23377 Allocate and free the mutex properly.
23379 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23381 (GstElement): The state_lock is now recursive. Rebuild your
23382 plugins, suckers. Old macros adapted.
23384 * docs/gst/gstreamer-sections.txt: Doc updates.
23387 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23388 (g_static_rec_cond_wait): Ported from state changes patch, while
23389 we wait on bug #317802 to be solved in a well-distributed GLib.
23391 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23392 gst_element_change_state, variable name changes.
23393 (gst_element_change_state): Split out of gst_element_set_state in
23394 preparation for the state change merge. Doesn't pay attention to
23395 the 'transition' argument.
23396 (gst_element_set_state): Updates, hopefully purely cosmetic.
23397 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23398 state change patch.
23399 (gst_element_get_state_func): Renamed from get_state, cosmetic
23402 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23404 * gst/elements/gstelements.c:
23405 * win32/GStreamer.vcproj:
23407 * win32/dirent.c: (_tseekdir):
23408 * win32/gst-inspect.vcproj:
23409 * win32/gst-launch.vcproj:
23410 * win32/gstconfig.h:
23411 * win32/gstelements.vcproj:
23412 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23413 * win32/gstreamer.def:
23414 * win32/msvc71.sln:
23415 updates for the win32 build (patch from Sebastien Moutte)
23417 2005-10-10 Andy Wingo <wingo@pobox.com>
23419 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23420 gst_bin_get_state, cleaned up (but no logic changes).
23421 (bin_element_is_sink): Comment updates.
23422 (sink_iterator_filter): Remove needless cast.
23423 (gst_bin_iterate_sinks): Doc update.
23424 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23425 cleaned up (but no logic changes).
23427 * check/states/sinks.c (test_src_sink): Cleanups from the state
23429 (test_livesrc_sink): Sync on the state.
23431 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23432 the state change patch.
23434 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23437 * check/gst/gstbin.c: Merge in some style fixes and additional
23438 checks from Wim's state change patch.
23440 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23442 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23443 (gst_type_find_helper):
23444 Check whether we have the requested data already in our list of
23445 cached buffers before pulling a new buffer; also make the buffer
23446 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23448 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23453 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23454 don't use long long, it's not portable. Replacing with
23455 gint64 seems to work; let's hope no skeletons fall out of the closet.
23457 2005-10-10 Andy Wingo <wingo@pobox.com>
23459 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23461 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23463 * docs/gst/gstreamer-sections.txt:
23468 * gst/gstmessage.c: (gst_message_parse_state_changed):
23471 more docs, fix compilation
23473 2005-10-09 Philippe Khalaf <burger@speedy.org>
23474 * gst/gstmessage.c:
23475 Fixed a few forgotten variables on previous commit
23477 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23479 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23480 Fix evil typefind crasher: getrange() might return a short
23481 buffer at the end of a file, but gst_type_find_peek() must
23482 either return the full data as requested or NULL, but
23483 never a short buffer.
23485 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23487 * gst/gstmessage.c: (gst_message_new_state_changed),
23488 (gst_message_parse_state_changed):
23489 * gst/gstmessage.h:
23490 don't use "new", it's a C++ keyword
23492 2005-10-08 Wim Taymans <wim@fluendo.com>
23494 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23495 * gst/gstelement.c: (gst_element_post_message):
23496 * gst/gstpipeline.c: (gst_pipeline_change_state):
23497 Small docs and debug updates.
23499 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23501 * docs/gst/gstreamer-sections.txt:
23502 * gst/gstelementfactory.c:
23504 * gst/gsttaglist.c:
23507 2005-10-08 Wim Taymans <wim@fluendo.com>
23509 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23510 (gst_bin_dispose), (bin_bus_handler):
23511 Fix typos, add comments.
23512 Clear EOS list when going to PAUSED from any direction and do it
23513 in a threadsafe way.
23514 Get base time in a threadsafe way too.
23515 Fix confusing debug in the change_state function.
23516 Various other small cleanups.
23518 * gst/gstelement.c: (gst_element_post_message):
23519 Fix very verbose bus posting code.
23521 * gst/gstpipeline.c: (gst_pipeline_class_init),
23522 (gst_pipeline_set_property), (gst_pipeline_get_property),
23523 (gst_pipeline_change_state):
23524 Small ARG_ -> PROP_ cleanup
23526 2005-10-08 Wim Taymans <wim@fluendo.com>
23528 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23529 Do a less CPU demanding EOS check because we can.
23531 2005-10-08 Wim Taymans <wim@fluendo.com>
23533 * libs/gst/dataprotocol/dataprotocol.c:
23534 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23535 (gst_dp_packet_from_event):
23536 * libs/gst/dataprotocol/dataprotocol.h:
23537 * libs/gst/dataprotocol/dp-private.h:
23538 It's about time we bump the version number.
23539 Since event types don't fit in the guint8 anymore describing
23540 the payload type, make payload type 16 bits wide.
23542 2005-10-08 Wim Taymans <wim@fluendo.com>
23544 * docs/design/part-TODO.txt:
23545 * docs/design/part-clocks.txt:
23546 * docs/design/part-events.txt:
23547 * docs/design/part-gstbin.txt:
23548 * docs/design/part-gstelement.txt:
23549 * docs/design/part-gstpipeline.txt:
23550 * docs/design/part-live-source.txt:
23551 * docs/design/part-messages.txt:
23552 * docs/design/part-overview.txt:
23553 * docs/design/part-states.txt:
23556 2005-10-08 Wim Taymans <wim@fluendo.com>
23560 Fix event quark registration.
23561 Add some space between events so we can insert them in the
23564 2005-10-08 Wim Taymans <wim@fluendo.com>
23566 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23567 (gst_base_sink_handle_buffer):
23568 Better log message.
23571 * gst/gstelement.h:
23574 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23575 (gst_queue_set_property), (gst_queue_get_property):
23577 Remove old unused properties.
23579 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23580 * docs/gst/gstreamer-sections.txt:
23581 * gst/gstmessage.c:
23582 * gst/gstmessage.h:
23583 * gst/gstminiobject.c:
23584 * gst/gstminiobject.h:
23588 lots of new docs and doc fixes
23590 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23592 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23594 * gst/gstregistry.c: (gst_registry_lookup_locked),
23595 (gst_registry_scan_path_level):
23596 * gst/gstregistryxml.c: (load_plugin):
23597 Only ever load one plugin for a given plugin basename.
23598 This ensures correct overriding of GST_PLUGIN_PATH over
23599 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23600 system installed plugins.
23602 2005-10-08 Wim Taymans <wim@fluendo.com>
23604 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23605 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23606 Prepare for doing QOS.
23608 2005-10-08 Wim Taymans <wim@fluendo.com>
23610 * check/gst/gstbin.c: (GST_START_TEST):
23611 * check/pipelines/cleanup.c: (GST_START_TEST):
23612 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23613 Allow new clock message too.
23615 2005-10-08 Wim Taymans <wim@fluendo.com>
23617 * gst/gstmessage.c: (gst_message_new_error),
23618 (gst_message_new_warning), (gst_message_new_tag),
23619 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23620 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23621 (gst_message_new_segment_start), (gst_message_new_segment_done),
23622 (gst_message_parse_state_changed),
23623 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23624 (gst_message_parse_new_clock):
23625 * gst/gstmessage.h:
23626 Also carry the clock in question.
23628 2005-10-08 Wim Taymans <wim@fluendo.com>
23630 * gst/gstmessage.c: (gst_message_new_custom),
23631 (gst_message_new_eos), (gst_message_new_error),
23632 (gst_message_new_warning), (gst_message_new_tag),
23633 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23634 (gst_message_new_new_clock), (gst_message_new_segment_start),
23635 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23636 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23637 * gst/gstmessage.h:
23639 Added clock related messages.
23641 * gst/gstpipeline.c: (gst_pipeline_change_state):
23642 Post message when the clock changed.
23644 * tools/gst-launch.c: (event_loop):
23647 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23649 * tools/gst-inspect.c: (print_element_properties_info):
23650 Can't pass NULL strings to g_print() on windows.
23652 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23654 * docs/Makefile.am:
23655 * docs/gst/Makefile.am:
23656 * docs/gst/gstreamer-docs.sgml:
23657 * docs/gst/running.xml:
23658 * docs/version.entities.in:
23659 add a chapter on running GStreamer.
23660 document GST_DEBUG and GST_PLUGIN* env vars
23662 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23667 remove PLUGINS_BUILDDIR stuff
23668 * gst/gst.c: (init_post):
23669 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23671 remove, it was condescending and not needed
23673 2005-10-08 Wim Taymans <wim@fluendo.com>
23675 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23676 (gst_base_sink_handle_object), (gst_base_sink_event),
23677 (gst_base_sink_wait), (gst_base_sink_handle_event),
23678 (gst_base_sink_change_state):
23679 * gst/base/gstbasesink.h:
23680 Repost EOS message while going to PLAYING if still EOS.
23681 Make sure that when receiving a FLUSH_START we don't attempt
23682 to sync on the clock anymore.
23684 2005-10-08 Wim Taymans <wim@fluendo.com>
23686 * tools/gst-launch.c: (event_loop):
23687 Better message printout.
23689 2005-10-08 Wim Taymans <wim@fluendo.com>
23691 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23692 (gst_bin_child_proxy_get_children_count):
23693 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23694 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23695 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23696 (gst_child_proxy_set_valist):
23697 * gst/parse/grammar.y:
23698 Make ChildProxy threadsafe and fix mem leaks.
23700 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23702 * gst/gst.c: (init_post):
23703 debug the GST_PLUGIN_ env vars
23705 2005-10-08 Wim Taymans <wim@fluendo.com>
23707 * check/gst/gstbin.c: (GST_START_TEST):
23708 * check/gst/gstmessage.c: (GST_START_TEST):
23709 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23710 * gst/gstelement.c: (gst_element_commit_state),
23711 (gst_element_lost_state):
23712 * gst/gstmessage.c: (gst_message_new_state_changed),
23713 (gst_message_parse_state_changed):
23714 * gst/gstmessage.h:
23715 * tools/gst-launch.c: (event_loop):
23716 Added extra field to STATE_CHANGE message with the pending
23717 state, which will be different from the new state soon.
23719 2005-10-08 Wim Taymans <wim@fluendo.com>
23721 * gst/gstbus.c: (gst_bus_pop):
23723 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23724 Small cleanups and doc updates.
23726 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23728 * gst/gst.c: (init_pre):
23729 * gst/gstbin.c: (gst_bin_add_func):
23730 log distributing clocks and base time
23731 * gst/gstregistry.c: (gst_registry_add_plugin),
23732 (gst_registry_scan_path_level), (gst_registry_scan_path):
23733 clean up the debugging output a little
23734 * gst/gstutils.c: (gst_element_state_get_name):
23735 warn about a memleak (I've actually seen this be used, though
23736 it was probably a bug)
23738 2005-10-07 Wim Taymans <wim@fluendo.com>
23740 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23741 (gst_base_src_init), (gst_base_src_default_newsegment),
23742 (gst_base_src_newsegment), (gst_base_src_do_seek),
23743 (gst_base_src_loop), (gst_base_src_start):
23744 * gst/base/gstbasesrc.h:
23745 Make the newsegment event customizable by subclasses.
23747 2005-10-07 Wim Taymans <wim@fluendo.com>
23749 * gst/gstevent.c: (gst_event_new_buffersize),
23750 (gst_event_parse_buffersize):
23752 New event for future idea.
23754 2005-10-07 Andy Wingo <wingo@pobox.com>
23756 * gst/gstelement.c (gst_element_post_message): Doc update.
23758 * docs/gst/gstreamer-sections.txt: Update.
23760 * gst/gstmessage.c (gst_message_new_application): Made into a
23761 function like honest API calls.
23762 (gst_message_new_element): New message type.
23764 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23766 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23767 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23770 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23771 NO_PREROLL from gst_element_change_state to fall through.
23773 2005-10-07 Wim Taymans <wim@fluendo.com>
23775 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23776 (gst_ghost_pad_do_activate_push):
23777 Activating a ghostpad with no internal pad in push mode
23780 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23783 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23784 Fixes compilation on Windows.
23786 2005-10-07 Michael Smith <msmith@fluendo.com>
23788 * tools/gst-inspect.c:
23789 Print out feature and plugin count at the end when printing out
23792 2005-10-04 Michael Smith <msmith@fluendo.com>
23794 * gst/gsterror.c: (_gst_stream_errors_init):
23795 Add another error string used in a few existing plugins.
23798 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23799 * tools/gst-inspect.c: (print_element_info):
23800 When a feature disappears from a plugin (and the feature exists in
23801 the cached registry file), things went horribly wrong. This isn't a
23802 complete fix, we should actually be removing the 'missing' features
23803 from the features list when we load the actual plugin. That's not
23806 2005-10-04 Johan Dahlin <johan@gnome.org>
23808 * check/gst/gstiterator.c: (GST_START_TEST):
23809 * gst/gstbin.c: (gst_bin_iterate_elements),
23810 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23811 * gst/gstelement.c: (gst_element_iterate_pads):
23812 * gst/gstformat.c: (gst_format_iterate_definitions):
23813 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23814 (gst_iterator_new_list), (gst_iterator_filter):
23815 * gst/gstiterator.h:
23816 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23817 Add a GType to GstIterator, update callsites and tests.
23819 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23821 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23822 give events a chance to be handled by event probes when the pad
23825 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23827 * gst/gstevent.c: (gst_event_type_get_name),
23828 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23830 add string representations for event types
23832 2005-10-06 Wim Taymans <wim@fluendo.com>
23834 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23835 Don't use NULL pointers.
23837 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23839 * gst/gst_private.h:
23841 * gst/gstelement.c:
23843 * gst/gstpluginfeature.c:
23844 widen the debug category in output to fit the biggest one we have
23845 add a bus category and use it
23846 play with the colors
23847 fix up some categories
23849 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23851 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23852 add push activation of sink ghost pads.
23853 Andye, please verify
23855 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23857 * gst/gstutils.c: (gst_element_link_pads):
23858 fix a bug in the case where neither element has a pad
23859 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23860 add a test for that case
23862 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23864 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23865 emit have-data before checking for peers. This allows
23866 for probe handlers to connect elements. This helps autopluggers.
23867 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23869 add six checks, linked/unlinked with no/true/false probe
23871 2005-10-04 Wim Taymans <wim@fluendo.com>
23873 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23874 (gst_fake_sink_event), (gst_fake_sink_preroll),
23875 (gst_fake_sink_render), (gst_fake_sink_change_state):
23876 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23877 (gst_fake_src_get_property), (gst_fake_src_create),
23878 (gst_fake_src_stop):
23879 * gst/elements/gstidentity.c: (gst_identity_stop):
23880 Protect last_message with lock.
23882 2005-10-04 Edward Hervey <edward@fluendo.com>
23885 Added precision in the comments for GST_FORMAT_DEFAULT
23887 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23889 * tools/gst-launch.c: (main):
23890 Don't try to run erroneous pipelines.
23892 2005-10-04 Julien MOUTTE <julien@moutte.net>
23894 * gst/gstbus.c: We don't need this header.
23896 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23899 back to development
23901 === release 0.9.3 ===
23903 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23907 Releasing 0.9.3, "Unregistered"
23909 2005-10-03 Andy Wingo <wingo@pobox.com>
23911 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23912 whereby calling a pad's activatepush() function can start a thread
23913 that starts to push or pull before the pad gets the FLUSHING flag
23914 unset. Hack around it by holding the stream lock until the flag is
23915 set. Need to replace this with a proper solution. Together with
23916 the ghost pad fixes, this fixes mp3 playing/tagreading.
23918 * docs/design/part-gstghostpad.txt: Add a note about activation of
23919 proxy pads outside of ghost pads.
23921 * gst/gstghostpad.c: Implement the ghost pad activation design.
23923 2005-10-02 Andy Wingo <wingo@pobox.com>
23925 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23926 It is volatile, after all.
23928 * docs/design/part-gstghostpad.txt: Flesh out activation with
23931 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23934 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23937 Fix (unused) AM_CONDITIONAL tests.
23939 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23941 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23943 * gst/gstutils.c: (gst_pad_query_convert):
23944 Add assertion that makes sure src_val is >=0, just like
23945 gst_query_new_convert() has. (#315895)
23947 2005-09-30 Edward Hervey <edward@fluendo.com>
23949 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23950 Let's not iterate pads we're not interested in, it avoids getting
23951 sky-high refcounts on sinkpad.
23953 2005-09-30 Wim Taymans <wim@fluendo.com>
23955 * gst/gstelement.c: (gst_element_set_state),
23956 (gst_element_change_state):
23957 Small tweak, element in ASYNC remains ASYNC.
23959 2005-09-30 Wim Taymans <wim@fluendo.com>
23961 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23962 Only error is an error.
23964 * gst/gstbin.c: (gst_bin_change_state):
23967 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23968 Also call pad_block in pad alloc.
23970 * gst/gstutils.c: (gst_flow_get_name):
23973 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23975 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23976 (gst_base_src_get_range):
23977 Fix documentation typos. Add some more debug info.
23979 2005-09-29 David Schleef <ds@schleef.org>
23981 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23982 more end-user friendly.
23983 * tools/gst-inspect.c: (main): Check if command-line argument is
23984 a file and attempt to load that file as a plugin.
23986 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23988 * check/gst/gstbin.c:
23989 * check/states/sinks.c:
23990 fix tests for the new warning
23991 * check/gst/gstpipeline.c:
23992 add a test for pipeline and bus interaction
23993 * gst/gstelement.c:
23994 elements should be NULL if they get disposed; add a warning if not
23996 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23999 for 2.6 refcounting, make debug log more correct by printing
24000 the actual refcounts at the time of swap (Wim)
24002 2005-09-29 Andy Wingo <wingo@pobox.com>
24004 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
24005 removes signal watches previously added via
24006 gst_bus_add_signal_watch.
24007 (gst_bus_add_signal_watch): Don't return the source id, just store
24008 it on the bus if there wasn't an id already.
24010 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
24011 add_signal_watch and remove_signal_watch.
24013 2005-09-29 Edward Hervey <edward@fluendo.com>
24015 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
24016 Better if we actually iterate the list :)
24018 2005-09-29 Wim Taymans <wim@fluendo.com>
24020 * check/gst/gstbin.c: (GST_START_TEST):
24021 Change for new bus API.
24023 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24024 (send_messages), (GST_START_TEST), (gstbus_suite):
24025 Change for new bus signal API.
24027 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
24028 (gst_bus_source_prepare), (gst_bus_source_check),
24029 (gst_bus_create_watch), (gst_bus_add_watch_full),
24030 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
24031 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
24033 Remove support for multiple GSources operating on different
24034 message types as it is too complex and unneeded when using
24036 Added support for receiving signals from the bus.
24038 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
24040 * docs/libs/tmpl/gstdataprotocol.sgml:
24041 * docs/manual/advanced-dataaccess.xml:
24042 * gst/elements/gstcapsfilter.c:
24044 rename filter-caps to caps property
24046 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24048 * gst/gstvalue.c: (gst_value_deserialize_fraction):
24049 More robust fraction string parsing.
24051 * docs/pwg/appendix-porting.xml:
24052 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24054 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
24056 * gst/gstcaps.c: (gst_caps_do_simplify):
24057 Thou shalt not free a structure and then continue using it
24058 in the next loop iteration.
24060 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24062 Add test case for caps simplification.
24064 2005-09-29 Wim Taymans <wim@fluendo.com>
24066 * check/gst/gstbin.c: (GST_START_TEST):
24069 2005-09-29 Wim Taymans <wim@fluendo.com>
24071 * check/gst/gstbin.c: (GST_START_TEST):
24074 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24075 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24076 (find_element), (gst_bin_sort_iterator_next),
24077 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24078 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24079 (gst_bin_change_state), (gst_bin_dispose):
24080 A bin does not have a bus, it gets the bus from the parent.
24082 * gst/gstelement.c: (gst_element_requires_clock),
24083 (gst_element_provides_clock), (gst_element_is_indexable),
24084 (gst_element_is_locked_state), (gst_element_change_state),
24085 (gst_element_set_bus_func):
24088 * gst/gstpipeline.c: (gst_pipeline_class_init),
24089 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24090 The pipeline provides a bus.
24092 2005-09-28 Johan Dahlin <johan@gnome.org>
24094 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24095 gst_structure_get_enum instead of gst_structure_get_int
24097 * gst/gststructure.c (gst_structure_get_enum): Impl.
24099 * gst/gststructure.h (gst_structure_get_enum): Add
24101 * docs/gst/gstreamer-sections.txt: Ditto
24103 * gst/gstmessage.c (gst_message_new_state_changed): Use
24104 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24105 which does introspection.
24106 Reviewed by Christian Schaller
24108 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24110 * gst/gstinfo.c: (gst_debug_log_default):
24111 don't do dummy g_strdup()s
24112 * libs/gst/controller/gstcontroller.c:
24113 (on_object_controlled_property_changed),
24114 (gst_controlled_property_new), (gst_controller_new_valist),
24115 (gst_controller_new_list),
24116 (gst_controller_remove_properties_valist), (gst_controller_set),
24117 (gst_controller_get), (gst_controller_sync_values),
24118 (gst_controller_get_value_array), (_gst_controller_class_init),
24119 (gst_controller_get_type):
24120 * libs/gst/controller/gstcontroller.h:
24121 * libs/gst/controller/gstinterpolation.c:
24122 (gst_controlled_property_find_timed_value_node):
24123 convert // to /**/ comments
24125 2005-09-28 Wim Taymans <wim@fluendo.com>
24127 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24128 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24129 (gst_bus_sync_signal_handler):
24131 Added async-message and sync-message signals to the bus.
24132 Added helper BusFunc to emit signals for all posted messages.
24134 * gst/gstmessage.c: (gst_message_type_get_name),
24135 (gst_message_type_to_quark), (gst_message_get_type):
24136 * gst/gstmessage.h:
24137 Register quarks for message names.
24139 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24141 * docs/libs/gstreamer-libs-sections.txt:
24142 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24143 (gst_controller_new_list):
24144 * libs/gst/controller/gstcontroller.h:
24145 added another constructor for language bindings
24147 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24149 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24153 * gst/gstinfo.c: (_gst_debug_init):
24154 slightly more readable color for refcount debugging
24156 2005-09-28 Wim Taymans <wim@fluendo.com>
24158 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24159 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24160 (find_element), (gst_bin_sort_iterator_next),
24161 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24162 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24163 (gst_bin_change_state), (gst_bin_dispose):
24164 Small doc fixes. get_clock -> provide_clock.
24166 * gst/gstelement.c: (gst_element_class_init),
24167 (gst_element_provides_clock), (gst_element_provide_clock),
24168 (gst_element_get_clock), (gst_element_commit_state),
24169 (gst_element_lost_state):
24170 * gst/gstelement.h:
24171 Make get/set_clock() symetric. Add provide_clock vmethod since
24172 that is actually what this function does.
24174 * gst/gstpipeline.c: (gst_pipeline_class_init),
24175 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24176 (gst_pipeline_get_clock):
24177 get_clock -> provide_clock.
24179 2005-09-28 Andy Wingo <wingo@pobox.com>
24181 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24182 lieu of real docs...
24184 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24186 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24188 * gst/elements/gstcapsfilter.c:
24189 * gst/elements/gstfakesink.c:
24190 * gst/elements/gstfakesrc.c:
24191 * gst/elements/gstfdsink.c:
24192 * gst/elements/gstfdsrc.c:
24193 * gst/elements/gstfilesink.c:
24194 * gst/elements/gstfilesrc.c:
24195 * gst/elements/gstidentity.c:
24196 * gst/elements/gsttee.c:
24197 * gst/elements/gsttypefindelement.c:
24198 Make element details static.
24200 2005-09-28 Wim Taymans <wim@fluendo.com>
24202 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24203 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24204 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24205 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24206 (gst_bin_change_state), (gst_bin_dispose):
24207 Some documentation updates.
24208 Clean up dispose handlers.
24210 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24211 * gst/gstpad.c: (gst_pad_dispose):
24212 Clean up dispose handler.
24214 * gst/gstpipeline.c: (gst_pipeline_change_state):
24215 Removed spurious UNLOCK.
24217 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24219 * docs/gst/gstreamer-sections.txt:
24220 * gst/base/gstbasesrc.h:
24221 * gst/gstelement.h:
24225 * gst/gstpipeline.c:
24226 * gst/gstpipeline.h:
24229 added two new functions to the docs
24230 documents all undocumented GstXXXFlags
24231 completed some incomplete docs
24233 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24235 * gst/gstbin.c: (gst_bin_dispose):
24236 * gst/gstelement.c: (gst_element_dispose):
24237 remove now useless and leaky resurrection code in dispose
24238 * gst/base/gstbasesrc.c: (gst_base_src_init):
24239 * gst/gstelementfactory.c: (gst_element_factory_create):
24240 * gst/gstobject.c: (gst_object_set_parent):
24243 2005-09-27 Wim Taymans <wim@fluendo.com>
24245 * docs/design/part-TODO.txt:
24248 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24249 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24250 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24251 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24252 (gst_bin_change_state):
24253 * gst/gstelement.h:
24254 Remove element variable, we keep element info in the iterator now.
24256 2005-09-27 Andy Wingo <wingo@pobox.com>
24258 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24261 2005-09-27 Wim Taymans <wim@fluendo.com>
24263 * check/gst/gstbin.c: (GST_START_TEST):
24264 Enable check that works now.
24266 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24267 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24268 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24269 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24270 (gst_bin_change_state):
24272 Redid the state change algorithm using a topological sort algo.
24273 Handles all cases correctly.
24274 Exposed iterator for state change order.
24276 * gst/gstelement.h:
24277 Temp storage for state changes. Need to get rid of this soon.
24279 2005-09-27 Wim Taymans <wim@fluendo.com>
24281 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24282 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24283 (link_fold_func), (gst_pad_proxy_setcaps):
24284 Leak fixes, the fold functions need to unref the passed object and
24285 _get_parent_*() returns ref to parent.
24287 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24289 * check/gst/gstbuffer.c: (test_make_writable):
24290 Plug leak in test case and fix 'make check-valgrind'
24292 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24294 * gst/gstbuffer.c: (gst_subbuffer_init):
24295 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24296 works correctly in all circumstances (we could have just copied
24297 the parent buffer's readonly flag, but conceptually it seems
24298 cleaner to mark all subbuffers as read-only). (based on patch
24299 by Alessandro Decina, #314710).
24301 * check/gst/gstbuffer.c: (create_read_only_buffer),
24302 (test_make_writable), (test_subbuffer_make_writable),
24304 Add some tests for gst_buffer_make_writable().
24306 2005-09-27 Wim Taymans <wim@fluendo.com>
24308 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24309 use gst_object_has_ancestor().
24311 * gst/gstobject.c: (gst_object_has_ancestor):
24313 gst_object_has_ancestor() copied from gstbin.c as it is a
24316 * tests/instantiate/create.c: (create_all_elements):
24317 * tests/lat.c: (handoff_src), (handoff_sink):
24318 * tests/sched/runxml.c: (main):
24319 * tests/seeking/seeking1.c: (main):
24320 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24322 Fix compilation of some tests.
24324 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24327 Remove comment. GST_TYPE_G_ERROR is here to stay,
24328 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24329 (#316961, #300610).
24331 2005-09-26 Wim Taymans <wim@fluendo.com>
24333 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24334 Added check that shows error in state change order.
24336 2005-09-26 Wim Taymans <wim@fluendo.com>
24338 * gst/gstbin.c: (gst_bin_change_state):
24339 Make state change function use 3 queues again, we were
24340 adding elements in the wrong order.
24342 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24345 * gst/gstpad.c: (gst_pad_dispose):
24346 Added some debug info first.
24348 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24350 * docs/design/draft-push-pull.txt:
24351 * docs/design/part-events.txt:
24352 * docs/design/part-overview.txt:
24353 * docs/design/part-scheduling.txt:
24354 Replace all _pull_region() with _pull_range()
24356 2005-09-26 Andy Wingo <wingo@pobox.com>
24358 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24360 * check/gst-libs/controller.c: Update for controller api change.
24363 * tests/Makefile.am:
24364 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24365 over by GLib bug 118439.
24367 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24368 routines to a function.
24370 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24372 * libs/gst/controller/gsthelper.c:
24373 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24374 (gst_object_sync_values): Renamed from sink_values. Ugh.
24376 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24378 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24379 Renamed from controller_key, as it is exported.
24381 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24383 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24388 * gst/gstpadtemplate.h:
24391 * gst/gstqueryutils.c:
24392 * gst/gstqueryutils.h:
24393 remove queryutils headers after moving the two used functions
24394 to gstquery. also fixes build problem for gstsiddec
24396 2005-09-26 Michael Smith <msmith@fluendo.com>
24398 * tools/gst-launch.1.in:
24399 Correct documentation in manpage of debug syntax
24401 2005-09-26 Wim Taymans <wim@fluendo.com>
24403 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24404 (gst_base_src_is_seekable), (gst_base_src_change_state):
24405 Some more debugging info.
24407 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24409 * docs/gst/gstreamer-sections.txt:
24410 * gst/base/gstbasetransform.h:
24414 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24416 * docs/gst/.cvsignore:
24417 * docs/gst/tmpl/.cvsignore:
24418 * docs/gst/tmpl/gstpipeline.sgml:
24419 * docs/gst/tmpl/gstplugin.sgml:
24420 * gst/gstpipeline.c:
24423 inlined the last two docs files
24424 removed the tmpl directory from cvs (no more conflicts here!)
24426 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24428 * docs/gst/gstreamer-sections.txt:
24429 * docs/gst/tmpl/.cvsignore:
24430 * docs/gst/tmpl/gstpad.sgml:
24431 * docs/gst/tmpl/gstpadtemplate.sgml:
24433 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24434 (gst_pad_finalize), (gst_pad_set_pad_template):
24436 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24437 (gst_pad_template_class_init), (gst_pad_template_init),
24438 (gst_pad_template_dispose), (name_is_valid),
24439 (gst_static_pad_template_get), (gst_pad_template_new),
24440 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24441 (gst_pad_template_pad_created):
24442 * gst/gstpadtemplate.h:
24443 inlined two more docs
24444 factored gstpadtemplate out of gstpad
24446 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24448 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24449 (test_children_state_change_order_semi_sink):
24450 Fix test case: we can't rely on a fixed state change order when
24451 going from READY => PAUSED because the sink might commit its
24452 new state first when the first buffer created by the source
24453 reaches the sink before the source has finished its change state.
24454 (Test case still fails at times, see #316856, comment 5 onwards)
24456 2005-09-24 Wim Taymans <wim@fluendo.com>
24458 * docs/design/part-events.txt:
24459 * docs/design/part-gstbus.txt:
24460 * docs/design/part-gstpipeline.txt:
24461 * docs/design/part-messages.txt:
24462 * docs/design/part-overview.txt:
24463 * docs/design/part-segments.txt:
24467 * gst/gstelement.c:
24470 * gst/gstiterator.c:
24471 Various documentation updates.
24473 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24476 Well, that's embarassing. Luckily we weren't using
24477 GST_CLOCK_DIFF anywhere.
24479 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24481 * common/gtk-doc.mak:
24482 don't fail on building XML, FC4 slave shows a bunch of doc
24483 missing bits that I don't get
24485 * gst/gstpipeline.c:
24486 * gst/gststructure.c:
24489 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24491 * docs/design/part-gstbin.txt:
24492 * docs/design/part-gstbus.txt:
24494 Add blurb about how the bus goes into flushing mode and
24495 drops all messages when its bin goes from READY into NULL
24498 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24500 * docs/gst/gstreamer-sections.txt:
24501 * gst/gststructure.c: (gst_structure_get_clock_time):
24502 * gst/gststructure.h:
24503 add a method to get a GstClockTime out of a structure
24505 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24507 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24508 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24509 Added test to check state change order in bins (can still be made
24510 to fail here under heavy disk load; bails out with 'Push on pad
24511 fakesink:sink0, but it was not activated in push mode').
24513 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24514 Fix state change order when there is only a semi sink (#316856)
24516 * gst/gstbus.c: (gst_bus_class_init):
24517 Use _class_peek_parent(), not _class_ref(); fix docs to say
24518 'default main context' instead of 'mainloop' where that is
24521 * gst/gstelement.c: (gst_element_commit_state),
24522 (gst_element_set_state):
24523 Fix typos in debug messages
24525 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24528 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24529 * gst/gstpluginfeature.c:
24531 various doc updates
24532 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24533 change an assert into an error until it gets fixed properly
24535 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24537 * docs/gst/gstreamer-sections.txt:
24538 * docs/gst/tmpl/.cvsignore:
24539 * docs/gst/tmpl/gstelement.sgml:
24540 * docs/gst/tmpl/gstinfo.sgml:
24541 * docs/gst/tmpl/gstobject.sgml:
24542 * gst/gstelement.c:
24543 * gst/gstelement.h:
24546 * gst/gstobject.c: (gst_object_class_init):
24548 inlined 3 more biiiig doc files and added some missing docs on the fly
24550 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24552 * check/gst/.cvsignore:
24553 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24554 * gst/gstregistryxml.c: (load_plugin),
24555 (gst_registry_xml_save_plugin):
24556 put back source in registry. add checks for find_plugin.
24557 * testsuite/states/bin.c: (assert_state), (empty_bin),
24558 (test_adding_one_element), (main):
24559 * testsuite/states/locked.c: (main):
24560 some compile/run fixes
24562 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24564 * check/gst/gstvalue.c: (GST_START_TEST):
24565 fix leaks in the test itself
24567 2005-09-22 Wim Taymans <wim@fluendo.com>
24569 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24570 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24571 (gst_base_sink_query):
24572 Prepare for more accurate position reporting and query
24575 * gst/gstelement.c: (gst_element_send_event),
24576 (gst_element_set_state):
24579 2005-09-22 Wim Taymans <wim@fluendo.com>
24581 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24582 (gst_query_parse_segment):
24584 More documentation.
24585 Add segment query for future use.
24587 2005-09-22 Wim Taymans <wim@fluendo.com>
24589 * gst/gstbin.c: (gst_bin_add_func):
24590 Some more debug info.
24592 * gst/gstelement.c: (gst_element_send_event):
24593 Simplify send_event
24595 * gst/gstelement.h:
24596 Don't know how flags got broken.
24601 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24603 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24604 Add simplistic test suite for GST_TYPE_DATE serialisation and
24607 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24609 * docs/gst/gstreamer-sections.txt:
24610 * gst/gststructure.c: (gst_structure_set_valist),
24611 (gst_structure_get_date):
24612 * gst/gststructure.h:
24613 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24614 (gst_date_copy), (gst_value_compare_date),
24615 (gst_value_serialize_date), (gst_value_deserialize_date),
24616 (gst_value_transform_date_string),
24617 (gst_value_transform_string_date), (_gst_value_initialize):
24619 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24620 bunch of utility functions along with a hack that checks that
24621 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24622 is required. Part of the grand scheme in #170777.
24624 2005-09-22 Andy Wingo <wingo@pobox.com>
24626 * gst/gstconfig.h.in: Psych out gtk-doc.
24628 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24630 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24632 * tools/gst-inspect.c (print_element_list): Plug some
24633 inconsequential leaks.
24635 * gst/gstregistry.c (gst_registry_get_default): Doc.
24637 * check/gst/gstplugin.c:
24638 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24639 * gst/gstelementfactory.c (gst_element_factory_create):
24640 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24643 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24644 (gst_plugin_feature_load): Doc, don't eat refs.
24646 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24647 (gst_plugin_list_free): Doc.
24648 (gst_plugin_load_file): Doc updates.
24650 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24651 accessors returning refcounted objects, return a ref.
24653 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24654 accessor for caps. IDEMPOTENCE. Oh yes.
24656 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24658 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24660 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24661 (_gst_debug_register_funcptr):
24662 Add mutex to serialise access to the hash table with
24663 the function pointer => function name string mapping;
24664 make that hash table static scope (#316809).
24666 * gst/registries/.cvsignore:
24667 Remove left-over file.
24669 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24671 * docs/pwg/appendix-porting.xml:
24672 And something about newsegment events and caps-on-buffers to
24673 the porting guide (feel free to improve).
24675 2005-09-21 Andy Wingo <wingo@pobox.com>
24677 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24678 data and event probes on the same pad.
24679 (test_buffer_probe_once): Test that removing probes from within
24680 the probe functions works.
24682 2005-09-21 Andy Wingo <wingo@pobox.com>
24684 * check/gst/gstutils.c: New file.
24685 (test_buffer_probe_n_times): A simple buffer probe test. More to
24688 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24689 have-data::buffer, not have-data.
24690 (gst_pad_add_event_probe): Likewise for have-data::event.
24691 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24692 peer' isn't quite right yet though.
24693 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24694 (gst_pad_remove_data_probe): Change to take the guint handler_id
24695 as their arg, not the function+data, which is more glib-like.
24697 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24698 the signal emission to indicate if the data is a buffer or an
24700 (gst_pad_get_type): Initialize buffer and event quarks.
24701 (gst_pad_class_init): have-data is now a detailed signal, yes it
24704 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24706 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24707 * gst/gstutils.c: (gst_util_set_value_from_string),
24708 (gst_util_set_object_arg):
24709 Don't put functional code in g_return_if_fail() or
24710 g_return_val_if_fail() statements, otherwise things will
24711 break when G_DISABLE_CHECKS is defined during compilation.
24713 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24715 * docs/gst/tmpl/.cvsignore:
24716 * docs/gst/tmpl/gstvalue.sgml:
24719 inlied another one and added some obvious docs
24721 2005-09-21 Wim Taymans <wim@fluendo.com>
24723 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24724 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24725 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24726 (gst_fdsrc_get_property), (gst_fdsrc_create):
24727 * gst/elements/gstfdsrc.h:
24728 Properly implement fdsrc. Removed signal and timeout,
24729 better implemented somewhere else.
24731 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24733 * docs/gst/tmpl/.cvsignore:
24734 * docs/gst/tmpl/gstimplementsinterface.sgml:
24735 * gst/gstinterface.c:
24738 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24740 * docs/gst/gstreamer-sections.txt:
24741 * docs/gst/tmpl/.cvsignore:
24742 * docs/gst/tmpl/gstenumtypes.sgml:
24743 remove obsolete doc file
24745 2005-09-21 David Schleef <ds@schleef.org>
24747 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24748 little beer, fix a little leak.
24750 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24752 * docs/gst/gstreamer-docs.sgml:
24753 * docs/gst/gstreamer-sections.txt:
24754 * docs/gst/tmpl/.cvsignore:
24758 * gst/gstelement.h:
24759 * gst/gstindex.c: (gst_index_class_init):
24761 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24762 (gst_index_factory_class_init), (gst_index_factory_init),
24763 (gst_index_factory_finalize), (gst_index_factory_new),
24764 (gst_index_factory_destroy), (gst_index_factory_find),
24765 (gst_index_factory_create), (gst_index_factory_make):
24766 * gst/gstindexfactory.h:
24767 * gst/gstpluginfeature.c:
24768 * gst/gstpluginfeature.h:
24769 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24770 more docs inlined, splitted gstindex.{c,h}
24772 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24774 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24777 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24779 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24780 Set sync to FALSE by default.
24782 2005-09-20 Wim Taymans <wim@fluendo.com>
24784 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24785 (gst_base_sink_init):
24786 Make sync property settable from subclass.
24788 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24789 (gst_fake_sink_change_state):
24790 Set sync to FALSE by default.
24792 2005-09-20 Wim Taymans <wim@fluendo.com>
24794 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24795 * tools/gst-launch.c: (main):
24796 The timeout handler should have lower priority than the source
24797 so we don't timeout before popping a message with 0 timeout.
24798 Dump error messages after failed state change.
24800 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24802 * tools/gst-inspect.c: (print_element_properties_info):
24805 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24807 * check/gst/gstevent.c:
24808 * gst/elements/gstfakesink.c:
24809 * gst/elements/gstfakesink.h:
24810 remove the sync property from fakesink.
24811 has the side effect of setting sync TRUE
24812 for fakesink, which is a change. Anyone who knows how
24813 to fix this nicely in a GObject-y way, feel free.
24815 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24817 * docs/gst/gstreamer-docs.sgml:
24818 remove probe refsection
24820 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24822 * check/Makefile.am:
24823 disable valgrinding the controller test again
24824 * docs/gst/gstreamer-sections.txt:
24825 update for api-changes
24827 2005-09-20 Wim Taymans <wim@fluendo.com>
24829 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24830 (gst_base_sink_set_property), (gst_base_sink_get_property),
24831 (gst_base_sink_do_sync):
24832 * gst/base/gstbasesink.h:
24833 Added sync property to basesink to disable clock sync.
24835 2005-09-20 Andy Wingo <wingo@pobox.com>
24837 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24838 eating the caller's refcount.
24840 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24841 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24844 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24845 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24846 of GLib 2.8 public, so we can know which refcount to check in
24849 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24850 (gst_object_init): Only set the gst refcount if we're going ahead
24851 with the refcount hack.
24853 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24855 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24856 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24857 more leaks plumbed, added more debug-logging
24861 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24863 * gst/gstmessage.c:
24864 remove include of gstmemchunk.h
24866 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24868 * gst/gstclock.c: (_gst_clock_id_free):
24869 Commit from the Political Party For More Atomic CVS Commits,
24870 so that people don't waste too much of their day fishing
24871 out obvious leaks out of massive commits.
24872 Oh, and fix a pretty damn obvious leak in the memchunk
24875 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24877 * check/Makefile.am:
24878 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24879 plug mem-leak, re-add to valgrindable tests
24881 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24884 unbreak the build for those who have chronic arthritis
24885 and typing "make check" is just too taxing on the hands
24887 2005-09-20 Andy Wingo <wingo@pobox.com>
24889 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24890 really want it out, you should fix plugins at the same time.
24892 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24895 * docs/gst/gstreamer-sections.txt:
24897 added missing symbols to api docs
24898 disable ref-count hack if we have glib >= 2.8
24900 2005-09-19 David Schleef <ds@schleef.org>
24902 * docs/gst/Makefile.am: Ignore a few more internal headers
24903 * docs/gst/gstreamer-docs.sgml: Remove old sections
24904 * docs/gst/gstreamer-sections.txt: Remove old sections
24905 * docs/gst/tmpl/gstobject.sgml: update
24906 * docs/gst/tmpl/gstplugin.sgml: update
24907 * docs/gst/tmpl/gstpluginfeature.sgml: update
24908 * docs/random/ds/0.9-suggested-changes: update.
24909 * gst/Makefile.am: remove memchunk and trashstack, since they're
24911 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24912 * gst/gst.h: don't include some headers
24913 * gst/gstchildproxy.c: add gstmarshal.h
24914 * gst/gstclock.c: Don't use memchunks
24915 * gst/gstminiobject.c: Add some docs
24916 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24917 * gst/gstobject.h: same
24918 * gst/gstplugin.c: include gstmacros.h
24919 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24920 * gst/gstquery.c: don't use memchunks
24921 * gst/gstregistry.c: rename gst_registry_deinit()
24922 * gst/gstregistry.h: same
24924 2005-09-19 David Schleef <ds@schleef.org>
24926 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24927 * docs/libs/gstreamer-libs-sections.txt:
24928 * docs/libs/tmpl/gstgetbits.sgml:
24929 * docs/libs/tmpl/gstputbits.sgml:
24931 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24933 * win32/gstenumtypes.c:
24934 * win32/gstenumtypes.h:
24937 2005-09-19 Wim Taymans <wim@fluendo.com>
24939 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24940 Automatically PAUSE and RESUME a pipeline when a flushing seek
24943 2005-09-19 Andy Wingo <wingo@pobox.com>
24945 * gst/gstregistry.h: Spacing fixen.
24947 2005-09-19 Wim Taymans <wim@fluendo.com>
24949 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24950 Handle state change failure more correctly.
24952 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24954 * check/Makefile.am:
24955 * check/pipelines/cleanup.c: (run_pipeline):
24956 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24958 enable cleanup again after fixing the leak
24960 some more info on docs
24962 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24964 * check/Makefile.am:
24965 re-enable tests now that leaks are plugged
24967 * check/gst/gstbin.c:
24968 * check/gst/gstpipeline.c:
24969 add some more tests while fixing leaks
24970 * common/check.mak:
24971 make sure binaries are uptodate when valgrinding/gdbing
24973 * gst/gstelementfactory.c:
24974 remove a ref too many, and add a FIXME for when we get
24975 round to disposing of classes
24977 fix the refcounting when loading a plugin from a file and
24978 the code pretends that the pointer is the same even though
24979 of course it can change
24980 * gst/gstpluginfeature.c:
24981 unref plugins marked cached (a bit confusing as a name)
24982 as the docs state should be done
24983 various doc additions to explain refcounting
24984 * gst/gstregistry.c:
24985 * gst/gstregistryxml.c:
24988 2005-09-19 Wim Taymans <wim@fluendo.com>
24990 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24991 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24992 (send_messages), (GST_START_TEST), (gstbus_suite):
24993 * check/gst/gstpipeline.c: (GST_START_TEST):
24994 * check/pipelines/cleanup.c: (run_pipeline):
24995 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24997 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24998 (gst_bus_source_check), (gst_bus_source_dispatch),
24999 (gst_bus_create_watch), (gst_bus_add_watch_full),
25000 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
25002 * tools/gst-launch.c: (event_loop):
25003 * tools/gst-md5sum.c: (event_loop):
25004 GstBusHandler -> GstBusFunc, return value has the same meaning as
25005 any other GSource (FALSE == remove source).
25006 _add_watch() and _add_watch_full() now take a MessageType mask to
25007 only handle specific types of messages.
25008 _poll() returns the GstMessage instead of the message type to avoid
25010 _have_pending() takes a MessageType mask now too.
25011 Added testsuite for multiple bus watches.
25012 Fix testsuites and applications for new bus API.
25014 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
25016 * check/Makefile.am:
25017 mark a bunch of the tests as to fix until we fix them
25019 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25021 * common/check.mak:
25022 use GST_PLUGIN settings for valgrind tests as well, so we're
25023 valgrinding the correct thing
25024 * gst/gst.c: (init_post):
25027 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25029 * gst/gst.c: (init_post), (gst_deinit):
25030 * gst/gstelementfactory.c: (gst_element_factory_class_init),
25031 (gst_element_factory_finalize), (gst_element_factory_cleanup):
25032 * gst/gstindex.c: (gst_index_factory_class_init),
25033 (gst_index_factory_finalize):
25034 * gst/gstobject.c: (gst_object_dispose):
25035 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
25036 (gst_plugin_load_file), (gst_plugin_desc_free):
25037 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
25038 (gst_plugin_feature_finalize):
25039 * gst/gstregistry.c: (gst_registry_class_init),
25040 (gst_registry_init), (gst_registry_finalize),
25041 (gst_registry_get_default), (gst_registry_deinit):
25042 * gst/gstregistry.h:
25043 * gst/gstregistryxml.c: (load_feature), (load_plugin):
25044 various cleanups and memleak plugging. make valgrind is happy now.
25046 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
25048 * common/check.mak:
25049 add a check-valgrind target
25051 2005-09-18 David Schleef <ds@schleef.org>
25053 * tools/gst-inspect.c: Revert the GOption code.
25055 2005-09-17 David Schleef <ds@schleef.org>
25057 * check/Makefile.am: Fix environment variables.
25058 * check/gst/gstplugin.c: Fix for API changes.
25059 * tools/gst-inspect.c: Fix for API changes.
25060 * tools/gst-xmlinspect.c: Fix for API changes.
25061 * gst/gstelementfactory.c:
25064 * gst/gstpluginfeature.c:
25065 * gst/gstpluginfeature.h:
25066 * gst/gstregistry.c:
25067 * gst/gstregistry.h:
25068 * gst/gstregistryxml.c:
25069 * gst/gsttypefind.c:
25070 * gst/gsttypefindfactory.c:
25071 * gst/indexers/gstfileindex.c:
25072 * gst/indexers/gstmemindex.c:
25073 * gst/schedulers/Makefile.am:
25074 Change registry to keep track of both plugins and features,
25075 removing the feature tracking from plugins themselves.
25077 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25079 * check/Makefile.am:
25080 * tools/gst-register.1.in:
25081 remove gst-register
25083 2005-09-15 David Schleef <ds@schleef.org>
25085 * check/gst/gstplugin.c:
25086 * gst/gstelementfactory.c:
25088 * gst/gstpluginfeature.c:
25089 * gst/gstregistry.c:
25090 Getting tired of debugging. Disabled all the unreffing of
25091 plugins and features, which fixes the segfaults, but of
25092 course leaks like crazy. At least playbin works.
25094 2005-09-15 David Schleef <ds@schleef.org>
25096 * check/gst/gstplugin.c: (register_check_elements),
25097 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25099 * gst/elements/gsttypefindelement.c: Fix refcounting.
25100 * gst/gsttypefind.c:
25101 * gst/gsttypefindfactory.c:
25102 * gst/gsttypefindfactory.h:
25104 2005-09-15 David Schleef <ds@schleef.org>
25106 * gst/gstindex.c: get refcounting correct.
25107 * gst/gstregistry.c: Handle the case where a feature/plugin is
25110 2005-09-15 David Schleef <ds@schleef.org>
25112 * check/Makefile.am:
25113 * check/gst/gstplugin.c: Add test
25114 * gst/gstplugin.c: Fix problems noticed by testsuite
25116 * gst/gstregistry.c:
25117 * gst/gstregistry.h:
25119 2005-09-15 David Schleef <ds@schleef.org>
25121 * gst/gstplugin.c: Implement semi-decent recounting and locking
25122 in plugins and plugin features.
25124 * gst/gstpluginfeature.c:
25125 * gst/gstpluginfeature.h:
25126 * gst/gstregistry.c:
25128 2005-09-15 Michael Smith <msmith@fluendo.com>
25130 * gst/gstregistry.c: (gst_registry_get_feature_list):
25131 Implement this. Makes oggdemux work; decodebin still broken.
25133 2005-09-14 David Schleef <ds@schleef.org>
25135 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25137 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25138 * gst/check/Makefile.am:
25139 * libs/gst/controller/Makefile.am:
25140 * libs/gst/dataprotocol/Makefile.am:
25142 2005-09-14 David Schleef <ds@schleef.org>
25144 * configure.ac: Remove getbits library. Nothing uses it, and
25145 it should be in something like liboil if someone did want
25147 * libs/gst/Makefile.am:
25148 * libs/gst/getbits/Makefile.am:
25149 * libs/gst/getbits/gbtest.c:
25150 * libs/gst/getbits/getbits.c:
25151 * libs/gst/getbits/getbits.h:
25152 * libs/gst/getbits/gstgetbits_generic.c:
25153 * libs/gst/getbits/gstgetbits_i386.s:
25154 * libs/gst/getbits/gstgetbits_inl.h:
25156 2005-09-14 David Schleef <ds@schleef.org>
25158 * gst/Makefile.am: Dist glib-compat.h
25160 2005-09-14 David Schleef <ds@schleef.org>
25162 * configure.ac: Remove gst/registries, since it's no longer used.
25163 * gst/registries/Makefile.am:
25164 * gst/registries/gstlibxmlregistry.c:
25165 * gst/registries/gstlibxmlregistry.h:
25166 * gst/registries/gstxmlregistry.c:
25167 * gst/registries/gstxmlregistry.h:
25168 * gst/registries/registrytest.c:
25170 2005-09-14 David Schleef <ds@schleef.org>
25172 * gst/glib-compat.h:
25173 * gst/gstregistryxml.c:
25174 Convergence is near. Seriously.
25176 2005-09-14 David Schleef <ds@schleef.org>
25178 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25179 * gst/glib-compat.h:
25180 Attempt #4 to appease the buildbots.
25182 2005-09-14 David Schleef <ds@schleef.org>
25184 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25187 2005-09-14 David Schleef <ds@schleef.org>
25189 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25192 2005-09-14 David Schleef <ds@schleef.org>
25194 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25197 2005-09-14 David Schleef <ds@schleef.org>
25199 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25200 * gst/glib-compat.h: Add some functions that are in newer versions
25201 of glib than we care to require.
25202 * gst/gstregistryxml.c: Use them.
25204 2005-09-14 David Schleef <ds@schleef.org>
25206 * po/POTFILES.in: remove gst-register.c
25208 2005-09-14 David Schleef <ds@schleef.org>
25210 * docs/gst/gstreamer-docs.sgml:
25211 * docs/gst/gstreamer-sections.txt:
25212 * docs/gst/gstreamer.types:
25213 * docs/gst/tmpl/gstelement.sgml:
25214 * docs/gst/tmpl/gstplugin.sgml:
25215 * docs/gst/tmpl/gstpluginfeature.sgml:
25216 Documentation updates for registry changes.
25218 2005-09-14 David Schleef <ds@schleef.org>
25220 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25221 because we don't require glib-2.8.
25223 2005-09-14 David Schleef <ds@schleef.org>
25225 * gst/gstregistryxml.c: Added. Essentially moved out of the
25226 registries directory.
25228 2005-09-14 David Schleef <ds@schleef.org>
25230 * check/Makefile.am:
25231 * check/generic/states.c:
25235 * gst/gst_private.h:
25236 * gst/gstelementfactory.c:
25241 * gst/gstpluginfeature.c:
25242 * gst/gstpluginfeature.h:
25243 * gst/gstregistry.c:
25244 * gst/gstregistry.h:
25245 * gst/gstregistrypool.c: remove
25246 * gst/gstregistrypool.h: remove
25247 * gst/gsttypefind.c:
25248 * gst/gsttypefindfactory.c:
25250 * tools/Makefile.am:
25251 * tools/gst-compprep.c:
25252 * tools/gst-inspect.c:
25253 * tools/gst-register.c: remove
25254 * tools/gst-xmlinspect.c:
25255 Registry rewrite. Changes registry from being a file created
25256 by a tool into a simple cache file created automatically by
25257 libgstreamer. Removed gst-register (because it's no longer
25258 needed). Remove registry pools, because we only have one
25259 registry implementation (XML). Fix up other subsystems as
25262 2005-09-13 Michael Smith <msmith@fluendo.com>
25264 * gst/gstconfig.h.in:
25265 Don't Use windows linking attributes for MinGW. Fixes #316157
25267 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25269 * gst/gstutils.c: (set_state_async_thread_func),
25270 (gst_element_set_state_async):
25271 Apparently people think it's better if this function doesn't
25272 try to set the state to whatever state was asked for on the first
25273 call to this function for any object. Seriously.
25275 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25277 * check/gst/gstpipeline.c: (GST_START_TEST):
25278 * docs/gst/gstreamer-sections.txt:
25279 * gst/gstutils.c: (set_state_async_thread_func),
25280 (gst_element_set_state_async):
25282 add a "gst_element_set_state_async" method that
25283 sets the state and starts a thread to make sure the state
25284 change completes as best as it can
25286 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25288 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25289 codify design+behaviour in testsuite after discussion
25291 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25293 * docs/gst/tmpl/gstelement.sgml:
25294 * docs/manual/appendix-quotes.xml:
25296 * gst/gstelement.c: (gst_element_set_state):
25299 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25301 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25302 (gst_base_transform_prepare_output_buf),
25303 (gst_base_transform_handle_buffer):
25304 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25305 (gst_capsfilter_prepare_buf):
25306 Remove the requirement for sub-classes to call the parent
25307 implementation of prepare_output_buffer with a wrapper function.
25309 * gst/gsttaglist.h:
25310 * gst/gsttagsetter.h:
25311 Fix #define wrapper
25313 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25315 * docs/gst/gstreamer-sections.txt:
25318 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25320 * docs/gst/gstreamer-sections.txt:
25321 * docs/gst/tmpl/gstelement.sgml:
25322 * docs/gst/tmpl/gstplugin.sgml:
25323 * gst/gstminiobject.c:
25325 docs now stop throwing warnings
25327 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25329 * docs/gst/gstreamer-sections.txt:
25330 * docs/gst/gstreamer.types:
25331 * docs/gst/tmpl/gstpad.sgml:
25332 * docs/gst/tmpl/gsttypes.sgml:
25333 * gst/base/gstadapter.h:
25334 * gst/base/gstbasesink.h:
25335 * gst/base/gstbasesrc.h:
25341 * gst/gstelement.h:
25343 * gst/gstmessage.h:
25345 * gst/gststructure.c:
25346 * gst/registries/gstlibxmlregistry.h:
25347 various documentation fixes
25349 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25351 * docs/gst/gstreamer-sections.txt:
25352 * docs/gst/tmpl/gstvalue.sgml:
25353 rearrange gstvalue section
25354 * gst/gstutils.c: (gst_element_state_get_name):
25356 * gst/gstvalue.c: (_gst_value_initialize):
25360 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25362 * check/gst-libs/controller.c:
25363 Header include fix.
25364 * gst/base/gstbasetransform.c:
25365 (gst_base_transform_default_prepare_buf),
25366 (gst_base_transform_handle_buffer):
25367 * gst/base/gstbasetransform.h:
25368 Some more basetransform changes and fixes to enable sub-classes
25369 that modify buffer metadata only.
25370 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25371 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25372 (gst_capsfilter_prepare_buf):
25373 If the output pad has fixed allowed caps and input buffers
25374 don't have any, set the fixed caps on outgoing buffers.
25376 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25377 * check/elements/identity.c: (GST_START_TEST):
25378 Make the error a little clearer when the test fails because
25379 identity made a copy of the buffer.
25380 * docs/gst/gstreamer-sections.txt:
25381 New symbols in gstbasetransform.h
25382 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25383 (gst_base_transform_init), (gst_base_transform_transform_size),
25384 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25385 (gst_base_transform_default_prepare_buf),
25386 (gst_base_transform_get_unit_size),
25387 (gst_base_transform_buffer_alloc),
25388 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25389 (gst_base_transform_change_state),
25390 (gst_base_transform_set_passthrough),
25391 (gst_base_transform_set_in_place),
25392 (gst_base_transform_is_in_place):
25393 * gst/base/gstbasetransform.h:
25394 Change BaseTransform to separate in_place operate from same_caps
25395 output. in_place implies that the element can perform the transform
25396 on incoming buffers in-place, even if the caps on the output are
25398 Sub-class elements can now implement special buffer allocation
25399 methods for outgoing buffers if they wish to.
25400 Big documentation addition.
25401 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25402 * gst/elements/gstelements.c:
25403 Changes for basetransform modifications.
25404 * gst/elements/Makefile.am:
25405 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25406 Compile fix. Extra debug output.
25408 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25410 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25412 add tests for valid pad naming
25413 * gst/check/gstcheck.c: (gst_check_log_message_func),
25414 (gst_check_log_critical_func):
25416 remove printing of code, it is fragile when the code contains
25417 % and the line number is enough info
25418 * gst/check/gstcheck.h:
25419 * gst/gstpad.c: (gst_pad_template_new):
25422 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25425 say what CHECK flags we use
25426 * docs/libs/gstreamer-libs.types:
25427 * libs/gst/controller/Makefile.am:
25428 * libs/gst/controller/gst-controller.c:
25429 * libs/gst/controller/gst-controller.h:
25430 * libs/gst/controller/gst-helper.c:
25431 * libs/gst/controller/gst-interpolation.c:
25432 * libs/gst/controller/gstcontroller.c:
25433 * libs/gst/controller/gsthelper.c:
25434 * libs/gst/controller/gstinterpolation.c:
25435 * tools/gst-inspect.c: (print_plugin_info):
25436 we don't use dashes in header names
25438 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25440 * check/Makefile.am:
25441 * check/gst/.cvsignore:
25442 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25443 (gst_pipeline_suite), (main):
25444 adding a test for pipelines and state changes
25445 * gst/gstutils.c: (get_state_func):
25447 * gstreamer.spec.in:
25450 2005-09-08 Michael Smith <msmith@fluendo.com>
25452 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25453 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25454 (gst_file_src_is_seekable), (gst_file_src_get_size),
25455 (gst_file_src_start):
25456 * gst/elements/gstfilesrc.h:
25457 Various fixes for unseekable, unmmapable, and non-normal files, so
25458 that fallback to read() rather than mmap() works.
25459 * gst/gstevent.c: (gst_event_new_newsegment):
25460 Allow newsegment events with segment_start == segment_end, as will
25461 correctly happen if you use filesrc on a zero-size file, for
25464 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25466 * gst/gstplugin.c: (gst_plugin_load_file):
25467 Call g_module_close when we don't load the module
25469 * gst/registries/gstlibxmlregistry.c:
25470 (gst_xml_registry_get_property):
25471 Port leak fix from 0.8
25473 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25475 * docs/gst/gstreamer-docs.sgml:
25476 * docs/gst/tmpl/.cvsignore:
25477 * docs/gst/tmpl/gsttrace.sgml:
25478 * docs/gst/tmpl/gsttrashstack.sgml:
25481 * gst/gstelement.h:
25483 * gst/gstmessage.c:
25484 * gst/gstmessage.h:
25487 * gst/gsttaginterface.c:
25488 * gst/gsttaginterface.h:
25489 * gst/gsttaglist.c:
25490 * gst/gsttaglist.h:
25491 * gst/gsttagsetter.c:
25492 * gst/gsttagsetter.h:
25495 * gst/gsttrashstack.c:
25496 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25497 inlined docs for gsttrace, gsttrashstack
25499 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25502 * gst/elements/gstbufferstore.h:
25503 * gst/elements/gsttypefindelement.c:
25504 * gst/elements/gsttypefindelement.h:
25506 * gst/gsttypefind.c:
25507 * gst/gsttypefind.h:
25508 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25509 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25510 (gst_type_find_factory_dispose),
25511 (gst_type_find_factory_unload_thyself),
25512 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25513 (gst_type_find_factory_get_caps),
25514 (gst_type_find_factory_get_extensions),
25515 (gst_type_find_factory_call_function):
25516 * gst/gsttypefindfactory.h:
25517 * gst/registries/gstlibxmlregistry.c:
25518 * gst/registries/gstxmlregistry.c:
25519 splitted gsttypefind into gsttypefind, gsttypefindfactory
25521 2005-09-07 Andy Wingo <wingo@pobox.com>
25523 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25524 condition whereby the pad's task function is entered before the
25525 pad_mode variable was set.
25527 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25529 * gst/gstpad.c: (gst_pad_alloc_buffer):
25530 Catch misbehaving pad_alloc functions that don't
25531 set up caps and do it for them.
25533 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25535 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25536 test for pipe!=NULL
25537 * docs/gst/tmpl/.cvsignore:
25538 * docs/gst/tmpl/gstmemchunk.sgml:
25539 * docs/gst/tmpl/gstparse.sgml:
25540 * docs/gst/tmpl/gsttaglist.sgml:
25541 * docs/gst/tmpl/gsttagsetter.sgml:
25542 * docs/gst/tmpl/gsttypefind.sgml:
25543 * docs/gst/tmpl/gsttypefindfactory.sgml:
25544 * gst/gstmemchunk.c:
25547 * gst/gsttaginterface.c:
25548 * gst/gsttypefind.c:
25549 * gst/gsttypefind.h:
25552 === release 0.9.2 ===
25554 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25559 releasing 0.9.2, "South"
25561 2005-09-05 Andy Wingo <wingo@pobox.com>
25563 * gst/registries/gstxmlregistry.h:
25564 * gst/registries/gstxmlregistry.c: Um... resurrect...
25566 * gst/registries/gstxmlregistry.h:
25567 * gst/registries/gstxmlregistry.c: and update to newer API.
25568 Incidentally they should be a bit faster now that they don't have
25571 2005-09-05 Andy Wingo <wingo@pobox.com>
25573 * gst/registries/gstxmlregistry.h:
25574 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25575 replaced by the libxml registry a while back
25577 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25579 * docs/gst/tmpl/gstplugin.sgml:
25580 * gst/elements/gstelements.c:
25582 * gst/gstplugin.c: (gst_plugin_register_func),
25583 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25584 (gst_plugin_get_source):
25586 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25587 (gst_xml_registry_save_plugin):
25588 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25589 (gst_xml_registry_save_plugin):
25590 * tools/gst-inspect.c: (print_plugin_info):
25591 add a "source" plugin description field, to represent the source
25592 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25593 will set it to PACKAGE, which is automake's idea of the name of
25594 the source project.
25596 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25601 * docs/Makefile.am:
25602 * docs/faq/Makefile.am:
25603 * docs/gst/tmpl/gstelement.sgml:
25604 * docs/gst/tmpl/gsttypes.sgml:
25605 * docs/htmlinstall.mak:
25606 * docs/manual/Makefile.am:
25607 * docs/pwg/Makefile.am:
25608 reorganize doc build a little
25609 split out docbook and gtk-doc stuff
25610 have two separate --enable's and enable them through autogen
25611 but disable by default in configure (to be similar to other
25613 * gstreamer.spec.in:
25614 clean up docs install
25632 translation updates
25634 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25636 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25639 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25640 (gst_fake_sink_change_state):
25641 Make state change function thread-safe.
25643 * gst/gstpad.c: (gst_pad_alloc_buffer):
25644 Set offset on generic buffer allocated by fallback.
25646 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25648 * docs/gst/gstreamer-sections.txt:
25649 * docs/gst/tmpl/gstelement.sgml:
25651 * libs/gst/controller/gst-controller.c:
25652 (gst_controlled_property_set_interpolation_mode),
25653 (gst_controlled_property_new),
25654 (gst_controller_find_controlled_property):
25655 run the wingo-magic script against the docs
25657 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25659 * docs/gst/gstreamer-docs.sgml:
25660 * docs/gst/gstreamer-sections.txt:
25661 * docs/gst/tmpl/.cvsignore:
25662 * docs/gst/tmpl/gstelementdetails.sgml:
25663 * docs/gst/tmpl/gstelementfactory.sgml:
25666 * gst/gstelementfactory.c:
25667 * gst/gstelementfactory.h:
25668 merged elementdetails docs into elementfactory docs
25671 2005-09-02 Andy Wingo <wingo@pobox.com>
25673 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25674 consider this enum an enum and not a flags.
25676 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25678 * docs/gst/gstreamer-docs.sgml:
25679 * docs/gst/tmpl/.cvsignore:
25680 * docs/gst/tmpl/gstghostpad.sgml:
25681 * docs/gst/tmpl/gstiterator.sgml:
25682 * docs/gst/tmpl/gstmacros.sgml:
25683 * docs/gst/tmpl/gstrealpad.sgml:
25684 * docs/gst/tmpl/gstregistry.sgml:
25685 * docs/gst/tmpl/gstregistrypool.sgml:
25686 * docs/gst/tmpl/gststructure.sgml:
25687 * docs/gst/tmpl/gstsystemclock.sgml:
25688 * docs/gst/tmpl/gsttrace.sgml:
25689 * gst/gstghostpad.c:
25691 * gst/gstmemchunk.c:
25692 * gst/gstmemchunk.h:
25694 * gst/gstregistry.c:
25695 * gst/gstregistrypool.c:
25696 * gst/gststructure.c:
25697 * gst/gstsystemclock.c:
25700 2005-09-02 Andy Wingo <wingo@pobox.com>
25702 * gst/gstelement.h (GstState): Renamed from GstElementState,
25703 changed to be a normal enum instead of flags.
25704 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25705 munged to be GST_STATE_CHANGE_*.
25706 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25707 work with the new state representation.
25708 (GstStateChange): New enumeration of possible state transitions.
25709 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25710 (GstElementClass::change_state): Pass the GstStateChange along as
25711 an argument. Helps language bindings, so they don't have to use
25712 tricky lock-needing macros like GST_STATE_CHANGE ().
25714 * scripts/update-states (file): New script. Run it on a file to
25715 update it for state naming and API changes. Updates files in
25718 * All files updated for the new API.
25720 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25722 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25723 * gst/gstutils.c: (gst_util_set_value_from_string),
25724 (gst_util_set_object_arg):
25725 fix a bunch of unchecked return values
25726 * tools/gst-complete.c: (main):
25727 * gstreamer.spec.in:
25730 2005-09-01 Wim Taymans <wim@fluendo.com>
25732 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25733 (gst_base_sink_event), (gst_base_sink_do_sync),
25734 (gst_base_sink_handle_event):
25735 * gst/base/gstbasesink.h:
25736 Handle newsegments more correctly.
25741 * gst/gstevent.c: (gst_event_new_newsegment):
25742 A newsegment cannot have a start_time of -1
25744 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25746 * win32/gstenumtypes.c:
25747 * win32/gstenumtypes.h:
25750 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25752 * libs/gst/controller/gst-controller.c:
25753 (gst_controlled_property_set_interpolation_mode),
25754 (gst_controlled_property_new):
25755 fixed boolean again
25757 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25759 * docs/faq/gst-uninstalled:
25764 * gst/gstutils.c: (gst_element_link_filtered):
25766 add gst_element_link_filtered
25768 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25770 * docs/gst/gstreamer-docs.sgml:
25771 * docs/gst/gstreamer-sections.txt:
25772 * docs/gst/tmpl/.cvsignore:
25773 * docs/gst/tmpl/gsterror.sgml:
25774 * docs/gst/tmpl/gstfilter.sgml:
25775 * docs/gst/tmpl/gsturihandler.sgml:
25776 * docs/gst/tmpl/gsturitype.sgml:
25777 * docs/gst/tmpl/gstutils.sgml:
25778 * docs/gst/tmpl/gstxml.sgml:
25783 * gst/gsturitype.c:
25786 inlined more docs, fixed double id-ref
25788 2005-08-31 Wim Taymans <wim@fluendo.com>
25790 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25791 (gst_base_transform_handle_buffer):
25792 Passthrough elements don't need the caps as they don't care.
25794 2005-08-31 Wim Taymans <wim@fluendo.com>
25796 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25797 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25798 Don't leak refcounts on buffers.
25800 2005-08-31 Wim Taymans <wim@fluendo.com>
25802 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25803 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25804 (gst_base_transform_chain), (gst_base_transform_change_state):
25805 * gst/base/gstbasetransform.h:
25806 Handle the case where we are not negotiated more gracefully.
25808 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25810 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25811 (gst_file_src_map_region):
25812 Set READONLY flag on mmap'ed buffers, otherwise
25813 gst_buffer_make_writable() won't work properly (#314708).
25815 2005-08-31 Wim Taymans <wim@fluendo.com>
25817 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25818 passthrough elements can even do inplace on non writable
25819 buffers (as they don't touch them).
25821 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25823 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25824 (gst_test_mono_source_set_property),
25825 (gst_test_mono_source_class_init), (GST_START_TEST),
25826 (gst_controller_suite):
25827 more tests (hehe I have the most)
25829 describe popping messages whenusing mulltiple sources
25830 * libs/gst/controller/gst-controller.c:
25831 (gst_controlled_property_set_interpolation_mode),
25832 (gst_controlled_property_new):
25833 * libs/gst/controller/gst-controller.h:
25834 * libs/gst/controller/gst-interpolation.c:
25835 implement boolean properties
25837 2005-08-31 Wim Taymans <wim@fluendo.com>
25839 * gst/gstminiobject.c: (gst_mini_object_ref):
25840 Cannot assert that the refcount has to be positive
25841 since a disposed object can be resurrected.
25843 2005-08-31 Wim Taymans <wim@fluendo.com>
25845 * gst/gstpad.c: (gst_pad_init):
25846 Revert change, need to first fix badly behaving
25849 2005-08-30 Wim Taymans <wim@fluendo.com>
25851 * check/elements/fakesrc.c: (setup_fakesrc):
25852 * check/elements/identity.c: (setup_identity):
25853 Activate pads before using them.
25855 2005-08-30 Wim Taymans <wim@fluendo.com>
25857 * gst/base/gstadapter.c: (gst_adapter_flush):
25858 Flushing out 0 bytes is ok for this function.
25860 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25861 no newsegment gives a warning and sets the start/stop to
25864 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25865 (gst_base_transform_set_passthrough):
25868 * gst/gstminiobject.c: (gst_mini_object_ref):
25869 Check refcount here too.
25871 * gst/gstpad.c: (gst_pad_init):
25872 Pads are initially flushing and refusing data.
25874 * gst/gstutils.c: (gst_element_link_pads_filtered):
25875 When adding a capsfilter element make sure it has the
25876 same state as the parent bin.
25878 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25880 * docs/gst/tmpl/.cvsignore:
25881 * docs/gst/tmpl/gstformat.sgml:
25882 * docs/gst/tmpl/gstversion.sgml:
25886 * gst/gstversion.h.in:
25887 more docs and two more inlined
25889 2005-08-30 Wim Taymans <wim@fluendo.com>
25891 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25892 Don't sync to clock.
25894 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25896 * docs/gst/gstreamer-sections.txt:
25897 ultral33t func10ns deserve to appear in the docs actually
25898 * docs/gst/tmpl/.cvsignore:
25899 * docs/gst/tmpl/gstcompat.sgml:
25900 * docs/gst/tmpl/gstconfig.sgml:
25901 * gst/check/gstcheck.c:
25903 * gst/gstconfig.h.in:
25906 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25908 * docs/gst/tmpl/.cvsignore:
25909 * docs/gst/tmpl/gstquery.sgml:
25910 * docs/gst/tmpl/gstutils.sgml:
25913 inlined and extended docs
25915 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25917 * check/gst-libs/controller.c: (GST_START_TEST),
25918 (gst_controller_suite):
25920 * docs/gst/tmpl/gstutils.sgml:
25921 * docs/libs/gstreamer-libs-sections.txt:
25922 * docs/libs/tmpl/gstdataprotocol.sgml:
25924 * examples/controller/audio-example.c: (main):
25925 controller example works now
25928 * tools/gst-inspect.c: (print_element_properties_info):
25929 show param spec flags
25931 2005-08-29 Andy Wingo <wingo@pobox.com>
25933 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25935 2005-08-28 Andy Wingo <wingo@pobox.com>
25937 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25938 as having two arguments instead of just one. Allows superclasses
25939 to access information on subclasses -- see the terrible for() loop
25940 in gtype.c:g_type_create_instance for the reason why. All callers
25943 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25945 * docs/design/part-messages.txt:
25947 * docs/gst/tmpl/.cvsignore:
25948 * docs/gst/tmpl/gstcaps.sgml:
25949 * docs/gst/tmpl/gstclock.sgml:
25955 * gst/gstmessage.c:
25956 added descriptions for bus and message
25957 inline caps and clock docs
25959 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25961 * gst/gstmessage.c:
25962 * gst/gstmessage.h:
25965 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25967 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25970 2005-08-26 Andy Wingo <wingo@pobox.com>
25972 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25973 element_set_state's return val.
25974 (test_2_elements): Add test that's been disabled for months.
25976 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25977 can-activate-pull properties.
25979 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25980 can-activate-pull properties. Implement is_seekable so fakesrc can
25981 operate in pull mode.
25983 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25985 (gst_base_sink_activate, gst_base_sink_activate_pull)
25986 (gst_base_sink_activate_push): Make activation mode choosing work.
25988 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25989 is right. Make pull mode work. Post an eos before pausing in pull
25991 (gst_base_sink_change_state): Pay attention to the core's
25992 change_state() return val.
25994 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25995 has-getrange properties. Cleanups.
25997 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25998 has_getrange and replace with can_activate_pull and
26001 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
26002 locking comments. Remove has_loop, has_chain and replace with
26003 can_activate_pull and can_activate_push.
26005 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
26008 * examples/Makefile.am:
26009 * examples/metadata/Makefile.am:
26010 * examples/metadata/read-metadata.c: (message_loop),
26011 (have_pad_handler), (make_pipeline), (print_tag), (main):
26012 Add metadata reading example that loops over a list of filenames,
26013 dumping any tags found.
26015 * gst/gstbus.c: (gst_bus_dispose):
26016 * gst/gstelement.c: (gst_element_dispose):
26017 Release a few potentially-held references in dispose.
26019 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26021 * docs/gst/tmpl/gstminiobject.sgml:
26022 do *not* add tmpl/*.sgml files to CVS!
26024 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26026 * libs/gst/bytestream/.cvsignore:
26027 * libs/gst/bytestream/Makefile.am:
26028 * libs/gst/bytestream/adapter.c:
26029 * libs/gst/bytestream/adapter.h:
26030 * libs/gst/bytestream/bytestream.c:
26031 * libs/gst/bytestream/bytestream.h:
26032 * libs/gst/bytestream/filepad.c:
26033 * libs/gst/bytestream/filepad.h:
26034 removing obsolete files
26036 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26038 * docs/gst/gstreamer-docs.sgml:
26039 * docs/libs/gstreamer-libs-docs.sgml:
26040 disabed additional index entries again, as this makes docs-gen just
26041 slow and they aren't useful yet
26042 * docs/libs/gstreamer-libs-sections.txt:
26043 little -section.txt cleanup for libs
26045 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
26047 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26048 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26049 fix up some debugging
26050 (gst_base_transform_get_unit_size),
26051 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26052 (gst_base_transform_handle_buffer):
26053 * gst/base/gstbasetransform.h:
26054 handle and store timed NEWSEGMENT events so that subclasses that
26055 calculate time by counting samples have a segment_start time they
26056 need to add to their timestamps - see audioresample
26058 2005-08-26 Stefan Kost <ensonic@users.sf.net>
26061 removed ';' from the end of macro defs
26062 * docs/gst/gstreamer-docs.sgml:
26063 * docs/gst/gstreamer-sections.txt:
26064 * docs/gst/tmpl/.cvsignore:
26066 * gst/gstelement.c: (gst_element_class_init),
26067 (gst_element_set_state), (activate_pads),
26068 (gst_element_save_thyself):
26069 * gst/gstevent.c: (gst_event_new_newsegment):
26071 * gst/gstiterator.c:
26072 * gst/gstiterator.h:
26075 * gst/gstutils.c: (gst_pad_query_convert):
26077 fixed parameter name mismatches between source, header and docs
26078 added some more docs, resolved the last batch of unused elements in
26079 docs (now someone needs to doc them)
26081 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26083 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26084 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26085 don't walk through the plugins backwards. Where is all this
26086 reversed logic coming from ?
26088 2005-08-25 Wim Taymans <wim@fluendo.com>
26090 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26091 (gst_base_transform_transform_size),
26092 (gst_base_transform_configure_caps),
26093 (gst_base_transform_get_unit_size),
26094 (gst_base_transform_buffer_alloc),
26095 (gst_base_transform_change_state):
26096 * gst/base/gstbasetransform.h:
26097 Cache caps unit_size.
26098 Make sure we cannot negotiate up and downstream at the
26101 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26103 * gst/gst.c: (init_pre), (init_post):
26104 register the installed plugin path after the env var
26105 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26106 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26107 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26108 directories, so the tests can prefer uninstalled over installed
26110 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26112 * gst/base/gstbasetransform.h:
26117 2005-08-25 Wim Taymans <wim@fluendo.com>
26119 * gst/gstbin.c: (bin_bus_handler):
26120 Be a bit more conservative about the posted message.
26122 * gst/gstbus.c: (gst_bus_post):
26123 Some cleanups, warn wrong return values.
26125 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26127 * check/gst/gstbin.c: (GST_START_TEST):
26128 * gst/gstbin.c: (bin_bus_handler):
26129 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26130 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26131 (gst_message_new_warning), (gst_message_new_tag),
26132 (gst_message_new_state_changed), (gst_message_new_segment_start),
26133 (gst_message_new_segment_done), (gst_message_new_custom):
26134 * gst/gstmessage.h:
26135 * tools/gst-launch.c: (event_loop):
26136 * tools/gst-md5sum.c: (event_loop):
26137 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26139 2005-08-25 Wim Taymans <wim@fluendo.com>
26141 * check/generic/states.c: (GST_START_TEST):
26142 Cleanup can be done at the end.
26144 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26145 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26146 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26147 Oh boy.. Thanks for finding this, Thomas.
26149 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26151 * docs/gst/gstreamer.types:
26152 added missing types
26154 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26156 * docs/gst/gstreamer-docs.sgml:
26157 * docs/gst/gstreamer-sections.txt:
26158 * docs/gst/tmpl/.cvsignore:
26160 * gst/gstiterator.c:
26162 * gst/registries/gstxmlregistry.h:
26163 added missing classes and symbols (123 more to go)
26164 removed removed symbols from section file
26165 fixed many doc-comments
26167 2005-08-24 Wim Taymans <wim@fluendo.com>
26169 * check/generic/states.c: (GST_START_TEST):
26170 Make sure all tasks are stopped.
26172 * check/gst/gstbin.c: (GST_START_TEST):
26173 Unref after usage for proper valgrinding.
26175 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26176 Really wait for the task to stop before destroying the
26179 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26180 (gst_queue_src_activate_push):
26181 Small cleanups. Don't stop the task when we did not start
26184 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26185 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26186 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26189 Protect the stream lock with the object lock.
26190 Disallow setting the stream lock when running.
26191 Add cleanup_all to wait for the threadpool to finish.
26192 Remove code to autoallocate a mutex if none was provided.
26193 Add _join() to wait for a task to stop.
26194 Protect the thread pool with a global lock.
26196 2005-08-24 Wim Taymans <wim@fluendo.com>
26198 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26199 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26200 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26201 * gst/base/gstbasesink.h:
26202 Handle newsegment events correctly.
26203 Drop buffers out of the segment range.
26205 2005-08-22 Andy Wingo <wingo@pobox.com>
26207 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26208 macro, implements an interface and gstimplementsinterface for a
26211 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26213 * check/Makefile.am:
26214 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26215 add a test that does a bunch of state changes on elements
26216 needs some fixing for valgrind
26217 * check/states/sinks.c: (gst_object_suite):
26220 add prototype for gst_caps_is_equal_fixed
26222 * gst/gstregistrypool.c:
26225 2005-08-24 Andy Wingo <wingo@pobox.com>
26227 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26228 convert a negative value. Doesn't make much sense. Mostly this is
26229 here to force callers to ensure -1 maps to -1.
26231 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26233 * docs/pwg/advanced-types.xml:
26234 Well done to Michael for catching my deliberate introduction
26235 of this spelling mistake.
26236 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26237 * gst/gstelement.h:
26238 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26239 unlink pads before removing the element from the bin.
26241 2005-08-24 Andy Wingo <wingo@pobox.com>
26243 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26244 the same thing as GST_DEBUG=*:4.
26245 (parse_debug_level, parse_debug_category): New helper parsers.
26247 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26249 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26250 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26251 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26252 (gst_base_transform_buffer_alloc),
26253 (gst_base_transform_handle_buffer):
26254 use gboolean return values and pointers to size so we can use the
26255 full GST_BUFFER_SIZE range (guint) for buffer sizes
26256 use GstPadDirection for transform_caps
26257 * gst/base/gstbasetransform.h:
26258 rename get_size to get_unit_size since that's what it is
26259 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26260 use GstPadDirection for transform_caps
26261 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26263 cleanup and debugging
26265 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26267 * gst/gstelement.c: (gst_element_class_init),
26268 (gst_element_set_state), (activate_pads),
26269 (gst_element_save_thyself):
26270 * tools/gst-compprep.c: (main):
26271 * tools/gst-inspect.c: (print_element_properties_info):
26272 * tools/gst-xmlinspect.c: (print_element_properties):
26273 Fixed long standing mem-leak
26275 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26277 * check/gst/gstbin.c: (GST_START_TEST):
26278 * gst/gstbin.c: (bin_bus_handler):
26279 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26280 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26281 (gst_message_new_warning), (gst_message_new_tag),
26282 (gst_message_new_state_changed), (gst_message_new_segment_start),
26283 (gst_message_new_segment_done), (gst_message_new_custom):
26284 * gst/gstmessage.h:
26285 * tools/gst-launch.c: (event_loop):
26286 * tools/gst-md5sum.c: (event_loop):
26287 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26288 that applications can sensibly post custom messages with references
26289 to their own objects.
26291 2005-08-24 Andy Wingo <wingo@pobox.com>
26293 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26296 2005-08-24 Wim Taymans <wim@fluendo.com>
26298 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26299 (gst_base_transform_transform_caps),
26300 (gst_base_transform_transform_size),
26301 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26302 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26303 (gst_base_transform_handle_buffer):
26304 * gst/base/gstbasetransform.h:
26305 Many fixes and new features added by Thomas. Can now also do
26306 transforms with variable sizes and a custom fixate_caps function.
26308 2005-08-24 Wim Taymans <wim@fluendo.com>
26310 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26314 Cast to ClockTime before formatting to time.
26319 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26321 * check/gst-libs/controller.c: (GST_START_TEST),
26322 (gst_controller_suite):
26323 * docs/gst/tmpl/gstcaps.sgml:
26324 * docs/gst/tmpl/gstghostpad.sgml:
26325 * docs/gst/tmpl/gstquery.sgml:
26326 * docs/gst/tmpl/gstutils.sgml:
26327 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26328 (gst_object_sink_values), (gst_object_get_value_arrays),
26329 (gst_object_get_value_array):
26330 gracefully handle helper method calls to objects that are not beeing
26331 controlled, added test case for that
26333 2005-08-23 Wim Taymans <wim@fluendo.com>
26335 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26336 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26337 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26338 (gst_event_parse_qos), (gst_event_new_seek),
26339 (gst_event_parse_seek):
26341 Some more debugging output and doc cleanups.
26343 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26344 Fix possible deadlock.
26346 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26348 * docs/gst/gstreamer-docs.sgml:
26349 * docs/gst/gstreamer-sections.txt:
26350 * docs/gst/gstreamer.types:
26351 * docs/gst/tmpl/.cvsignore:
26354 * gst/gstelement.c:
26356 added 100 symbols from gstreamer-unused.txt to the right sections
26357 fixed more broken comments
26358 added GstBus to docs
26360 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26362 * docs/gst/gstreamer-sections.txt:
26363 * docs/gst/tmpl/.cvsignore:
26364 * docs/gst/tmpl/gstbin.sgml:
26365 * docs/gst/tmpl/gstbuffer.sgml:
26366 * gst/base/gstbasesrc.c:
26367 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26370 * tools/gst-launch.1.in:
26371 inlined more doc comments, added missing comments and fixed comments
26374 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26376 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26380 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26382 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26383 * gst/gststructure.h:
26384 add a fixate function for booleans; add a FIXME that these func
26385 names should probably be gst_structure_fixate_*
26387 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26389 * docs/gst/gstreamer-docs.sgml:
26390 * docs/gst/gstreamer-sections.txt:
26392 * gst/gstbin.c: (gst_bin_get_type),
26393 (gst_bin_child_proxy_get_child_by_index),
26394 (gst_bin_child_proxy_get_children_count),
26395 (gst_bin_child_proxy_init):
26396 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26397 (gst_child_proxy_get_child_by_index),
26398 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26399 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26400 (gst_child_proxy_get), (gst_child_proxy_set_property),
26401 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26402 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26403 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26404 * gst/gstchildproxy.h:
26405 * gst/parse/grammar.y:
26406 * tools/gst-inspect.c: (print_interfaces),
26407 (print_element_properties_info), (print_element_info):
26408 ported gstchildproxy over from 0.8
26409 ported gst-inspect fixes and enhancements over from 0.8
26411 2005-08-22 Wim Taymans <wim@fluendo.com>
26413 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26414 (gst_base_transform_handle_buffer):
26415 Also call the transform function if we have ANY caps.
26417 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26420 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26422 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26423 Don't pretend to handle seek events if the source is not seekable
26425 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26427 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26428 Remove extra parameter to debug output
26430 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26431 (gst_base_src_do_seek), (gst_base_src_activate_push):
26432 Fix seek event handling.
26434 * gst/gstpipeline.c: (gst_pipeline_change_state):
26435 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26436 (gst_queue_src_activate_push):
26437 Don't start the src pad task on FLUSH_STOP if the pad
26441 2005-08-22 Wim Taymans <wim@fluendo.com>
26443 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26444 Added check for gst_static_caps_get() refcounting.
26446 2005-08-22 Wim Taymans <wim@fluendo.com>
26448 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26449 Make _static_caps_get() refcounting sane.
26451 * gst/gstelement.c: (gst_element_set_state):
26452 Add g_return_val_if_fail() to protect against segfaults.
26454 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26456 * docs/gst/tmpl/gstevent.sgml:
26459 inlined remaining docs, added missing doc comments
26461 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26463 * check/gst/gstbin.c: (GST_START_TEST):
26464 since we don't know when preroll is done, use refcount range
26466 * gst/check/gstcheck.h:
26467 add macro for checking refcount range
26469 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26471 * check/Makefile.am:
26472 clean up environment for when registry gets built versus
26473 when actual tests are run; valgrind seems to not report
26474 leaks if GST_PLUGIN_PATH is set to some specific values
26475 * check/gst/gstbin.c: (GST_START_TEST):
26476 add more refcounting checks; maybe this exposes a
26478 * common/check.mak:
26479 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26480 * gst/check/gstcheck.h:
26481 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26482 (gst_bin_change_state):
26483 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26484 add/fix debugging/whitespace
26486 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26488 * check/gst/gstevent.c: (event_probe), (test_event),
26490 Er, don't call gst_bin_watch_for_state_change you idiot.
26492 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26494 * check/Makefile.am:
26495 Use CHECK_CFLAGS and CHECK_LIBS
26496 * check/gst/gstevent.c: (event_probe), (test_event),
26499 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26500 (gst_base_src_start), (gst_base_src_stop),
26501 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26502 (gst_base_src_change_state):
26503 Sprinkle gst_base_src_stop liberally around error paths to fix
26504 problems reusing a source after failed state changes.
26505 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26506 (helper_find_suggest), (gst_type_find_helper):
26507 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26509 * docs/gst/tmpl/gstevent.sgml:
26510 Migrate part of the docs from the SGML file. Wait for ensonic to
26511 tell me how I did it wrong ;)
26512 * tools/gst-typefind.c: (main):
26513 Extra robustness to state changes between files.
26515 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26517 * check/Makefile.am:
26518 don't valgrind the controller test - it's leaking - Stefan, HELP
26519 * gst/check/gstcheck.c: (gst_check_message_error),
26520 (gst_check_chain_func), (gst_check_setup_element),
26521 (gst_check_teardown_element), (gst_check_setup_src_pad),
26522 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26523 (gst_check_teardown_sink_pad):
26524 * gst/check/gstcheck.h:
26525 add a bunch of methods to set up elements, and src and sink pads
26526 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26527 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26530 * gst/gstmessage.c:
26532 whitespace/doc fixes
26534 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26536 * gst/gstelement.h:
26537 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26538 be handled by the application and not always printed as well
26540 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26542 * check/Makefile.am:
26544 * gst/check/gstcheck.c: (gst_check_message_error):
26545 * gst/check/gstcheck.h:
26546 add a fail_unless_equals_int
26547 add fail_unless for error messages
26549 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26551 * check/Makefile.am:
26553 * common/Makefile.am:
26554 * common/check.mak:
26556 factor out some of the common stuff so we can use it
26558 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26560 * check/Makefile.am:
26561 * check/gst/gstiterator.c: (GST_START_TEST):
26562 * check/gst/gstsystemclock.c: (GST_START_TEST),
26563 (gst_systemclock_suite):
26564 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26566 valgrind more tests
26568 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26570 * check/elements/.cvsignore:
26571 * check/elements/gstfakesrc.c:
26572 rename to name of element
26573 * check/elements/identity.c: (chain_func), (event_func),
26574 (setup_identity), (cleanup_identity), (GST_START_TEST),
26575 (identity_suite), (main):
26576 add a test for identity
26577 * check/Makefile.am:
26578 * pkgconfig/Makefile.am:
26579 * pkgconfig/gstreamer-check.pc.in:
26580 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26584 move the check stuff to a library that gets installed
26585 * check/gst-libs/controller.c: (GST_START_TEST):
26586 * check/gst-libs/gdp.c:
26587 * check/gst/gst.c: (GST_START_TEST):
26588 * check/gst/gstbin.c:
26589 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26590 * check/gst/gstbus.c:
26591 * check/gst/gstcaps.c: (GST_START_TEST):
26592 * check/gst/gstelement.c:
26593 * check/gst/gstghostpad.c:
26594 * check/gst/gstiterator.c:
26595 * check/gst/gstmessage.c:
26596 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26597 * check/gst/gstobject.c:
26598 * check/gst/gstpad.c: (GST_START_TEST):
26599 * check/gst/gststructure.c: (GST_START_TEST):
26600 * check/gst/gstsystemclock.c: (GST_START_TEST),
26601 (gst_systemclock_suite):
26602 * check/gst/gsttag.c: (gst_tag_suite):
26603 * check/gst/gstvalue.c:
26604 * check/pipelines/cleanup.c:
26605 * check/pipelines/simple_launch_lines.c:
26606 * check/states/sinks.c:
26607 change include statement
26609 * docs/gst/gstreamer-sections.txt:
26610 * docs/gst/tmpl/gstpad.sgml:
26611 document more pad stuff
26612 * gst/gstminiobject.c: (gst_mini_object_ref),
26613 (gst_mini_object_unref):
26616 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26618 * docs/gst/tmpl/gst.sgml:
26620 eliminate another tmpl file, fix spelling in the long-description
26622 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26624 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26625 (test_event), (timediff), (gstevents_suite):
26626 Should fix build on 64-bit arch's
26628 2005-08-18 Andy Wingo <wingo@pobox.com>
26630 Make sure that when a pipeline goes to PLAYING, that data has
26631 actually hit the sink.
26633 * check/states/sinks.c (test_sink): A sink that doesn't get any
26634 data shouldn't return SUCCESS for going to either PLAYING or
26635 PAUSED. Test also the return values on the way back down.
26637 * gst/gstelement.c (gst_element_set_state): When changing the
26638 state of an element currently changing state asynchronously, go to
26639 lost-state after commiting the pending state. Makes future calls
26640 to get_state continue to return ASYNC.
26642 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26643 ASYNC when going to PLAYING if we still don't have preroll, as can
26644 happen with live sources.
26646 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26648 * docs/pwg/advanced-types.xml:
26649 Hack long paragraph into 2 chunks as a workaround for buggy
26650 jadetex version in sid and breezy that loops infinitely and
26653 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26655 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26656 (test_event), (timediff), (gstevents_suite):
26657 Provide more error margin in clock measurements to allow for
26658 g_get_current_time inaccuracies.
26660 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26662 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26663 (test_event), (timediff), (gstevents_suite):
26664 Fix error message output so I might be able to tell why the
26665 test works here but fails on the build farm.
26667 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26669 * check/Makefile.am:
26670 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26671 (test_event), (timediff), (gstevents_suite), (main):
26674 * docs/design/part-seeking.txt:
26675 Spelling correction
26677 * docs/gst/tmpl/gstevent.sgml:
26678 * docs/gst/tmpl/gstfakesrc.sgml:
26681 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26682 Treat a buffer-without-newsegment the same as a receiving
26683 a newsegment not in time format, and disable syncing to the clock
26686 * gst/gstbus.c: (gst_bus_set_sync_handler):
26687 Assert if anyone tries to replace the existing sync_handler for bus,
26688 as only the owner should be setting it.
26691 Have a fixed set of custom event enums with events identified by
26692 their structure name (as in 0.8), rather than a free-for-all
26693 allowing collisions between enum values from different plugins.
26695 * gst/gstpad.c: (gst_pad_class_init):
26698 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26699 Handle out-of-band downstream events from the sending thread.
26701 2005-08-17 Andy Wingo <wingo@pobox.com>
26703 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26704 play-timeout==0 to mean no timeout at all. In that case, don't
26705 bother with a get_state or a warning, just return directly, even
26708 * gst/base/gstbasetransform.c: Debug changes.
26711 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26712 ensure bins post state change messages. A bit of a hack but I can't
26713 think of a way to avoid it.
26715 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26717 2005-08-16 Andy Wingo <wingo@pobox.com>
26719 * gst/base/gstadapter.h:
26720 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26721 peek() but you own the data. Not terribly efficient atm.
26723 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26725 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26726 (gst_element_found_tags):
26728 Add two utility functions for tag handling.
26730 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26732 * docs/manual/advanced-dataaccess.xml:
26733 * docs/manual/basics-helloworld.xml:
26734 Fix docs to use _bin_add() before _link(), which fixes the examples
26735 with recent core versions (reported by Madhan Raj M
26736 <raj_madan@rediffmail.com>, #313199).
26738 2005-08-16 Wim Taymans <wim@fluendo.com>
26740 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26741 Added subtract checks.
26743 * docs/design/part-events.txt:
26744 Some more docs about newsegment
26746 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26749 * gst/gstcaps.c: (gst_caps_to_string):
26750 Add comments, cleanups.
26752 * gst/gstelement.c: (gst_element_save_thyself):
26755 * gst/gstvalue.c: (gst_value_collect_int_range),
26756 (gst_string_unwrap), (gst_value_union_int_int_range),
26757 (gst_value_union_int_range_int_range),
26758 (gst_value_intersect_int_int_range),
26759 (gst_value_intersect_int_range_int_range),
26760 (gst_value_intersect_double_double_range),
26761 (gst_value_intersect_double_range_double_range),
26762 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26763 (gst_value_subtract_int_range_int),
26764 (gst_value_subtract_double_range_double),
26765 (gst_value_subtract_double_range_double_range),
26766 (gst_value_subtract_from_list), (gst_value_subtract_list),
26767 (gst_value_can_compare), (gst_value_compare_fraction):
26768 Cleanups, add comments, remove unneeded asserts.
26770 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26772 * tools/gst-launch.c: (event_loop):
26773 don't convert NULL structures to strings
26775 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26777 * docs/gst/gstreamer-sections.txt:
26778 made some defines private
26779 * docs/gst/tmpl/gstconfig.sgml:
26780 * docs/gst/tmpl/gstqueue.sgml:
26781 * docs/gst/tmpl/gsttaglist.sgml:
26782 * docs/gst/tmpl/gsttypes.sgml:
26783 * docs/gst/tmpl/gstutils.sgml:
26784 * docs/pwg/appendix-porting.xml:
26785 * gst/base/gstbasesink.h:
26786 * gst/base/gstbasesrc.c:
26787 * gst/base/gstbasesrc.h:
26788 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26789 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26790 * gst/gstelement.c: (gst_element_class_init):
26791 * gst/gstpad.c: (gst_pad_class_init):
26792 * gst/gstqueue.c: (gst_queue_class_init):
26793 * gst/gstxml.c: (gst_xml_class_init):
26794 documented all undocumented signal inline
26795 * libs/gst/controller/gst-controller.h:
26798 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26800 * docs/pwg/appendix-porting.xml:
26801 Document _set_link_function -> _set_setcaps_function.
26803 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26805 * check/Makefile.am:
26806 add a .check target for running the check
26807 * check/gst-libs/controller.c: (GST_START_TEST):
26809 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26810 complete checks for gstbuffer; would be nice if I could get the
26811 gcov stuff to work so I can see if I actually completed gstbuffer.c
26812 * check/gstcheck.h:
26813 add ASSERT_BUFFER_REFCOUNT
26815 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26817 * docs/gst/gstreamer-sections.txt:
26818 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26820 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26821 spew out a warning if a tag that is already registered
26822 is re-registered, unless it is re-registered with a
26823 different type (#308438).
26825 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26827 * docs/pwg/appendix-porting.xml:
26828 * docs/pwg/building-state.xml:
26829 Add some paragraphs about state changes in 0.9 to the PWG
26830 and the porting guide, in particular about the new meaning
26831 of GST_STATE_PAUSED and how to write state change functions
26832 with concurrent access by multiple threads in mind.
26834 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26836 * docs/gst/gstreamer-docs.sgml:
26837 * docs/libs/gstreamer-libs-docs.sgml:
26838 added deprecation and since indexes
26839 * libs/gst/controller/gst-controller.c:
26840 * libs/gst/controller/gst-helper.c:
26844 2005-08-11 Wim Taymans <wim@fluendo.com>
26846 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26847 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26848 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26849 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26850 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26851 (gst_ghost_pad_set_target):
26852 Actually implement (re)setting the target on a ghostpad
26853 as described in the docs.
26855 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26857 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26858 Check whether GST_DEBUG_NO_COLOR environment variable is
26859 set and disable coloured debug output if that is the case.
26861 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26863 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26864 (gst_type_find_helper):
26865 The memory returned by gst_type_find_peek() needs to
26866 stay valid until the end of a typefind function, and
26867 typefind functions may keep results from different
26868 offsets around, so we can't just unref the buffer from
26869 the previous _peek(), but have to save all buffers
26870 returned by _peek() until typefinding is done and only
26873 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26875 * docs/gst/gstreamer-sections.txt:
26877 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26879 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26881 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26882 Fix a pretty good memleak.
26884 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26886 * gst/gstiterator.h:
26887 Fix wrong include and 'make distcheck'.
26889 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26891 * gst/gstbin.c: (bin_bus_handler):
26892 Use gst_element_post_message() instead.
26894 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26896 * gst/base/gstadapter.h:
26897 * gst/base/gstbasesink.h:
26898 * gst/base/gstbasesrc.h:
26899 * gst/base/gstbasetransform.h:
26900 * gst/base/gstcollectpads.h:
26901 * gst/base/gstpushsrc.h:
26902 * gst/gstiterator.h:
26903 Add padding to our base elements' class and instance structs and
26904 to GstIterator (you will need to rebuild all plugins and apps!)
26906 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26908 * gst/gstbin.c: (bin_bus_handler):
26909 Make default message forwarding from child->bus to bin->bus
26910 threadsafe and make it not emit warnings if the parent has no bus.
26912 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26914 * gst/gstelement.c: (activate_pads):
26915 On paused->ready, set pad->caps to NULL, as is the documented
26916 behaviour in this state change. Fixes playback of series of
26917 media files when visualization is enabled in Totem.
26919 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26921 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26922 Allow NULL as filter-caps (which means "any").
26924 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26926 * docs/libs/gstreamer-libs-sections.txt:
26927 * libs/gst/controller/gst-controller.c:
26928 * libs/gst/controller/gst-controller.h:
26929 * libs/gst/controller/gst-helper.c:
26930 adding more entries to the docs and fix small doc-bugs
26932 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26934 * docs/gst/gstreamer-docs.sgml:
26935 * docs/gst/gstreamer-sections.txt:
26936 * docs/gst/gstreamer.types:
26937 * docs/gst/tmpl/gstbasesink.sgml:
26938 * docs/gst/tmpl/gstbasesrc.sgml:
26939 * docs/gst/tmpl/gstbasetransform.sgml:
26940 * docs/gst/tmpl/gstfakesrc.sgml:
26941 * gst/base/gstcollectpads.c:
26942 * gst/base/gstcollectpads.h:
26943 * libs/gst/controller/gst-controller.c:
26944 * libs/gst/controller/gst-controller.h:
26945 * libs/gst/controller/gst-helper.c:
26946 * libs/gst/controller/gst-interpolation.c:
26947 * libs/gst/controller/lib.c:
26948 added long/short desc for controller docs
26949 added collectpads base class docs
26950 added correct includes to base-class docs
26952 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26954 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26955 (gst_test_mono_source_set_property),
26956 (gst_test_mono_source_class_init), (GST_START_TEST),
26957 (gst_controller_suite):
26958 * docs/gst/gstreamer-docs.sgml:
26959 * docs/gst/gstreamer-sections.txt:
26960 * docs/gst/gstreamer.types:
26961 * docs/libs/gstreamer-libs-docs.sgml:
26962 * docs/libs/gstreamer-libs-sections.txt:
26963 * gst/base/gstadapter.c:
26964 * libs/gst/controller/gst-controller.c:
26965 (gst_controlled_property_new), (gst_controlled_property_free),
26966 (gst_controller_new_valist),
26967 (gst_controller_remove_properties_valist),
26968 (gst_controller_sink_values), (_gst_controller_finalize):
26969 * libs/gst/controller/gst-controller.h:
26970 * libs/gst/controller/gst-helper.c:
26971 (gst_object_control_properties), (gst_object_uncontrol_properties),
26972 (gst_object_get_controller), (gst_object_set_controller),
26973 (gst_object_sink_values), (gst_object_get_value_arrays),
26974 (gst_object_get_value_array):
26975 more tests (and fixes) for the controller
26976 more docs for the controller
26977 integrated companies docs for the adapter
26979 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
26981 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26982 (GST_START_TEST), (fakesrc_suite):
26983 add tests for sizetype
26985 2005-08-04 Andy Wingo <wingo@pobox.com>
26987 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26988 fixes buffer_alloc proxying among other things.
26990 * gst/base/gstbasetransform.c:
26991 * gst/base/gstbasetransform.h:
26992 Revert patch to gstbasetransform from 7-28 removing
26995 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26996 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26997 Semantics changed, should return not the size of the output buffer
26998 but the byte size of a buffer with a given caps.
27000 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
27002 (gst_base_transform_configure_caps): Don't set out_size here: (in,
27003 out) are not the pad caps until setcaps finishes.
27004 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
27005 not-in-place case as well. Deal with changing from in-place to
27006 not-in-place within calling pad_alloc_buffer. Still a bit
27007 concerned about the overhead here...
27009 2005-08-03 Andy Wingo <wingo@pobox.com>
27011 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
27012 fixating is an error.
27014 2005-08-04 Edward Hervey <edward@fluendo.com>
27016 * gst/base/gstadapter.h:
27017 Added gst_adapter_get_type() to the header
27019 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27021 * check/Makefile.am:
27022 * check/gst-libs/controller.c:
27023 * libs/gst/controller/gst-controller.c:
27024 (gst_controller_new_valist):
27025 added check test suite for the controller
27026 * gst/base/gstpushsrc.c:
27029 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27031 * docs/gst/Makefile.am:
27032 * docs/gst/gstreamer-docs.sgml:
27033 * docs/gst/gstreamer-sections.txt:
27034 * docs/gst/gstreamer.types:
27035 * docs/gst/tmpl/gstfakesrc.sgml:
27037 * gst/base/gstbasesink.c:
27038 * gst/base/gstbasesink.h:
27039 * gst/base/gstbasesrc.c:
27040 * gst/base/gstbasesrc.h:
27041 * gst/base/gstbasetransform.c:
27042 * gst/base/gstpushsrc.c:
27043 * gst/base/gstpushsrc.h:
27044 add short/long description docs to base classes
27045 add pushsrc to the docs
27046 remove consolidated doc fragments
27048 2005-08-03 Stefan Kost <ensonic@users.sf.net>
27051 * docs/libs/Makefile.am:
27052 * docs/libs/gstreamer-libs-docs.sgml:
27053 * docs/libs/gstreamer-libs-sections.txt:
27054 * docs/libs/gstreamer-libs.types:
27055 * examples/Makefile.am:
27056 * examples/controller/.cvsignore:
27057 * examples/controller/Makefile.am:
27058 * examples/controller/audio-example.c: (main):
27059 * libs/gst/Makefile.am:
27060 * libs/gst/controller/.cvsignore:
27061 * libs/gst/controller/Makefile.am:
27062 * libs/gst/controller/gst-controller.c:
27063 (on_object_controlled_property_changed), (gst_timed_value_compare),
27064 (gst_timed_value_find),
27065 (gst_controlled_property_set_interpolation_mode),
27066 (gst_controlled_property_new), (gst_controlled_property_free),
27067 (gst_controller_find_controlled_property),
27068 (gst_controller_new_valist), (gst_controller_new),
27069 (gst_controller_remove_properties_valist),
27070 (gst_controller_remove_properties), (gst_controller_set),
27071 (gst_controller_set_from_list), (gst_controller_unset),
27072 (gst_controller_get), (gst_controller_get_all),
27073 (gst_controller_sink_values), (gst_controller_get_value_arrays),
27074 (gst_controller_get_value_array),
27075 (gst_controller_set_interpolation_mode),
27076 (_gst_controller_finalize), (_gst_controller_init),
27077 (_gst_controller_class_init), (gst_controller_get_type):
27078 * libs/gst/controller/gst-controller.h:
27079 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27080 (g_object_uncontrol_properties), (g_object_get_controller),
27081 (g_object_set_controller), (g_object_sink_values),
27082 (g_object_get_value_arrays), (g_object_get_value_array):
27083 * libs/gst/controller/gst-interpolation.c:
27084 (gst_controlled_property_find_timed_value_node),
27085 (interpolate_none_get), (interpolate_trigger_get),
27086 (interpolate_trigger_get_value_array):
27087 * libs/gst/controller/lib.c: (gst_controller_init):
27088 * pkgconfig/Makefile.am:
27089 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27090 * pkgconfig/gstreamer-control.pc.in:
27091 * testsuite/Makefile.am:
27092 * testsuite/controller/.cvsignore:
27093 * testsuite/controller/Makefile.am:
27094 * testsuite/controller/interpolator.c: (main):
27095 added controller code
27096 removed dparam pc files
27098 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27099 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27100 (gst_collectpads_stop):
27101 Broadcast the condition when shutting down, to make sure we wake all
27102 threads up. Shut down pads on finalize, for safety.
27104 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27105 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27106 (gst_base_transform_handle_buffer),
27107 (gst_base_transform_change_state):
27108 Handle PAUSED->READY->PAUSED transition after negotiation
27110 * gst/gstmessage.c: (gst_message_init):
27111 Extra piece of debug for new messages.
27113 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27116 * docs/gst/tmpl/gstbasesrc.sgml:
27117 * docs/gst/tmpl/gstelement.sgml:
27118 * docs/gst/tmpl/gstevent.sgml:
27119 * docs/gst/tmpl/gstfakesrc.sgml:
27120 * docs/gst/tmpl/gstformat.sgml:
27121 * docs/gst/tmpl/gstghostpad.sgml:
27122 * docs/gst/tmpl/gstpad.sgml:
27123 * docs/gst/tmpl/gstquery.sgml:
27124 * docs/gst/tmpl/gststructure.sgml:
27125 * docs/gst/tmpl/gsttaglist.sgml:
27126 * docs/gst/tmpl/gstvalue.sgml:
27127 * docs/libs/gstreamer-libs-docs.sgml:
27128 * docs/libs/gstreamer-libs-sections.txt:
27129 * docs/libs/gstreamer-libs.types:
27130 * libs/gst/Makefile.am:
27131 * libs/gst/control/.cvsignore:
27132 * libs/gst/control/Makefile.am:
27133 * libs/gst/control/control.c:
27134 * libs/gst/control/control.h:
27135 * libs/gst/control/dparam.c:
27136 * libs/gst/control/dparam.h:
27137 * libs/gst/control/dparam_smooth.c:
27138 * libs/gst/control/dparam_smooth.h:
27139 * libs/gst/control/dparamcommon.h:
27140 * libs/gst/control/dparammanager.c:
27141 * libs/gst/control/dparammanager.h:
27142 * libs/gst/control/dplinearinterp.c:
27143 * libs/gst/control/dplinearinterp.h:
27144 * libs/gst/control/unitconvert.c:
27145 * libs/gst/control/unitconvert.h:
27146 * testsuite/Makefile.am:
27147 * testsuite/dynparams/.cvsignore:
27148 * testsuite/dynparams/Makefile.am:
27149 * testsuite/dynparams/dparamstest.c:
27150 * tools/Makefile.am:
27151 * tools/gst-inspect.c: (print_element_info), (main):
27152 * tools/gst-xmlinspect.c: (print_element_info), (main):
27153 deactivate and remove dparams (libgstcontrol)
27155 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27157 * gst/elements/gsttypefindelement.c:
27158 (gst_type_find_element_have_type), (gst_type_find_element_init),
27159 (stop_typefinding), (gst_type_find_element_handle_event),
27160 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27161 * gst/elements/gsttypefindelement.h:
27162 Set caps on all outgoing buffers, not just the first one.
27164 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27166 * gst/elements/gsttypefindelement.c:
27167 (gst_type_find_element_have_type),
27168 (gst_type_find_element_check_set_buffer_caps),
27169 (gst_type_find_element_init), (stop_typefinding),
27170 (gst_type_find_element_handle_event),
27171 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27172 * gst/elements/gsttypefindelement.h:
27173 Set caps on first outgoing buffer when we've found the type.
27175 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27177 * docs/gst/gstreamer-docs.sgml:
27178 * docs/gst/gstreamer-sections.txt:
27179 * docs/gst/tmpl/gstscheduler.sgml:
27180 * docs/gst/tmpl/gstschedulerfactory.sgml:
27181 Remove some old cruft from docs.
27183 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27186 Fix inline docs for GstPadLinkReturn.
27188 * gst/gststructure.c: (gst_structure_has_name):
27189 * gst/gststructure.h:
27190 * docs/gst/gstreamer-sections.txt:
27191 New API: gst_structure_has_name().
27193 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27196 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27197 and _LARGEFILE_SOURCE in config.h as required. Do not
27198 export those flags in our .pc files any longer (#142209).
27200 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27202 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27203 (gst_file_sink_do_seek), (gst_file_sink_event),
27204 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27205 Redo seek/tell calls with large file support in mind; add some
27206 debugging messages; add log message that tells us when large
27207 file support is unavailable or not enabled for some reason.
27209 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27210 Add log message that tells us when large file support
27211 is unavailable or not enabled for some reason.
27213 2005-07-29 Wim Taymans <wim@fluendo.com>
27215 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27216 Added test for removing an element with ghostpad from a bin.
27217 Fixed test as current implementation does the right thing.
27219 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27220 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27221 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27222 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27223 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27224 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27225 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27226 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27227 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27228 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27229 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27230 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27231 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27232 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27233 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27234 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27235 * gst/gstghostpad.h:
27236 Clean up ghostpads, remove properties for internal stuff.
27239 Prepare for switching targets, not all use cases work yet.
27241 2005-07-29 Wim Taymans <wim@fluendo.com>
27243 * docs/design/part-gstghostpad.txt:
27246 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27247 (gst_bin_remove_func):
27248 Unlinking pads while holding the bin LOCK is not a good
27251 * gst/gstpad.c: (gst_pad_class_init),
27252 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27253 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27254 No prob setting template after creating the pad.
27256 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27258 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27259 (gst_bus_peek), (gst_bus_source_dispatch),
27260 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27261 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27262 gst_bus_poll may be called from other threads. Handle
27263 this nicely by not making poll_data disappear off the
27264 stack once gst_bus_poll returns.
27265 gst_bus_peek now increments the refcount on the returned
27268 2005-07-29 Wim Taymans <wim@fluendo.com>
27270 * docs/design/part-gstghostpad.txt:
27271 Overview of current GhostPad datastructures and use
27272 cases for changing the target.
27274 2005-07-28 Wim Taymans <wim@fluendo.com>
27276 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27277 Added checks for hierarchy consistency whan adding linked
27280 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27281 Added check to test element scheduling without bin/pipeline.
27283 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27284 First add elements to bin, then link.
27286 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27287 (gst_bin_remove_func):
27288 Unlink pads from elements added/removed from bin to maintain
27289 hierarchy consistency.
27291 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27293 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27294 (gst_base_transform_handle_buffer):
27295 * gst/base/gstbasetransform.h:
27296 Remove broken delay_configure (fixes renegotiation of software
27297 scaling pipelines); remove some leftover printf()s.
27299 2005-07-28 Wim Taymans <wim@fluendo.com>
27301 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27302 Added some more tests for wrong hierarchy
27304 * docs/design/part-overview.txt:
27307 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27310 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27311 (gst_element_dispose):
27312 Some more cleanups.
27314 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27315 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27316 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27317 (gst_pad_set_caps), (gst_pad_send_event):
27318 Check for correct hierarchy when linking pads. Moving to
27319 strict requirement for ghostpads when linking elements in
27323 Clean ups. Added WRONG_HIERARCHY return value.
27325 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27327 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27328 Better debug if no transform is possible.
27330 2005-07-27 Wim Taymans <wim@fluendo.com>
27332 * docs/random/wtay/network-transp:
27333 Some old doc I had.
27335 2005-07-27 Wim Taymans <wim@fluendo.com>
27337 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27338 (gst_dp_event_from_packet):
27339 Fix serialization of seek events.
27341 2005-07-27 Wim Taymans <wim@fluendo.com>
27343 * check/gst-libs/gdp.c: (GST_START_TEST):
27344 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27345 Fix compilation and fix event serialization.
27347 2005-07-27 Wim Taymans <wim@fluendo.com>
27350 * docs/design/part-TODO.txt:
27351 * docs/design/part-events.txt:
27354 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27355 (gst_base_sink_event), (gst_base_sink_do_sync),
27356 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27357 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27358 (gst_base_src_do_seek), (gst_base_src_event_handler),
27359 (gst_base_src_loop):
27360 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27361 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27362 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27363 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27364 (gst_base_transform_set_passthrough),
27365 (gst_base_transform_is_passthrough):
27366 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27367 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27373 * gst/gstelement.c: (gst_element_seek):
27374 * gst/gstelement.h:
27375 Update gst_element_seek.
27377 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27378 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27379 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27380 (gst_event_new_eos), (gst_event_new_newsegment),
27381 (gst_event_parse_newsegment), (gst_event_new_tag),
27382 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27383 (gst_event_parse_qos), (gst_event_new_seek),
27384 (gst_event_parse_seek), (gst_event_new_navigation):
27386 Make GstEvent use GstStructure. Add parsing code, make sure the
27387 API is sufficiently generic.
27388 Mark possible directions of events and serialization.
27390 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27391 (_gst_message_copy), (gst_message_new_segment_start),
27392 (gst_message_new_segment_done), (gst_message_new_custom),
27393 (gst_message_parse_segment_start),
27394 (gst_message_parse_segment_done):
27397 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27398 (gst_pad_set_caps), (gst_pad_send_event):
27399 Update for new events.
27400 Catch events sent in wrong directions.
27402 * gst/gstqueue.c: (gst_queue_link_src),
27403 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27404 (gst_queue_handle_src_query):
27409 Remove event code from this file.
27411 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27412 (gst_dp_event_from_packet):
27415 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27417 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27418 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27419 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27420 Make debugging actually useful.
27422 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27424 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27425 (gst_pad_fixate_caps):
27426 Implement default fixation once again, so that gst_pad_fixate()
27427 actually does anything at all. This probably needs to be some
27428 sort of a last resort, and use profile-based fixation first, but
27429 since that doesn't exist yet, this is the best we have. Fixes
27430 visualization in Totem.
27432 2005-07-22 Wim Taymans <wim@fluendo.com>
27434 * docs/design/part-events.txt:
27437 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27438 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27439 (gst_base_sink_activate_pull):
27440 Some more comments.
27442 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27443 (gst_fake_src_create):
27444 Fix handoff marshall.
27446 * gst/elements/gstidentity.c: (gst_identity_class_init),
27447 (gst_identity_transform_ip):
27448 We're a real inplace element.
27450 * gst/gstbus.c: (gst_bus_post):
27451 Added some comments.
27453 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27454 * tests/muxing/case1.c: (main):
27455 * tests/sched/dynamic-pipeline.c: (main):
27456 * tests/sched/interrupt1.c: (main):
27457 * tests/sched/interrupt2.c: (main):
27458 * tests/sched/interrupt3.c: (main):
27459 * tests/sched/runxml.c: (main):
27460 * tests/sched/sched-stress.c: (main):
27461 * tests/seeking/seeking1.c: (event_received), (main):
27462 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27464 * tests/threadstate/threadstate3.c: (main):
27465 * tests/threadstate/threadstate4.c: (main):
27466 * tests/threadstate/threadstate5.c: (main):
27469 2005-07-21 Wim Taymans <wim@fluendo.com>
27471 * docs/design/part-seeking.txt:
27472 Some small additions.
27474 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27475 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27476 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27477 * gst/base/gstbasesink.h:
27478 discont values are gint64, handle the math correctly.
27480 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27481 Make the basesrc report error if the source pad is not linked.
27483 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27484 (gst_queue_loop), (gst_queue_handle_src_query),
27485 (gst_queue_src_activate_push):
27486 Make queue collect data even if the srcpad is not linked.
27487 Start pushing out data as soon as it is linked.
27489 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27491 Added gst_flow_get_name() to ease error reporting.
27493 2005-07-20 Wim Taymans <wim@fluendo.com>
27495 * gst/gstmessage.c: (gst_message_new_segment_start),
27496 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27497 (gst_message_parse_segment_done):
27498 * gst/gstmessage.h:
27499 Added a bunch of messages for advanced seeking.
27501 * gst/parse/grammar.y:
27502 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27503 (gst_dpman_state_changed):
27504 Fix some new-pad -> pad-added signals
27506 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27508 * docs/manual/appendix-porting.xml:
27509 * docs/pwg/appendix-porting.xml:
27510 Document new-pad/state-change signal renames and the FixedList
27513 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27515 * docs/manual/advanced-autoplugging.xml:
27516 * docs/manual/basics-helloworld.xml:
27517 * docs/manual/basics-pads.xml:
27518 * docs/random/ds/0.9-suggested-changes:
27519 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27520 * gst/gstelement.h:
27524 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27525 (gst_structure_parse_array), (gst_structure_parse_value):
27526 * gst/gstvalue.c: (gst_type_is_fixed),
27527 (gst_value_list_prepend_value), (gst_value_list_append_value),
27528 (gst_value_list_get_size), (gst_value_list_get_value),
27529 (gst_value_transform_array_string), (gst_value_serialize_array),
27530 (gst_value_deserialize_array), (gst_value_intersect_array),
27531 (gst_value_is_fixed), (_gst_value_initialize):
27533 GstElement::new-pad -> pad-added, GstElement::state-change ->
27534 state-changed, GstValueFixedList -> GstValueArray, add format and
27535 flags as their own arguments in gst_element_seek() (should improve
27536 "bindeability"), remove function generators since they don't work
27537 under a whole bunch of compilers (they were deprecated already
27540 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27542 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27543 (_gst_debug_register_funcptr):
27545 Fix illegal cast on some platforms (#309253).
27547 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27549 * gst/gstmessage.c: (gst_message_new_custom):
27550 * gst/gstmessage.h:
27551 Add _new_custom, make _new_application a macro to _new_custom.
27553 2005-07-20 Wim Taymans <wim@fluendo.com>
27555 * gst/base/gstbasesrc.c: (gst_base_src_init),
27556 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27557 * gst/base/gstbasesrc.h:
27558 Add a gboolean to decide when to push out a discont.
27560 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27561 (gst_queue_loop), (gst_queue_handle_src_query),
27562 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27563 (gst_queue_set_property), (gst_queue_get_property):
27566 * tests/threadstate/threadstate1.c: (main):
27567 Make a thread test compile and run... very silly..
27570 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27572 * docs/manual/appendix-porting.xml:
27573 Mention removal of libgstgconf-0.9.la and existence of gconf
27576 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27578 * docs/pwg/advanced-clock.xml:
27579 * docs/pwg/appendix-porting.xml:
27580 * docs/pwg/intro-preface.xml:
27581 * docs/pwg/other-base.xml:
27582 * docs/pwg/other-manager.xml:
27583 * docs/pwg/other-nton.xml:
27584 * docs/pwg/other-ntoone.xml:
27585 * docs/pwg/other-oneton.xml:
27586 * docs/pwg/pwg.xml:
27587 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27588 demuxer), remove n-to-n (was never written), fix some code examples
27589 and links and update the porting section to include all this.
27591 2005-07-19 Wim Taymans <wim@fluendo.com>
27593 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27594 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27595 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27596 (gst_queue_src_activate_push), (gst_queue_change_state),
27597 (gst_queue_get_property):
27599 Propagate GstFlowReturn more intelligently upstream and output
27600 an ERROR/EOS when streaming stopped due to fatal error.
27602 2005-07-19 Wim Taymans <wim@fluendo.com>
27604 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27605 Don't block forever for the state change to complete, the
27606 pipeline already did with a sensible timeout.
27608 2005-07-19 Wim Taymans <wim@fluendo.com>
27610 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27611 Make sure we never call the create function is we
27614 2005-07-19 Andy Wingo <wingo@pobox.com>
27616 * gst/parse/parse.l: Attempt to solve bug #172815.
27618 2005-07-19 Wim Taymans <wim@fluendo.com>
27620 * docs/design/part-clocks.txt:
27621 * docs/design/part-events.txt:
27622 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27623 Small docs updates.
27624 Only update the seeking values when we are not
27627 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27629 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27630 Oops, ignore the result of gst_pad_push_event here.
27632 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27634 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27635 (gst_base_src_activate_push):
27636 Send discont event from the loop function, as pads
27637 aren't activated yet in the activate_push handler.
27639 * gst/gstbin.c: (bin_bus_handler):
27640 Don't leak element name.
27642 2005-07-18 Andy Wingo <wingo@pobox.com>
27644 * configure.ac: Use AS_LIBTOOL_TAGS.
27646 2005-07-18 Wim Taymans <wim@fluendo.com>
27648 * docs/gst/gstreamer.types:
27649 Remove deleted types.
27651 2005-07-18 Wim Taymans <wim@fluendo.com>
27653 * check/elements/gstfakesrc.c: (GST_START_TEST):
27656 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27657 (init_popt_callback):
27659 * gst/gst_private.h:
27660 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27661 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27664 * gst/gstconfig.h.in:
27665 * gst/gstelement.c: (gst_element_class_init),
27666 (gst_element_set_base_time), (gst_element_get_base_time),
27667 (iterator_fold_with_resync), (gst_element_change_state),
27668 (gst_element_dispose), (gst_element_get_bus):
27669 * gst/gstelement.h:
27670 * gst/gstelementfactory.h:
27671 * gst/gsterror.c: (_gst_core_errors_init):
27674 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27676 * gst/gstinfo.c: (_gst_debug_init):
27677 * gst/gstmessage.c: (_gst_message_copy):
27678 * gst/gstmessage.h:
27679 * gst/gstminiobject.h:
27682 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27683 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27686 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27687 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27688 (gst_pipeline_get_last_stream_time):
27689 * gst/gstpipeline.h:
27690 * gst/gstpluginfeature.h:
27692 * gst/gstscheduler.c:
27693 * gst/gstscheduler.h:
27694 * gst/gststructure.h:
27695 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27696 (gst_task_finalize), (gst_task_func), (gst_task_create),
27697 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27698 (gst_task_stop), (gst_task_pause):
27700 * gst/gsttypefind.h:
27702 * gst/registries/gstlibxmlregistry.c: (load_feature),
27703 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27704 * gst/registries/gstxmlregistry.c:
27705 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27706 * gst/schedulers/threadscheduler.c:
27707 * libs/gst/control/dparammanager.h:
27708 * tools/gst-inspect.c: (print_element_list),
27709 (print_plugin_features), (print_element_features):
27710 * tools/gst-xmlinspect.c: (print_element_list),
27711 (print_plugin_info), (main):
27712 Removed plugable schedulers.
27713 Removed Scheduler/Manager from elements.
27714 Removed gsttypes.h, rearranged includes.
27715 Removed dependency pad<->element, element<>pipeline, and
27716 various others, fix includes.
27717 implement gst_pad_get_parent() with gst_object_get_parent()
27718 Make GstTask sefcontained.
27719 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27721 Fix endless loop in iterator_fold_with_resync.
27724 2005-07-18 Wim Taymans <wim@fluendo.com>
27730 2005-07-18 Wim Taymans <wim@fluendo.com>
27733 No more cothreads.h
27735 2005-07-18 Wim Taymans <wim@fluendo.com>
27739 Let's remove these.
27741 2005-07-18 Wim Taymans <wim@fluendo.com>
27743 * docs/design/part-dynamic.txt:
27744 * docs/design/part-events.txt:
27745 * docs/design/part-seeking.txt:
27746 Some more docs in the works.
27748 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27749 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27750 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27751 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27752 (gst_base_transform_handle_buffer),
27753 (gst_base_transform_sink_activate_push),
27754 (gst_base_transform_src_activate_pull),
27755 (gst_base_transform_set_passthrough),
27756 (gst_base_transform_is_passthrough):
27759 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27762 * gst/gstevent.c: (gst_event_finalize):
27765 * gst/gstutils.c: (gst_element_unlink),
27766 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27767 (gst_pad_proxy_setcaps):
27769 Add _get_parent_element() to get a pads parent as an element.
27771 2005-07-18 Wim Taymans <wim@fluendo.com>
27773 * check/gst/gstbin.c: (GST_START_TEST):
27776 2005-07-18 Wim Taymans <wim@fluendo.com>
27778 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27779 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27780 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27781 (gst_base_sink_event), (gst_base_sink_do_sync),
27782 (gst_base_sink_chain), (gst_base_sink_loop),
27783 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27784 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27786 Fix logic for returning ASYNC when not prerolled.
27788 2005-07-18 Wim Taymans <wim@fluendo.com>
27790 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27791 Fix nasty refcount bug.
27793 2005-07-16 Philippe Khalaf <burger@speedy.org>
27795 * gst/elements/gstfdsrc.c:
27796 * gst/elements/gstfdsrc.h:
27797 * gst/elements/gstelements.c:
27798 * gst/elements/Makefile.am:
27799 Ported fdsrc to 0.9.
27801 2005-07-16 Wim Taymans <wim@fluendo.com>
27803 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27804 (gst_base_sink_do_sync):
27807 2005-07-16 Wim Taymans <wim@fluendo.com>
27809 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27810 (gst_base_sink_event), (gst_base_sink_get_times),
27811 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27812 * gst/base/gstbasesink.h:
27813 Store and use discont values when syncing buffers as described
27816 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27817 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27818 (gst_base_src_activate_push):
27819 Push discont event when starting.
27821 * gst/elements/gstidentity.c: (gst_identity_transform):
27824 * gst/gstbin.c: (gst_bin_change_state):
27825 Small cleanups in base_time distribution.
27827 * gst/gstelement.c: (gst_element_set_base_time),
27828 (gst_element_get_base_time), (gst_element_change_state):
27829 * gst/gstelement.h:
27830 Added methods for the base_time of the element.
27833 * gst/gstpipeline.c: (gst_pipeline_send_event),
27834 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27835 (gst_pipeline_get_last_stream_time):
27836 * gst/gstpipeline.h:
27838 Handle seeking as described in design doc, remove stream_time
27840 Cleanups clock and stream_time selection code. Added accessors
27841 for the stream_time.
27844 2005-07-16 Andy Wingo <wingo@pobox.com>
27846 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27849 2005-07-16 Wim Taymans <wim@fluendo.com>
27851 * check/gst/gstbin.c: (GST_START_TEST):
27852 Make elements silent as the deep_notify refs the
27853 parent, which might make the test fail.
27855 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27856 Don't hold the lock for too long.
27858 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27860 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27861 Don't unref the caps we passed to gst_caps_make_writable() after
27862 passing them. gst_caps_make_writable() will do that for us.
27864 2005-07-15 Andy Wingo <wingo@pobox.com>
27866 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27869 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27870 own marshalling function for the handoff signal. Properly type the
27871 buffer as a buffer. Fixes some warnings. Should do a more general
27873 (gst_identity_class_init): Plug into the right marshaller.
27875 2005-07-15 Wim Taymans <wim@fluendo.com>
27877 * docs/design/part-TODO.txt:
27878 * docs/design/part-clocks.txt:
27879 * docs/design/part-element-sink.txt:
27880 * docs/design/part-events.txt:
27881 * docs/design/part-gstpipeline.txt:
27882 Updated docs, mostly DISCONT related.
27884 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27886 * docs/pwg/building-pads.xml:
27887 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27889 2005-07-15 Andy Wingo <wingo@pobox.com>
27891 * tools/gst-typefind.c: Update, add copyright block.
27893 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27894 Normalize and truncate caps before fixation.
27897 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27898 discards all but the first structure from its argument.
27900 2005-07-15 Wim Taymans <wim@fluendo.com>
27902 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27903 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27904 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27905 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27906 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27907 (gst_base_transform_chain), (gst_base_transform_change_state),
27908 (gst_base_transform_set_passthrough),
27909 (gst_base_transform_is_passthrough):
27910 * gst/base/gstbasetransform.h:
27911 Make passthrough work using the bufferpools.
27912 Changed API a bit, subclasses have to write into a buffer
27913 provided by the base class.
27914 More debug info in nego functions.
27916 * gst/elements/gstidentity.c: (gst_identity_init),
27917 (gst_identity_transform):
27918 Port to new base class.
27920 2005-07-15 Wim Taymans <wim@fluendo.com>
27922 * gst/gstmessage.c: (gst_message_new_state_changed):
27923 * tools/gst-launch.c: (event_loop), (main):
27924 Totally dump messages in -launch with the -m option.
27925 Fix message name for State messages,
27927 2005-07-14 Wim Taymans <wim@fluendo.com>
27929 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27930 Post error messages on errors.
27932 2005-07-14 Wim Taymans <wim@fluendo.com>
27934 * gst/gstcaps.c: (gst_caps_do_simplify):
27938 Define error for stream stopped.
27940 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27941 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27942 Do proper return values.
27944 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27945 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27946 (gst_pad_get_range):
27947 Better return values.
27950 Reorganise return values, add macro to check for fatal errors.
27952 * gst/gstqueue.c: (gst_queue_chain):
27953 Return proper GstFlowReturn values,
27955 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27957 * docs/gst/gstreamer-sections.txt:
27958 * docs/gst/gstreamer.types:
27959 * docs/gst/tmpl/gst.sgml:
27960 * docs/gst/tmpl/gstbasesink.sgml:
27961 * docs/gst/tmpl/gstbasesrc.sgml:
27962 * docs/gst/tmpl/gstbasetransform.sgml:
27963 * docs/gst/tmpl/gstbin.sgml:
27964 * docs/gst/tmpl/gstbuffer.sgml:
27965 * docs/gst/tmpl/gstcaps.sgml:
27966 * docs/gst/tmpl/gstclock.sgml:
27967 * docs/gst/tmpl/gstcompat.sgml:
27968 * docs/gst/tmpl/gstconfig.sgml:
27969 * docs/gst/tmpl/gstelement.sgml:
27970 * docs/gst/tmpl/gstelementdetails.sgml:
27971 * docs/gst/tmpl/gstelementfactory.sgml:
27972 * docs/gst/tmpl/gstenumtypes.sgml:
27973 * docs/gst/tmpl/gsterror.sgml:
27974 * docs/gst/tmpl/gstevent.sgml:
27975 * docs/gst/tmpl/gstfakesink.sgml:
27976 * docs/gst/tmpl/gstfakesrc.sgml:
27977 * docs/gst/tmpl/gstfilesink.sgml:
27978 * docs/gst/tmpl/gstfilesrc.sgml:
27979 * docs/gst/tmpl/gstfilter.sgml:
27980 * docs/gst/tmpl/gstformat.sgml:
27981 * docs/gst/tmpl/gstghostpad.sgml:
27982 * docs/gst/tmpl/gstimplementsinterface.sgml:
27983 * docs/gst/tmpl/gstindex.sgml:
27984 * docs/gst/tmpl/gstindexfactory.sgml:
27985 * docs/gst/tmpl/gstinfo.sgml:
27986 * docs/gst/tmpl/gstiterator.sgml:
27987 * docs/gst/tmpl/gstmacros.sgml:
27988 * docs/gst/tmpl/gstmemchunk.sgml:
27989 * docs/gst/tmpl/gstminiobject.sgml:
27990 * docs/gst/tmpl/gstobject.sgml:
27991 * docs/gst/tmpl/gstpad.sgml:
27992 * docs/gst/tmpl/gstpadtemplate.sgml:
27993 * docs/gst/tmpl/gstparse.sgml:
27994 * docs/gst/tmpl/gstpipeline.sgml:
27995 * docs/gst/tmpl/gstplugin.sgml:
27996 * docs/gst/tmpl/gstpluginfeature.sgml:
27997 * docs/gst/tmpl/gstquery.sgml:
27998 * docs/gst/tmpl/gstqueue.sgml:
27999 * docs/gst/tmpl/gstregistry.sgml:
28000 * docs/gst/tmpl/gstregistrypool.sgml:
28001 * docs/gst/tmpl/gstscheduler.sgml:
28002 * docs/gst/tmpl/gstschedulerfactory.sgml:
28003 * docs/gst/tmpl/gststructure.sgml:
28004 * docs/gst/tmpl/gstsystemclock.sgml:
28005 * docs/gst/tmpl/gsttaglist.sgml:
28006 * docs/gst/tmpl/gsttagsetter.sgml:
28007 * docs/gst/tmpl/gsttrace.sgml:
28008 * docs/gst/tmpl/gsttrashstack.sgml:
28009 * docs/gst/tmpl/gsttypefind.sgml:
28010 * docs/gst/tmpl/gsttypefindfactory.sgml:
28011 * docs/gst/tmpl/gsttypes.sgml:
28012 * docs/gst/tmpl/gsturihandler.sgml:
28013 * docs/gst/tmpl/gsturitype.sgml:
28014 * docs/gst/tmpl/gstutils.sgml:
28015 * docs/gst/tmpl/gstvalue.sgml:
28016 * docs/gst/tmpl/gstversion.sgml:
28017 * docs/gst/tmpl/gstxml.sgml:
28018 * docs/libs/tmpl/gstcontrol.sgml:
28019 * docs/libs/tmpl/gstdataprotocol.sgml:
28020 * docs/libs/tmpl/gstdparam.sgml:
28021 * docs/libs/tmpl/gstdplinint.sgml:
28022 * docs/libs/tmpl/gstdpman.sgml:
28023 * docs/libs/tmpl/gstdpsmooth.sgml:
28024 * docs/libs/tmpl/gstgetbits.sgml:
28025 * docs/libs/tmpl/gstunitconvert.sgml:
28026 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
28027 (gst_push_src_base_init), (gst_push_src_class_init),
28028 (gst_push_src_init), (gst_push_src_create):
28029 * gst/base/gstpushsrc.h:
28030 * gst/elements/gstelements.c:
28031 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
28032 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
28033 (gst_fake_sink_init), (gst_fake_sink_set_property),
28034 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
28035 (gst_fake_sink_event), (gst_fake_sink_preroll),
28036 (gst_fake_sink_render), (gst_fake_sink_change_state):
28037 * gst/elements/gstfakesink.h:
28038 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
28039 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
28040 (gst_fake_src_base_init), (gst_fake_src_class_init),
28041 (gst_fake_src_init), (gst_fake_src_event_handler),
28042 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28043 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28044 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28045 (gst_fake_src_create_buffer), (gst_fake_src_create),
28046 (gst_fake_src_start), (gst_fake_src_stop):
28047 * gst/elements/gstfakesrc.h:
28048 * gst/elements/gstfilesink.c: (_do_init),
28049 (gst_file_sink_base_init), (gst_file_sink_class_init),
28050 (gst_file_sink_init), (gst_file_sink_dispose),
28051 (gst_file_sink_set_location), (gst_file_sink_set_property),
28052 (gst_file_sink_get_property), (gst_file_sink_open_file),
28053 (gst_file_sink_close_file), (gst_file_sink_query),
28054 (gst_file_sink_event), (gst_file_sink_render),
28055 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28056 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28057 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28058 * gst/elements/gstfilesink.h:
28059 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28060 (gst_file_src_class_init), (gst_file_src_init),
28061 (gst_file_src_finalize), (gst_file_src_set_location),
28062 (gst_file_src_set_property), (gst_file_src_get_property),
28063 (gst_file_src_map_region), (gst_file_src_map_small_region),
28064 (gst_file_src_create_mmap), (gst_file_src_create_read),
28065 (gst_file_src_create), (gst_file_src_is_seekable),
28066 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28067 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28068 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28069 (gst_file_src_uri_handler_init):
28070 * gst/elements/gstfilesrc.h:
28071 more autistic cleanliness in functions/names/defines
28073 2005-07-13 Andy Wingo <wingo@pobox.com>
28075 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28076 source couldn't negotiate.
28078 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28082 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28083 function. I am channeling Hades. Put your boots on suckers!!!
28085 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28087 * testsuite/caps/Makefile.am:
28088 * testsuite/caps/value_compare.c:
28089 * testsuite/caps/value_intersect.c:
28090 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28091 move two testsuite apps over to the check dir
28093 2005-07-12 Wim Taymans <wim@fluendo.com>
28095 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28096 Added more debug info in the negotiate process.
28098 * gst/gstmessage.h:
28099 Prepare for segment playback.
28101 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28107 * tools/gst-launch.c: (main):
28108 NULL pipeline on errors.
28110 2005-07-12 Andy Wingo <wingo@pobox.com>
28112 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28113 not it comes from a malloc region. Make sure our copy gets freed.
28115 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28117 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28118 * check/gst/gstmessage.c: (GST_START_TEST):
28119 * check/gst/gststructure.c: (GST_START_TEST),
28120 (gst_structure_suite), (main):
28122 * gst/gstelement.c: (gst_element_message_full):
28123 clean up GError and debug string now that they get copied
28124 * gst/gstmessage.c: (gst_message_new_error),
28125 (gst_message_new_warning), (gst_message_parse_error),
28126 (gst_message_parse_warning):
28127 use GST_TYPE_G_ERROR for structure_new, and take copies of
28128 arguments, so that we don't mess up refcounting
28130 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28132 * check/Makefile.am:
28133 add per-test valgrind targets
28134 * check/gst-libs/gdp.c: (GST_START_TEST),
28135 (gst_data_protocol_suite), (main):
28138 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28140 * check/Makefile.am:
28141 instate more valgrindable tests
28142 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28143 (GST_START_TEST), (fakesrc_suite):
28144 * check/gst/gstpad.c: (GST_START_TEST):
28145 * check/gst/gststructure.c: (GST_START_TEST):
28147 * docs/gst/tmpl/gstminiobject.sgml:
28148 * gst/gstpad.c: (gst_pad_finalize):
28149 fix the static mutex leak
28151 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28153 * check/Makefile.am:
28154 add two more tests for valgrinding
28155 * check/gst/gstvalue.c: (GST_START_TEST):
28156 test refcount of deserialized buffer, found a leak
28157 * docs/gst/gstreamer-docs.sgml:
28158 * docs/gst/gstreamer-sections.txt:
28159 * docs/gst/gstreamer.types:
28160 * docs/gst/tmpl/gstminiobject.sgml:
28161 add miniobject to docs
28162 * gst/gstminiobject.c:
28164 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28165 (gst_string_unwrap):
28166 fix a hard-to-find invalid write for one of the tests
28167 fix a leak for deserialized buffers
28169 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28171 * docs/pwg/advanced-events.xml:
28172 * docs/pwg/advanced-request.xml:
28173 * docs/pwg/advanced-scheduling.xml:
28174 * docs/pwg/appendix-porting.xml:
28175 * docs/pwg/building-boiler.xml:
28176 * docs/pwg/intro-preface.xml:
28177 * docs/pwg/other-ntoone.xml:
28178 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28179 of example code and explanation for pad activation, loop() and
28180 getrange() functions and a bit more. Remove old comments pointing
28182 * examples/pwg/Makefile.am:
28183 Add loop/getrange examples.
28185 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28188 check for valgrind binary + some fixes
28190 valgrind suppressions for the tests
28191 * check/Makefile.am:
28192 add a valgrind: target that valgrinds the unit tests
28193 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28194 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28195 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28196 * check/gst/gstghostpad.c:
28198 * check/gst/gstdata.c:
28200 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28201 (thread_unref), (gst_mini_object_suite), (main):
28203 * gst/gst.c: (gst_deinit):
28205 add a method to clean up.
28206 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28207 (gst_system_clock_obtain):
28208 allow for disposing the system clock.
28209 * tools/gst-launch.c: (main):
28212 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28214 * docs/gst/tmpl/gstbasesrc.sgml:
28215 * docs/gst/tmpl/gstfakesrc.sgml:
28216 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28217 (gst_base_src_init), (gst_base_src_set_property),
28218 (gst_base_src_get_property), (gst_base_src_get_range),
28219 (gst_base_src_start):
28220 * gst/base/gstbasesrc.h:
28221 add num-buffers property
28222 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28223 (gst_fakesrc_init), (gst_fakesrc_set_property),
28224 (gst_fakesrc_get_property), (gst_fakesrc_create),
28225 (gst_fakesrc_start):
28226 remove num-buffers property
28228 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28230 * docs/gst/gstreamer-sections.txt:
28231 * docs/gst/tmpl/gstbasesink.sgml:
28232 * docs/gst/tmpl/gstbasesrc.sgml:
28233 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28234 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28235 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28236 (gst_base_sink_set_property), (gst_base_sink_get_property),
28237 (gst_base_sink_handle_object), (gst_base_sink_event),
28238 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28239 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28240 (gst_base_sink_loop), (gst_base_sink_deactivate),
28241 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28242 (gst_base_sink_change_state):
28243 * gst/base/gstbasesink.h:
28244 * gst/base/gstbasesrc.h:
28245 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28246 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28247 (gst_filesink_init):
28248 more macro splitting
28250 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28252 * gst/gstelement.c: (gst_element_get_bus):
28254 * tools/gst-launch.c: (check_intr), (event_loop):
28257 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28259 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28262 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28264 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28265 (gst_base_src_finalize):
28266 add finalize method and clean up properly
28267 * gst/gstpipeline.c: (gst_pipeline_dispose):
28270 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28272 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28274 add more things to check
28275 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28276 * gst/gstelement.c:
28279 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28281 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28282 (GST_START_TEST), (fakesrc_suite):
28283 * check/gst-libs/gdp.c: (GST_START_TEST):
28284 * check/gst/gst.c: (GST_START_TEST):
28285 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28286 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28287 * check/gst/gstbus.c: (GST_START_TEST):
28288 * check/gst/gstcaps.c: (GST_START_TEST):
28289 * check/gst/gstdata.c: (GST_START_TEST):
28290 * check/gst/gstelement.c: (GST_START_TEST):
28291 * check/gst/gstghostpad.c: (GST_START_TEST):
28292 * check/gst/gstiterator.c: (GST_START_TEST):
28293 * check/gst/gstmessage.c: (GST_START_TEST):
28294 * check/gst/gstobject.c: (GST_START_TEST):
28295 * check/gst/gstpad.c: (GST_START_TEST):
28296 * check/gst/gststructure.c: (GST_START_TEST):
28297 * check/gst/gstsystemclock.c: (GST_START_TEST),
28298 (gst_systemclock_suite):
28299 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28300 * check/gst/gstvalue.c: (GST_START_TEST):
28301 * check/pipelines/cleanup.c: (GST_START_TEST):
28302 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28303 * check/states/sinks.c: (GST_START_TEST):
28304 * check/gstcheck.c: (gst_check_init):
28305 * check/gstcheck.h:
28306 add debugging category
28307 use GST_START_TEST now, so we add a debug line
28309 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28311 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28312 add test for state change message on a bin
28313 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28315 * gst/gstbin.c: (gst_bin_init):
28316 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28317 * gst/gstelement.c: (gst_element_post_message),
28318 (gst_element_set_state):
28319 * gst/gstelementfactory.c: (gst_element_factory_create):
28320 * gst/gstmessage.c: (gst_message_new):
28321 * gst/gstscheduler.c:
28322 various debugging additions and cleanups
28324 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28326 * check/Makefile.am:
28327 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28329 adding tests for elements
28330 * gst/gstelement.c: (gst_element_dispose):
28332 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28334 * gst/registries/gstlibxmlregistry.c: (load_feature):
28335 plug more leaks. A simple gst_init() now is leakfree, yay.
28337 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28339 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28340 (gst_xml_registry_load):
28341 plug another memleak
28343 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28346 use GST_SET_ERROR_CFLAGS
28347 * docs/faq/cvs.xml:
28348 change to ERROR_CFLAGS
28350 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28353 make GST_ERROR_CFLAGS overridable and re-enable Werror
28354 * docs/faq/cvs.xml:
28355 add a note about error CFLAGS
28356 * docs/gst/tmpl/gstfakesrc.sgml:
28357 * gst/elements/gstfakesrc.c:
28358 comment out some unused code
28359 * gst/gst.c: (split_and_iterate):
28360 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28364 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28366 * common/Makefile.am:
28367 * common/gtk-doc.mak:
28368 * docs/gst/Makefile.am:
28369 factor out gtk-doc.mak
28371 2005-07-07 Wim Taymans <wim@fluendo.com>
28373 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28374 (gst_thread_scheduler_dispose):
28375 Unlock the STREAM_LOCK completely.
28377 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28379 * check/Makefile.am:
28380 * check/elements/.cvsignore:
28381 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28382 (START_TEST), (fakesrc_suite), (main):
28383 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28384 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28385 (gst_fakesrc_create), (gst_fakesrc_start):
28386 * gst/elements/gstfakesrc.h:
28387 adding a first element test
28389 2005-07-07 Andy Wingo <wingo@pobox.com>
28391 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28394 2005-07-07 Wim Taymans <wim@fluendo.com>
28400 2005-07-07 Wim Taymans <wim@fluendo.com>
28402 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28403 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28404 Allow subclasses to implement their own negotiation.
28406 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28408 * docs/design/part-gstbin.txt:
28409 * docs/design/part-gstpipeline.txt:
28410 Update design notes to reflect the movement of
28411 responsibility for bus handling from GstPipeline to
28414 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28417 Remove unnecessary queue2/3/4 examples.
28419 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28421 * examples/Makefile.am:
28422 * examples/helloworld/helloworld.c: (event_loop), (main):
28423 * examples/queue/queue.c: (event_loop), (main):
28424 * examples/queue2/queue2.c: (main):
28425 Update a couple of the examples to work again.
28427 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28428 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28429 Spelling corrections and extra debug.
28431 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28432 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28433 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28435 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28436 (gst_pipeline_change_state):
28437 * gst/gstpipeline.h:
28438 Move the bus handler for children to the GstBin, and create a
28439 separate bus for receiving messages from children to the one the
28440 bus sends 'upwards' on.
28442 2005-07-06 Wim Taymans <wim@fluendo.com>
28445 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28446 (gst_base_sink_handle_object), (gst_base_sink_loop),
28447 (gst_base_sink_change_state):
28448 * gst/base/gstbasesink.h:
28449 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28450 (gst_base_src_init), (gst_base_src_setcaps),
28451 (gst_base_src_getcaps), (gst_base_src_loop),
28452 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28453 (gst_base_src_start), (gst_base_src_change_state):
28454 * gst/base/gstbasesrc.h:
28455 Make basesrc negotiate.
28456 Handle the case where preroll fails in basesink.
28459 2005-07-06 Wim Taymans <wim@fluendo.com>
28461 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28462 Implement the fixate function.
28463 Clean up acceptcaps.
28465 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28467 * docs/pwg/building-filterfactory.xml:
28468 * docs/pwg/pwg.xml:
28469 Remove never-written filter-factory chapter; I'll add the various
28470 base classes to part 4 ("other element types") later on.
28472 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28474 * docs/pwg/advanced-negotiation.xml:
28475 * docs/pwg/building-boiler.xml:
28476 * docs/pwg/building-pads.xml:
28477 * docs/pwg/pwg.xml:
28478 * examples/pwg/Makefile.am:
28479 Add a chapter on caps negotiation, simplify the original code
28480 samples a bit w.r.t. caps negotiation, add link to the advanced
28481 section. Add a bunch of examples showing different use cases of
28482 different types of caps negotiation. Upstream renegotiation isn't
28483 fully documented yet since nobody knows how that works.
28485 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28487 * check/gst/gstpad.c:
28488 * check/gstcheck.c:
28489 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28490 if pad has no parent, return NULL as list of internal links
28492 2005-07-05 Andy Wingo <wingo@pobox.com>
28494 * gst/elements/gstfilesrc.c:
28495 * gst/elements/gstfakesrc.c:
28496 * gst/base/gstpushsrc.c:
28497 * gst/base/gstbasesrc.h:
28498 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28500 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28503 better report generation target (lcov needs a patch)
28505 2005-07-05 Andy Wingo <wingo@pobox.com>
28507 * gst/elements, testsuite: Null if we got it...
28509 2005-07-05 Wim Taymans <wim@fluendo.com>
28512 * libs/gst/dataprotocol/Makefile.am:
28513 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28514 * libs/gst/dataprotocol/dataprotocol.h:
28515 * pkgconfig/Makefile.am:
28516 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28517 * pkgconfig/gstreamer-dataprotocol.pc.in:
28518 Ported dataprotol to 0.9.
28519 Added pkgconfig files.
28521 2005-07-05 Andy Wingo <wingo@pobox.com>
28523 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28524 Default to returning TRUE for the case when tranform_caps returns
28525 a fixed caps, like for identity or volume.
28527 * check/gst/gstbus.c (pound_bus_with_messages):
28528 * check/gst/gstmessage.c (START_TEST):
28529 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28530 message API change.
28532 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28533 logic weaks here: always run transform_caps, trying passthrough
28534 operation only if the original caps intersects with the transform.
28536 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28537 source and sink caps.
28539 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28540 Intersect the peer caps with the pad template before going into
28542 (gst_base_transform_transform_caps): More debugging.
28544 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28547 2005-07-04 Edward Hervey <edward@fluendo.com>
28551 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28554 2005-07-04 Andy Wingo <wingo@pobox.com>
28556 * check/gst/gstpad.c: Only set explicit caps on pads.
28558 2005-07-01 Andy Wingo <wingo@pobox.com>
28560 * tests/network-clock.scm: Commentary update.
28562 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28563 Didn't really make sense, not implementable with basetransform,
28565 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28566 attempt at implementing the sync property, needs an unlock method.
28568 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28569 New func, by default returns the same caps (the identity
28571 (gst_base_transform_getcaps): Uses transform_caps to return
28572 something sensible.
28573 (gst_base_transform_setcaps): Complicated logic to get caps on
28574 both pads, even if they are different, and to call set_caps once
28575 for every time both pads get their caps set.
28576 (gst_base_transform_handle_buffer): Give the ref to the transform
28577 function. Allows in-place modification of the buffer.
28579 * gst/base/gstbasetransform.h (transform_caps): New class method.
28580 Given caps on one side, what can I do on the other.
28581 (set_caps): Take two caps, one for each side of the element.
28584 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28585 caps in place. This is safe because we can check the mutability of
28586 the caps, and a good idea because fixate functions are just called
28587 as a matter of last resort. (Not actually implemented.)
28588 (gst_pad_set_caps): If the caps we're setting is actually the same
28589 as the existing pad caps, just update the pointer without calling
28590 setcaps. Assert that caps is either NULL or fixed, as per the
28593 * gst/gstghostpad.c: Update for fixate changes.
28595 2005-07-02 Andy Wingo <wingo@pobox.com>
28598 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28599 two refcounts makes it immutable, which is enough. Doc more.
28601 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28603 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28604 Put the mini_object into GValue as a mini_object,
28605 not a gpointer, since that's how we declared
28608 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28610 * examples/pwg/Makefile.am:
28611 Fix buildbot again.
28613 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28615 * docs/pwg/building-testapp.xml:
28617 * examples/pwg/Makefile.am:
28620 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28623 * examples/Makefile.am:
28624 * examples/pwg/Makefile.am:
28625 * examples/pwg/extract.pl:
28626 Enable building the PWG examples.
28627 * docs/pwg/advanced-interfaces.xml:
28628 Add URI interface stub.
28629 * docs/pwg/advanced-types.xml:
28630 * docs/pwg/other-autoplugger.xml:
28631 * docs/pwg/appendix-porting.xml:
28632 * docs/pwg/pwg.xml:
28633 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28634 * docs/pwg/building-boiler.xml:
28635 * docs/pwg/building-chainfn.xml:
28636 * docs/pwg/building-pads.xml:
28637 * docs/pwg/building-props.xml:
28638 * docs/pwg/building-state.xml:
28639 * docs/pwg/building-testapp.xml:
28640 Update the building-*.xml parts for 0.9 changes. All examples
28641 code blocks compile in examples/pwg/*.
28643 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28645 * docs/manual/advanced-autoplugging.xml:
28646 * docs/manual/appendix-checklist.xml:
28647 * docs/manual/appendix-integration.xml:
28648 * docs/manual/highlevel-components.xml:
28649 Fix playbin/decodebin examples, update docs a bit, mention bus
28650 instead of signals in various places, mention kmplayer and
28651 kaffeine since they have a working GStreamer backend in the KDE
28654 2005-06-30 Wim Taymans <wim@fluendo.com>
28657 * docs/design/draft-ghostpads.txt:
28658 * docs/design/draft-push-pull.txt:
28659 * docs/design/draft-query.txt:
28660 * docs/design/part-TODO.txt:
28661 * docs/design/part-query.txt:
28662 Added CHANGES-0.9 doc, updated status of other docs.
28667 2005-06-30 Wim Taymans <wim@fluendo.com>
28669 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28670 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28671 (gst_base_sink_change_state):
28672 * gst/base/gstbasesink.h:
28673 Some tweaks, only EOS and a buffer complete a preroll.
28675 2005-06-30 Andy Wingo <wingo@pobox.com>
28677 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28678 activate_push down to the internal pad as well.
28680 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28682 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28684 * gst/gsttaginterface.c:
28685 Some documentation fixes (#307394 and #307397).
28687 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28689 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28691 * gst/gstvalue.c: (gst_value_intersect_list):
28692 Fix memleak (#309125).
28694 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28696 * docs/manual/advanced-dataaccess.xml:
28697 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28698 * docs/manual/basics-pads.xml:
28699 Add reference for filtered caps to above chapter.
28701 2005-06-30 Wim Taymans <wim@fluendo.com>
28703 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28704 (gst_bin_change_state):
28706 Lame attempt at making the state change function a bit
28709 2005-06-30 Wim Taymans <wim@fluendo.com>
28711 * docs/design/part-clocks.txt:
28712 * docs/design/part-element-sink.txt:
28713 * docs/design/part-events.txt:
28714 * docs/design/part-preroll.txt:
28715 * docs/design/part-states.txt:
28716 Some more tweeks and additions to the docs.
28718 2005-06-30 Wim Taymans <wim@fluendo.com>
28720 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28721 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28722 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28723 (gst_pad_check_pull_range), (gst_pad_get_range),
28724 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28726 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28727 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28728 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28729 (gst_pad_remove_buffer_probe):
28730 Removed atomic operations, use existing LOCK.
28731 Move exception handling out of main code path.
28733 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28735 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28736 (silly_return_true_function), (gst_pad_class_init),
28737 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28738 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28739 (gst_pad_send_event):
28740 Fix accumulator, add default value by using _emitv() instead
28741 of _emit() for signal emission.
28743 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28745 * docs/manual/advanced-dataaccess.xml:
28746 * examples/manual/Makefile.am:
28748 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28751 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28753 * gst/elements/gstfilesink.c: (gst_filesink_render):
28754 Simplify code so that we don't have to handle short
28755 writes and return GST_FLOW_ERROR if an error occured.
28757 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28759 * docs/gst/gstreamer-docs.sgml:
28760 Remove probes more.
28762 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28764 * docs/gst/gstreamer-sections.txt:
28765 * docs/gst/tmpl/gstpad.sgml:
28766 * docs/gst/tmpl/gstprobe.sgml:
28768 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28769 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28770 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28771 (gst_pad_push_event), (gst_pad_send_event):
28773 * gst/gstutils.c: (gst_pad_add_data_probe),
28774 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28775 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28776 (gst_pad_remove_buffer_probe):
28778 Remove old probes, add new g-signal-based probes and some utility
28781 2005-06-29 Edward Hervey <edward@fluendo.com>
28783 * gst/gstelementfactory.c:
28786 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28787 the definition to the header file.
28789 2005-06-29 Andy Wingo <wingo@pobox.com>
28791 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28792 plugins from the source directory.
28794 2005-06-29 Wim Taymans <wim@fluendo.com>
28796 * docs/gst/tmpl/gstbuffer.sgml:
28797 * docs/gst/tmpl/gstclock.sgml:
28798 Some fixings for blantently wrong text.
28800 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28802 * check/Makefile.am:
28803 * gst/gst.c: (add_path_func), (init_pre):
28804 * gst/gstregistry.c: (gst_registry_add_path):
28805 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28806 only scan the GST_PLUGIN_PATH locations, and not add
28809 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28811 * docs/gst/gstreamer-sections.txt:
28812 * docs/gst/tmpl/gstbasesrc.sgml:
28813 * gst/gstelement.c:
28814 * gst/gstelement.h:
28819 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28821 * docs/manual/advanced-autoplugging.xml:
28822 Fix autoplugging example.
28824 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28826 * docs/manual/advanced-autoplugging.xml:
28827 * docs/manual/mime-world.fig:
28828 Try to get autoplugging working, fix type detection. Fix text
28829 in hello-world image.
28831 2005-06-29 Wim Taymans <wim@fluendo.com>
28833 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28834 (gst_base_sink_change_state):
28838 map SIGNAL and BROADCAST to the right function.
28841 Remove redundant braces.
28843 * gst/gstpad.c: (gst_pad_set_caps):
28844 Don't call setcaps function when reseting caps to NULL.
28846 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28847 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28848 (gst_system_clock_id_unschedule):
28849 Use BROADCAST as this is what we do.
28851 2005-06-29 Wim Taymans <wim@fluendo.com>
28853 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28854 We are actually prerolling before commiting the state
28857 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28859 * docs/manual/advanced-clocks.xml:
28860 * docs/manual/advanced-interfaces.xml:
28861 * docs/manual/advanced-metadata.xml:
28862 * docs/manual/advanced-position.xml:
28863 * docs/manual/advanced-schedulers.xml:
28864 * docs/manual/advanced-threads.xml:
28865 * docs/manual/appendix-porting.xml:
28866 * docs/manual/basics-bins.xml:
28867 * docs/manual/basics-bus.xml:
28868 * docs/manual/basics-elements.xml:
28869 * docs/manual/basics-helloworld.xml:
28870 * docs/manual/basics-pads.xml:
28871 * docs/manual/highlevel-components.xml:
28872 * docs/manual/manual.xml:
28873 * docs/manual/thread.fig:
28874 Update (until threads/scheduling) Application Development Manual;
28875 remove GstThread, add GstBus, add simple porting checklist, add
28876 documentation for tag writing, clocks, make all examples until this
28877 part compile and run.
28878 * examples/manual/Makefile.am:
28879 Update from changes to Application Development Manual; add bus
28880 example, remove thread example.
28882 2005-06-28 Wim Taymans <wim@fluendo.com>
28884 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28885 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28886 (gst_bus_source_dispatch):
28887 Add debugging messages.
28888 Make internal methods static.
28889 Handle the case where the bus is flushed in the handler.
28891 * gst/gstelement.c: (gst_element_get_bus):
28892 Fix refcount in _get_bus();
28894 * gst/gstpipeline.c: (gst_pipeline_change_state),
28895 (gst_pipeline_get_clock_func):
28896 Clock refcounting fixes.
28897 Handle the case where preroll timed out more gracefully.
28899 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28900 Clean up the internal thread in dispose. This is needed
28901 for subclasses that actually get disposed.
28903 * gst/schedulers/threadscheduler.c:
28904 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28905 (gst_thread_scheduler_dispose):
28906 Free thread pool in dispose.
28908 2005-06-28 Andy Wingo <wingo@pobox.com>
28910 * tests/network-clock-utils.scm (debug, print-event): New utils.
28912 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28913 (*packet-loss*): Unified loss probability.
28914 (network-time): Report out-of-band events.
28916 * tests/plot-data: Add support for out-of-band events. Hack it
28917 into this script instead of passing it down the pipe; should fix
28920 2005-06-28 Wim Taymans <wim@fluendo.com>
28922 * docs/gst/gstreamer.types:
28923 * docs/gst/tmpl/gstbasesrc.sgml:
28924 * docs/gst/tmpl/gstpad.sgml:
28927 2005-06-28 Wim Taymans <wim@fluendo.com>
28929 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28930 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28931 (gst_proxy_pad_do_fixatecaps):
28932 Correctly proxy the check_pull_range function.
28934 2005-06-28 Andy Wingo <wingo@pobox.com>
28936 * tests/network-clock.scm: Removed need for slib.
28938 2005-06-28 Wim Taymans <wim@fluendo.com>
28940 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28941 (gst_basesink_preroll_queue_flush):
28942 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28943 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28944 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28945 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28946 (gst_proxy_pad_set_property):
28949 * gst/gstqueue.c: (gst_queue_init):
28950 The deprecated pad loop function is removed now.
28952 2005-06-28 Andy Wingo <wingo@pobox.com>
28954 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28955 New parameters, simulate network packet loss.
28957 * tests/network-clock-utils.scm: Initialize the RNG.
28959 2005-06-28 Wim Taymans <wim@fluendo.com>
28961 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28962 (gst_basesink_event), (gst_basesink_deactivate):
28963 Flushing the preroll queue always needs to unlock the waiters.
28965 2005-06-28 Edward Hervey <edward@fluendo.com>
28967 * gst/gstpipeline.c: (gst_pipeline_send_event):
28968 Wheen a seek was successful on a pipeline, set the stream_time to the
28969 seek offset in order to have a synchronized stream_time.
28971 2005-06-28 Wim Taymans <wim@fluendo.com>
28973 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28974 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28975 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28976 (gst_proxy_pad_do_fixatecaps):
28977 Call wrapper function instead of just calling the function
28978 pointers. This takes care of any locking and whatmore.
28980 2005-06-28 Wim Taymans <wim@fluendo.com>
28982 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28983 (gst_pad_pull_range):
28985 CONNECTED -> LINKED.
28987 2005-06-28 Andy Wingo <wingo@pobox.com>
28989 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28990 source-munging commit!!!
28992 * gst/gstobject.c (gst_object_unref, gst_object_ref)
28993 (gst_object_sink): Take gpointer arguments, not GstObject --
28994 avoids casts. Like GLib.
28996 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28999 2005-06-27 Andy Wingo <wingo@pobox.com>
29001 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
29004 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
29005 returns a sorted copy of the trace list.
29006 (gst_alloc_trace_print_live): New API, only prints traces with
29007 live objects. Sort the list.
29008 (gst_alloc_trace_print_all): Sort the list.
29009 (gst_alloc_trace_print): Align columns.
29011 * gst/elements/gstttypefindelement.c:
29012 * gst/elements/gsttee.c:
29013 * gst/base/gstbasesrc.c:
29014 * gst/base/gstbasesink.c:
29015 * gst/base/gstbasetransform.c:
29016 * gst/gstqueue.c: Adapt for pad activation changes.
29018 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
29020 (gst_pipeline_dispose): Drop ref on sched.
29022 * gst/gstpad.c (gst_pad_init): Set the default activate func.
29023 (gst_pad_activate_default): Push mode by default.
29024 (pre_activate_switch, post_activate_switch): New stubs, things to
29025 do before and after switching activation modes on pads.
29026 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
29027 the pad's activate function to choose which mode to activate.
29028 Shortcut on deactivation and call the right function directly.
29029 (gst_pad_activate_pull): New API, (de)activates a pad in pull
29031 (gst_pad_activate_push): New API, same for push mode.
29032 (gst_pad_set_activate_function)
29033 (gst_pad_set_activatepull_function)
29034 (gst_pad_set_activatepush_function): Setters for new API.
29036 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
29037 Trace all miniobjects.
29038 (gst_mini_object_make_writable): Unref the arg if we copy, like
29039 gst_caps_make_writable.
29041 * gst/gstmessage.c (_gst_message_initialize): No trace init.
29043 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
29044 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29045 Adapt for new pad API.
29047 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29049 * gst/gstelement.h:
29050 * gst/gstelement.c (gst_element_iterate_src_pads)
29051 (gst_element_iterate_sink_pads): New API functions.
29053 * gst/gstelement.c (iterator_fold_with_resync): New utility,
29054 should fold into gstiterator.c in some form.
29055 (gst_element_pads_activate): Simplified via use of fold and
29056 delegation of decisions to gstpad->activate.
29058 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29061 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29062 class once in init, like gstmessage. Didn't run into this issue
29063 but it seems correct. Don't initialize a trace, gstminiobject does
29066 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29067 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29069 (assert_live_count): New util function, uses alloc traces to check
29072 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29073 To be modified when unlink drops the internal pad.
29075 2005-06-27 Wim Taymans <wim@fluendo.com>
29077 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29078 (gst_bin_change_state):
29079 Cleanup the get_state() function a little, make sure it
29080 iterates the same set of elements.
29081 Added stub iterate_state_order().
29083 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29085 * docs/gst/gstreamer-docs.sgml:
29086 * docs/gst/gstreamer-sections.txt:
29087 * docs/gst/gstreamer.types:
29088 * docs/gst/tmpl/gstbasesink.sgml:
29089 * docs/gst/tmpl/gstbasesrc.sgml:
29090 * docs/gst/tmpl/gstbasetransform.sgml:
29091 * docs/gst/tmpl/gstelement.sgml:
29092 * docs/gst/tmpl/gstiterator.sgml:
29093 * gst/base/gstbasesrc.c:
29094 * gst/base/gstbasesrc.h:
29095 * gst/base/gstbasetransform.h:
29096 * gst/gstelement.c:
29097 * gst/gstiterator.h:
29098 adding basetransform and iterator docs
29100 2005-06-27 Andy Wingo <wingo@pobox.com>
29102 * docs/design/part-activation.txt: Notes on how activation should
29103 work -- not quite implemented yet.
29105 2005-06-25 Wim Taymans <wim@fluendo.com>
29107 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29108 At least get the chain function correct, needs more
29111 2005-06-25 Wim Taymans <wim@fluendo.com>
29113 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29114 (gst_basesink_handle_object), (gst_basesink_event),
29115 (gst_basesink_do_sync), (gst_basesink_handle_event),
29116 (gst_basesink_change_state):
29118 Right, two problems here: ghostpads don't take locks and
29119 glib _rec_mutex_lock_full() with depth==0 still locks.
29120 Catch illegal locking and g_warn them.
29122 2005-06-25 Wim Taymans <wim@fluendo.com>
29124 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29125 Have to check for completion now...
29127 2005-06-25 Wim Taymans <wim@fluendo.com>
29129 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29130 (gst_basesink_handle_object), (gst_basesink_event),
29131 (gst_basesink_do_sync), (gst_basesink_handle_event),
29132 (gst_basesink_change_state):
29134 Unlock STREAM_LOCK whatever the recursion was.
29136 2005-06-25 Wim Taymans <wim@fluendo.com>
29138 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29139 (gst_basesink_preroll_queue_empty),
29140 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29141 (gst_basesink_event), (gst_basesink_do_sync),
29142 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29143 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29144 (gst_basesink_change_state):
29145 Reworked the base sink, handle event and buffer serialisation
29146 correctly and removed possible deadlock.
29147 Handle EOS correctly.
29149 2005-06-25 Wim Taymans <wim@fluendo.com>
29151 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29152 (gst_pipeline_change_state):
29153 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29154 Allow elements to post EOS in the state change function.
29155 Fix up -launch, make it exit the poll loop when the
29156 pipeline actually changed state.
29157 Fix up warning parsing in -launch.
29159 2005-06-25 Wim Taymans <wim@fluendo.com>
29161 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29162 (gst_tee_sink_activate):
29163 Core takes STREAM_LOCK for us now.
29165 2005-06-25 Wim Taymans <wim@fluendo.com>
29167 * gst/gstelement.c: (gst_element_get_state_func),
29168 (gst_element_set_state):
29169 * gst/gstelement.h:
29170 * gst/gstmessage.c: (gst_message_parse_error),
29171 (gst_message_parse_warning):
29172 Keep track of current target state while performing a state
29173 change so that subclasses can do something interesting.
29174 Fix parsing of warning/error messages when GError is NULL.
29176 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29178 * docs/gst/Makefile.am:
29179 * docs/gst/gstreamer-docs.sgml:
29180 * docs/gst/gstreamer-sections.txt:
29181 * docs/gst/gstreamer.types:
29182 * docs/gst/tmpl/gstbasesink.sgml:
29183 * docs/gst/tmpl/gstbasesrc.sgml:
29184 * docs/gst/tmpl/gstbin.sgml:
29185 * docs/gst/tmpl/gstcompat.sgml:
29186 * docs/gst/tmpl/gstfakesink.sgml:
29187 * docs/gst/tmpl/gstfakesrc.sgml:
29188 * docs/gst/tmpl/gstfilesink.sgml:
29189 * docs/gst/tmpl/gstfilesrc.sgml:
29190 * docs/gst/tmpl/gstindex.sgml:
29191 * docs/manual/appendix-quotes.xml:
29192 * gst/base/gstbasesrc.h:
29193 * gst/elements/gstfakesrc.h:
29194 * gst/gstmessage.h:
29195 start pulling in base classes and elements in our docs
29197 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29199 * docs/gst/Makefile.am:
29200 * docs/libs/Makefile.am:
29201 fixed make distcheck with gtk-doc 1.3
29203 2005-06-23 Wim Taymans <wim@fluendo.com>
29205 * gst/gstelement.c: (gst_element_get_state_func),
29206 (gst_element_set_state), (gst_element_change_state):
29207 When the state did not change, also report NO_PREROLL
29210 2005-06-23 Wim Taymans <wim@fluendo.com>
29212 * gst/gstpad.c: (gst_pad_event_default):
29213 * gst/gstqueue.c: (gst_queue_loop):
29214 No unsafe task pausing please.
29216 2005-06-23 Wim Taymans <wim@fluendo.com>
29218 * gst/schedulers/threadscheduler.c:
29219 (gst_thread_scheduler_task_start),
29220 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29221 Ref the task before pushing it on the threadpool. This
29222 makes sure that we have a ref when the threadfunction is
29225 2005-06-23 Andy Wingo <wingo@pobox.com>
29227 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29228 offset is greater than the file's size.
29230 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29231 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29232 * gst/gstobject.c (gst_object_class_init): Make the class lock
29233 recursive. Wim won't let me drop deep_notify. Decodebin works
29234 again, whoopdy doo.
29236 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29237 internal pad, and hacks accordingly. Doesn't do it on the target
29238 pad because we change its caps. Probably catches all cases of
29240 (gst_ghost_pad_set_property): Connect to notify::caps as
29243 * tests/network-clock.scm (plot-simulation): Pipe data to the
29244 elite python skript.
29246 * tests/network-clock-utils.scm (define-parameter): New macro,
29247 defines a parameter that can be set via the command line.
29248 (set-parameter!, parse-parameter-arguments): Command line args
29251 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29254 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29256 * gst/elements/gsttypefindelement.c:
29257 (gst_type_find_element_handle_event):
29258 Don't restart typefinding on a discont.
29259 * gst/gstelement.c: (gst_element_set_state):
29260 Debug spelling fix.
29261 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29262 Allow changing mode of an active pad.
29263 Debug output fixes.
29264 * gst/registries/gstlibxmlregistry.c: (load_feature):
29265 Don't cast a static pad template to a normal pad template.
29267 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29269 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29270 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29271 remove gst_strtoll completely, since it didn't actually do
29272 anything more than what g_ascii_strtoull already does.
29273 check for range errors when deserializing
29274 do a cast for the unsigned cases; but further fixing needs
29275 a decision on what the interpretation of "(int)" and
29276 deserialization should be for values that fall outside the
29277 type's boundaries (ie, refuse, or interpret as casting)
29279 2005-06-23 Wim Taymans <wim@fluendo.com>
29281 * check/Makefile.am:
29282 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29283 * docs/design/part-live-source.txt:
29284 * docs/design/part-states.txt:
29285 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29286 (gst_basesrc_set_live), (gst_basesrc_is_live),
29287 (gst_basesrc_get_range), (gst_basesrc_activate),
29288 (gst_basesrc_change_state):
29289 * gst/base/gstbasesrc.h:
29290 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29291 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29292 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29293 * gst/gstelement.c: (gst_element_get_state_func),
29294 (gst_element_set_state):
29295 * gst/gstelement.h:
29297 * tools/gst-launch.c: (event_loop), (main):
29298 Added support for live sources and other elements that
29300 Updated design docs, added live-source design doc.
29301 Implemented live source functionality in basesrc
29302 Fix error condition in _bin_get_state()
29303 Implement live source handling in -launch.
29304 Added check for live sources.
29305 Fixed case in GstBin where elements were changed state
29309 2005-06-23 Andy Wingo <wingo@pobox.com>
29311 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29312 borken refcounting.
29314 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29315 gst_caps_replace takes care of this for us.
29317 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29318 gst_pad_set_caps on the target, not just its setcaps() function.
29320 * tests/network-clock.scm:
29321 * tests/network-clock-utils.scm: A network clock simulator.
29322 Something of an algorithmic testbed before doing something in C.
29324 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29326 * check/Makefile.am:
29327 * check/gst/capslist.h:
29328 copy over from 0.8, and add two with bitmasks specified with
29330 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29331 add test to parse everything from capslist.h
29332 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29334 add test for structure deserialization
29335 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29336 add tests for deserialization of strings to int types
29337 * gst/gststructure.c: (gst_structure_nth_field_name):
29338 * gst/gststructure.h:
29339 add a way to get the name of a field referenced by index
29340 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29341 instead of checking if the resulting long long lies between
29342 min and max, we check if the long long would fit into
29343 a number of bytes for the final type.
29344 This fixes cases where a string represents 2^32 - 1, which
29345 when cast to int would be the (valid) -1, but is bigger than
29348 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29350 * gst/parse/grammar.y:
29351 add a log line for type deserialization
29353 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29355 * check/gst/gstvalue.c: (START_TEST):
29356 * gst/gstvalue.c: (gst_value_deserialize):
29357 return long long, not int, so gint64 deserialization actually
29358 works. Is there any flag that makes the compiler check this ?
29361 2005-06-22 Wim Taymans <wim@fluendo.com>
29364 Added convenience macros for setting buffers in GValue.
29366 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29368 * check/gst/.cvsignore:
29369 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29370 add a test deserializing int64, and comment part out because
29373 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29375 * check/Makefile.am:
29376 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29377 * testsuite/Makefile.am:
29378 * testsuite/caps/Makefile.am:
29379 * testsuite/caps/value_serialize.c:
29380 * testsuite/test_gst_init.c:
29381 move a value_serialize test over
29383 2005-06-20 Wim Taymans <wim@fluendo.com>
29388 * gst/gstvalue.c: (gst_value_compare_buffer),
29389 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29390 (gst_value_compare_flags), (gst_value_serialize_flags),
29391 (gst_value_deserialize_flags), (_gst_value_initialize):
29392 Fix serialisation of buffers, they are not boxed types anymore
29394 2005-06-20 Wim Taymans <wim@fluendo.com>
29396 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29397 Testcase to show error in buffer-on-caps serialisation.
29399 2005-06-20 Andy Wingo <wingo@pobox.com>
29401 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29402 will be adding to later.
29404 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29405 if its socks fill with rocks.
29406 (gst_system_clock_obtain): Set the name on object construction.
29407 Avoid double-checked locking.
29409 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29411 * gst/gsturi.c: (gst_element_make_from_uri):
29412 Fix potential endless loop.
29414 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29416 * check/Makefile.am:
29418 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29420 move over from testsuite dir and clean up
29423 * testsuite/Makefile.am:
29424 * testsuite/tags/.cvsignore:
29425 * testsuite/tags/Makefile.am:
29426 * testsuite/tags/merge.c:
29427 remove testsuite/tags
29429 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29431 * docs/gst/gstreamer-sections.txt:
29432 * docs/gst/tmpl/gstenumtypes.sgml:
29433 * win32/gstenumtypes.c:
29434 clean up documentation build a little
29436 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29438 * check/gstcheck.h:
29439 add macros for checking refcounts on objects and caps
29440 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29441 add some more unit tests
29442 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29443 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29444 fix leaked refcounts (I hope :)) so unittest works
29448 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29450 * configure.ac: back to HEAD
29452 === release 0.9.1 ===
29454 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29460 2005-06-17 Andy Wingo <wingo@pobox.com>
29462 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29463 assert; it's always possible that the pad gets deactivated in
29464 between the checks in gstpad.c and the implementation. Rely on
29465 finish_preroll() to return a FLUSHING or similar instead of on the
29468 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29469 clock and post an EOS message if we come out of finish_preroll in
29472 2005-06-16 David Schleef <ds@schleef.org>
29474 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29475 (gst_capsfilter_set_property): Allow NULL as possible value
29476 for filter_caps property, indicating GST_CAPS_ANY.
29478 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29480 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29482 * gst/schedulers/Makefile.am:
29484 * gstreamer.spec.in:
29487 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29489 * gstreamer.spec.in:
29492 2005-06-08 Andy Wingo <wingo@pobox.com>
29494 * gst/gstutils.c: RPAD fixes all around.
29495 (gst_element_link_pads): Refcounting fixes.
29497 * tools/gst-inspect.c:
29498 * tools/gst-xmlinspect.c:
29500 * gst/base/gsttypefindhelper.c:
29501 * gst/base/gstbasesink.c:
29502 * gst/gstqueue.c: RPAD fixes.
29504 * gst/gstghostpad.h:
29505 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29506 pads. The tricky thing is they provide both source and sink
29507 interfaces, since they proxy the internal pad for the external
29508 pad, and vice versa. Implement with lower-level ProxyPad objects,
29509 with the interior proxy pad as a child of the exterior ghost pad.
29510 Should write a doc on this.
29512 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29513 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29516 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29517 pads are real pads. No ghost pads in this file. Not documenting
29518 the myriad s/RPAD/PAD/ and REALIZE fixes.
29519 (gst_pad_class_init): Add properties for "direction" and
29520 "template". Both are construct-only, so they can't change during
29521 the life of the pad. Fixes properly deriving from GstPad.
29522 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29523 derived objects, just set properties when creating the objects via
29525 (gst_pad_get_parent): Implement as a function, return NULL if the
29526 parent is not an element.
29527 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29528 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29530 * gst/gstobject.c (gst_object_class_init): Make name a construct
29531 property. Don't set it in the object init.
29533 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29534 with UNKNOWN direction.
29535 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29536 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29537 (gst_element_remove_pad): Remove ghost-pad special cases.
29538 (gst_element_pads_activate): Remove rpad cruft.
29540 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29541 catch the pad's-parent-not-an-element case.
29543 * gst/gst.h: Include gstghostpad.h.
29545 * gst/gst.c (init_post): No more real, ghost pads.
29547 * gst/Makefile.am: Add gstghostpad.[ch].
29549 * check/Makefile.am:
29550 * check/gst/gstbin.c:
29551 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29552 into a bin creates ghost pads, and that the refcounts are right.
29553 Partly moved from gstbin.c.
29555 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29557 * check/gst-libs/.cvsignore:
29558 * check/gst/.cvsignore:
29559 * check/pipelines/.cvsignore:
29561 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29562 (START_TEST), (cleanup_suite), (main):
29563 add some tests related to cleanup after running pipelines
29565 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29567 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29568 add a testsuite for GstBuffer
29570 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29572 * gst/gstminiobject.h:
29573 add defines for accessing the refcount
29575 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29577 * Makefile.am: added support for html unit test coverage reports
29579 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29581 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29582 Free existing caps if the capsfilter changes. Add a FIXME about
29583 setting those caps on the pads.
29585 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29586 Before adding a ghost pad to a parent bin, check that there isn't
29587 already one for the element on the bin. Prevents infinite recursion
29588 when using decodebin in parse pipelines. Andy says he'll rewrite the
29589 way this works anyway, so ignore the hack.
29591 2005-06-02 Andy Wingo <wingo@pobox.com>
29593 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29594 file size, pass it on to the type find helper.
29596 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29597 segment_start and segment_end properly according to the seek
29598 method. Segment_end is still a bit flaky because offset can be
29599 negative for CUR and END cases, but it takes -1 as an "unset"
29602 2005-06-02 Wim Taymans <wim@fluendo.com>
29604 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29605 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29606 (gst_basesink_activate):
29607 * gst/base/gstbasesink.h:
29608 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29609 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29610 (gst_pad_query), (gst_pad_start_task):
29612 * gst/gstqueue.c: (gst_queue_bufferalloc),
29613 (gst_queue_handle_sink_event), (gst_queue_chain):
29614 Bufferalloc: return GstFlowReturn to more accuratly report
29615 why allocation failed.
29617 2005-06-02 Wim Taymans <wim@fluendo.com>
29619 * gst/gstpipeline.c: (gst_pipeline_send_event):
29620 Take snapshot of state without blocking.
29622 2005-06-02 Wim Taymans <wim@fluendo.com>
29624 * docs/design/part-TODO.txt:
29625 * docs/design/part-caps.txt:
29626 * docs/design/part-clocks.txt:
29627 * docs/design/part-negotiation.txt:
29628 * docs/design/part-preroll.txt:
29631 2005-05-30 Wim Taymans <wim@fluendo.com>
29633 * gst/elements/gstidentity.c: (gst_identity_event),
29634 (gst_identity_transform), (gst_identity_get_property):
29635 Protect last_message property as it is accessed from
29638 2005-05-30 Wim Taymans <wim@fluendo.com>
29640 * gst/gstelement.c: (gst_element_init),
29641 (gst_element_pads_activate), (gst_element_change_state):
29642 Slicker pad activation code.
29644 2005-05-30 Wim Taymans <wim@fluendo.com>
29647 * gst/gstelement.h:
29648 * gst/gstelementfactory.h:
29650 Move elementfactory methods to separate .h file.
29652 2005-05-30 Wim Taymans <wim@fluendo.com>
29654 * docs/design/part-overview.txt:
29655 * gst/gstsystemclock.h:
29656 Small typo fixes, doc updates.
29658 2005-05-30 Wim Taymans <wim@fluendo.com>
29660 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29661 (init_popt_callback):
29662 Remove cpu-opt flag.
29664 2005-05-30 Wim Taymans <wim@fluendo.com>
29666 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29667 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29669 Avoid typechecking in places where not needed.
29670 Added accessor for malloc_data.
29672 2005-05-30 Wim Taymans <wim@fluendo.com>
29674 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29675 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29676 (gst_pad_configure_sink), (gst_pad_configure_src),
29677 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29678 (gst_pad_start_task):
29679 Propagate errors from _set_caps() in configure_src/sink
29680 functions instead of returning TRUE.
29681 FLUSH events can travel up and downstream
29684 2005-05-30 Wim Taymans <wim@fluendo.com>
29686 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29687 (gst_basesink_activate):
29688 Handle EOS in preroll.
29690 2005-05-30 Wim Taymans <wim@fluendo.com>
29692 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29693 (gst_queue_loop), (gst_queue_handle_src_event):
29694 Remove old pieces of code
29695 Flushing the queue in an upstream event is a very bad idea.
29697 2005-05-26 Andy Wingo <wingo@pobox.com>
29699 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29700 gst_value_set_mini_object so as to add a ref on the object (which
29701 will be removed when the value is unset).
29703 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29704 arg type in ::handoff.
29706 * gst/gstelement.c (gst_element_change_state): Also deactivate
29707 pads in READY->NULL, just in case the element didn't make it to
29708 PAUSED. Wingo tested, Wim approved.
29710 2005-05-26 Wim Taymans <wim@fluendo.com>
29712 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29713 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29714 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29715 A flushing pad cannot be used to alloc_buffer from.
29717 2005-05-26 Wim Taymans <wim@fluendo.com>
29719 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29720 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29721 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29722 (gst_bus_create_watch), (gst_bus_add_watch_full):
29724 Implement a real GSource and use g_main_context_wakeup() to
29725 signal new messages instead of the socketpair.
29727 2005-05-25 Wim Taymans <wim@fluendo.com>
29729 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29730 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29731 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29732 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29733 (gst_pad_send_event), (gst_pad_start_task):
29734 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29735 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29736 (gst_queue_sink_activate), (gst_queue_src_activate),
29737 (gst_queue_change_state):
29739 Fix state changes for non sinks. We now change sinks, then elements
29740 with unconnected srcpads, then the rest.
29741 More efficient queue unlocking in flush and state changes.
29742 Set the pad activate mode even if it does not have an activate
29745 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29747 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29748 Don't go in pull mode for non-seekable sources.
29749 * gst/elements/gsttypefindelement.h:
29750 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29751 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29752 (free_entry), (stop_typefinding),
29753 (gst_type_find_element_handle_event), (find_peek),
29754 (gst_type_find_element_chain), (do_pull_typefind),
29755 (gst_type_find_element_change_state):
29756 Allow typefinding (w/o seeking) in push-mode, simplified version
29757 of what was in 0.8.
29758 * gst/gstutils.c: (gst_buffer_join):
29760 gst_buffer_join() from 0.8.
29762 2005-05-25 Wim Taymans <wim@fluendo.com>
29764 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29765 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29766 (gst_pad_send_event), (gst_pad_start_task):
29767 Disable attempt at mode switching until it is figured out.
29769 2005-05-25 Wim Taymans <wim@fluendo.com>
29771 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29772 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29773 (gst_basesink_finish_preroll), (gst_basesink_chain),
29774 (gst_basesink_loop), (gst_basesink_activate),
29775 (gst_basesink_change_state):
29776 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29777 (gst_basesrc_get_range), (gst_basesrc_loop),
29778 (gst_basesrc_activate):
29779 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29780 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29781 (gst_real_pad_init), (gst_real_pad_set_property),
29782 (gst_real_pad_get_property), (gst_pad_set_active),
29783 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29784 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29785 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29786 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29787 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29788 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29789 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29790 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29791 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29792 (gst_pad_stop_task):
29794 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29795 (gst_queue_loop), (gst_queue_src_activate):
29796 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29797 (gst_task_get_state):
29799 * gst/schedulers/threadscheduler.c:
29800 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29801 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29803 Remove ACTIVE pad flag, use FLUSHING everywhere
29804 Added _pad_chain(), _pad_get_range() to call chain/getrange
29806 Add locks around IS_FLUSHING when reading.
29807 Take STREAM lock in chain(), get_range() functions so plugins
29808 don't need to take it anymore.
29812 2005-05-25 Wim Taymans <wim@fluendo.com>
29814 * tools/gst-launch.c: (event_loop):
29815 Unref message after using its contents instead of
29818 2005-05-24 Wim Taymans <wim@fluendo.com>
29820 * docs/design/draft-ghostpads.txt:
29821 * docs/design/draft-push-pull.txt:
29822 * docs/design/draft-query.txt:
29823 * docs/design/part-overview.txt:
29824 Docs updates, added general overview doc.
29826 2005-05-21 David Schleef <ds@schleef.org>
29828 * docs/gst/tmpl/old/GstBin.sgml:
29829 * docs/gst/tmpl/old/GstBuffer.sgml:
29830 * docs/gst/tmpl/old/GstCaps.sgml:
29831 * docs/gst/tmpl/old/GstClock.sgml:
29832 * docs/gst/tmpl/old/GstCompat.sgml:
29833 * docs/gst/tmpl/old/GstData.sgml:
29834 * docs/gst/tmpl/old/GstElement.sgml:
29835 * docs/gst/tmpl/old/GstEvent.sgml:
29836 * docs/gst/tmpl/old/GstIndex.sgml:
29837 * docs/gst/tmpl/old/GstStructure.sgml:
29838 * docs/gst/tmpl/old/GstTag.sgml:
29839 * docs/gst/tmpl/old/cothreads.sgml:
29840 * docs/gst/tmpl/old/cothreads_compat.sgml:
29841 * docs/gst/tmpl/old/gettext.sgml:
29842 * docs/gst/tmpl/old/gobject2gtk.sgml:
29843 * docs/gst/tmpl/old/grammar.tab.sgml:
29844 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29845 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29846 * docs/gst/tmpl/old/gst_private.sgml:
29847 * docs/gst/tmpl/old/gstaggregator.sgml:
29848 * docs/gst/tmpl/old/gstarch.sgml:
29849 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29850 * docs/gst/tmpl/old/gstbufferstore.sgml:
29851 * docs/gst/tmpl/old/gstdata_private.sgml:
29852 * docs/gst/tmpl/old/gstdisksink.sgml:
29853 * docs/gst/tmpl/old/gstdisksrc.sgml:
29854 * docs/gst/tmpl/old/gstelementfactory.sgml:
29855 * docs/gst/tmpl/old/gstextratypes.sgml:
29856 * docs/gst/tmpl/old/gstfakesink.sgml:
29857 * docs/gst/tmpl/old/gstfakesrc.sgml:
29858 * docs/gst/tmpl/old/gstfdsink.sgml:
29859 * docs/gst/tmpl/old/gstfdsrc.sgml:
29860 * docs/gst/tmpl/old/gstfilesink.sgml:
29861 * docs/gst/tmpl/old/gstfilesrc.sgml:
29862 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29863 * docs/gst/tmpl/old/gstidentity.sgml:
29864 * docs/gst/tmpl/old/gstindexfactory.sgml:
29865 * docs/gst/tmpl/old/gstmarshal.sgml:
29866 * docs/gst/tmpl/old/gstmd5sink.sgml:
29867 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29868 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29869 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29870 * docs/gst/tmpl/old/gstpipefilter.sgml:
29871 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29872 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29873 * docs/gst/tmpl/old/gstshaper.sgml:
29874 * docs/gst/tmpl/old/gstspider.sgml:
29875 * docs/gst/tmpl/old/gstspideridentity.sgml:
29876 * docs/gst/tmpl/old/gststatistics.sgml:
29877 * docs/gst/tmpl/old/gsttee.sgml:
29878 * docs/gst/tmpl/old/gsttimecache.sgml:
29879 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29880 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29881 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29882 * docs/gst/tmpl/old/types.sgml:
29883 I didn't intend to add these or check them in.
29885 2005-05-19 David Schleef <ds@schleef.org>
29887 * configure.ac: Use -no-common everywhere. In a sane world, it
29888 would be the default in libtool, because without it, you can't
29889 build DLLs on Windows.
29890 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29891 * docs/gst/gstreamer-sections.txt:
29892 * docs/gst/tmpl/gstcpu.sgml:
29893 * docs/gst/tmpl/gstdata.sgml:
29894 * docs/gst/tmpl/gstthread.sgml:
29896 2005-05-19 David Schleef <ds@schleef.org>
29898 * gst/gstminiobject.c: (gst_value_set_mini_object),
29899 (gst_value_take_mini_object), (gst_value_get_mini_object):
29900 * gst/gstminiobject.h: Add GValue set/get functions.
29902 2005-05-19 Wim Taymans <wim@fluendo.com>
29904 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29905 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29906 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29908 * gst/gstbus.c: (gst_bus_post):
29909 * gst/gstelement.c: (gst_element_get_random_pad):
29910 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29911 Make subbufer unref the parent in finalize.
29912 some more debugging info.
29915 2005-05-19 Wim Taymans <wim@fluendo.com>
29917 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29918 (gst_basesink_init), (gst_basesink_finalize),
29919 (gst_basesink_activate), (gst_basesink_change_state):
29920 Don't free preroll queue too early.
29922 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29926 Hi, I'm outdated. Please shoot me.
29928 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29930 * gst/gstpipeline.c: (gst_pipeline_send_event):
29931 Do not access variables after they have been deleted.
29933 2005-05-19 Wim Taymans <wim@fluendo.com>
29935 * tools/gst-inspect.c: (print_plugin_features):
29936 A plugin feature does unfortunatly not use the
29939 2005-05-18 Wim Taymans <wim@fluendo.com>
29941 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29942 Port _span() functions to new subbuffers.
29944 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29946 * gst/gstbin.c: (gst_bin_add_func):
29947 Fix clock settery in bins when adding kids after the clock has
29950 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29952 * gst/elements/gstidentity.c: (gst_identity_class_init):
29953 Workaround until signals support GstMiniObject.
29955 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
29958 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29960 2005-05-18 Wim Taymans <wim@fluendo.com>
29962 * gst/base/Makefile.am:
29963 * gst/base/gstadapter.c: (gst_adapter_base_init),
29964 (gst_adapter_class_init), (gst_adapter_init),
29965 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29966 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29967 (gst_adapter_flush), (gst_adapter_available),
29968 (gst_adapter_available_fast):
29969 * gst/base/gstadapter.h:
29970 Ported and added adapter to the base classes.
29972 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29975 * gst/gstmessage.c:
29976 Make sure the class is reffed/unreffed once before threads can be
29977 used. Fixes #304551.
29979 2005-05-17 Wim Taymans <wim@fluendo.com>
29981 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29982 (gst_basesink_chain_unlocked), (gst_basesink_activate):
29983 * gst/gstminiobject.c: (gst_mini_object_get_type),
29984 (gst_mini_object_free):
29985 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29986 (gst_pad_push), (gst_pad_push_event):
29987 * gst/gstqueue.c: (gst_queue_change_state):
29988 Don't queue buffers in basesink when we are flushing.
29989 Unref buffer when flushing in basesink.
29990 Flush queue when going to READY
29991 Unref buffer when _push() returns an error.
29992 Don't free MiniObject instance when refcount is incremented
29993 in _finalize() so that we can recover objects.
29995 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
29997 * docs/manual/advanced-schedulers.xml:
29998 * docs/manual/appendix-checklist.xml:
29999 * docs/pwg/advanced-clock.xml:
30000 * docs/pwg/advanced-interfaces.xml:
30001 * docs/pwg/advanced-request.xml:
30002 * docs/pwg/advanced-types.xml:
30003 * docs/pwg/intro-preface.xml:
30004 * examples/plugins/example.c: (gst_example_get_type),
30005 (gst_example_class_init), (gst_example_chain),
30006 (gst_example_set_property), (gst_example_get_property),
30007 (gst_example_change_state), (plugin_init):
30008 * examples/plugins/example.h:
30011 2005-05-17 Wim Taymans <wim@fluendo.com>
30013 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
30014 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
30015 * gst/gstqueue.c: (gst_queue_change_state):
30016 Clear queue when going to READY.
30017 Remove IN_SETCAPS flag too.
30019 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
30021 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
30022 Remove implicit cast from gboolean to GstElementStateReturn;
30023 make sure we still return failure in paused => ready case if
30024 the parent class fails to change state and our own stop
30027 2005-05-17 Wim Taymans <wim@fluendo.com>
30029 * tools/gst-launch.c: (event_loop):
30030 Message was unreffed too soon.
30032 2005-05-16 Andy Wingo <wingo@pobox.com>
30034 * gst/gstbin.c (sink_iterator_filter): Err... um...
30036 * check/gst/gstbin.c (test_ghost_pads): New test for the
30037 ghosting-if-elements-not-in-same-bin behavior.
30039 2005-05-16 David Schleef <ds@schleef.org>
30041 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30042 accessing refcount directly.
30044 2005-05-15 David Schleef <ds@schleef.org>
30046 * check/Makefile.am: remove GstData checks
30047 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30048 * gst/Makefile.am: add miniobject, remove data
30049 * gst/gst.h: add miniobject, remove data
30050 * gst/gstdata.c: remove
30051 * gst/gstdata.h: remove
30052 * gst/gstdata_private.h: remove
30053 * gst/gsttypes.h: remove GstEvent and GstMessage
30054 * gst/gstelement.c: (gst_element_post_message): fix for API changes
30055 * gst/gstmarshal.list: change BOXED -> OBJECT
30057 Implement GstMiniObject.
30058 * gst/gstminiobject.c:
30059 * gst/gstminiobject.h:
30061 Modify to be subclasses of GstMiniObject.
30062 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30063 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30064 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30065 (gst_subbuffer_get_type), (gst_subbuffer_init),
30066 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30069 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30070 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30071 (_gst_event_copy), (gst_event_new):
30073 * gst/gstmessage.c: (_gst_message_initialize),
30074 (gst_message_get_type), (gst_message_class_init),
30075 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30076 (gst_message_new), (gst_message_new_error),
30077 (gst_message_new_warning), (gst_message_new_tag),
30078 (gst_message_new_state_changed), (gst_message_new_application):
30079 * gst/gstmessage.h:
30080 * gst/gstprobe.c: (gst_probe_perform),
30081 (gst_probe_dispatcher_dispatch):
30083 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30084 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30085 (_gst_query_copy), (gst_query_new):
30087 Update elements for GstData -> GstMiniObject changes
30089 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30090 (gst_queue_chain), (gst_queue_loop):
30091 * gst/elements/gstbufferstore.c:
30092 (gst_buffer_store_add_buffer_func),
30093 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30094 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30095 (gst_fakesink_render):
30096 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30097 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30098 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30099 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30100 (gst_filesrc_create_read):
30101 * gst/elements/gstidentity.c: (gst_identity_class_init):
30102 * gst/elements/gsttypefindelement.c:
30103 (gst_type_find_element_src_event), (free_entry_buffers),
30104 (gst_type_find_element_handle_event):
30105 * libs/gst/dataprotocol/dataprotocol.c:
30106 (gst_dp_header_from_buffer):
30107 * libs/gst/dataprotocol/dataprotocol.h:
30108 * libs/gst/dataprotocol/dp-private.h:
30110 2005-05-15 David Schleef <ds@schleef.org>
30112 * gst/elements/gstelements.c: Don't include headers that were
30115 2005-05-15 David Schleef <ds@schleef.org>
30117 * gst/elements/Makefile.am: Remove some elements that don't
30118 need to be in the core (or even exist at all).
30119 * gst/elements/gstaggregator.c:
30120 * gst/elements/gstaggregator.h:
30121 * gst/elements/gstmd5sink.c:
30122 * gst/elements/gstmd5sink.h:
30123 * gst/elements/gstmultifilesrc.c:
30124 * gst/elements/gstmultifilesrc.h:
30125 * gst/elements/gstpipefilter.c:
30126 * gst/elements/gstpipefilter.h:
30127 * gst/elements/gstshaper.c:
30128 * gst/elements/gstshaper.h:
30129 * gst/elements/gststatistics.c:
30130 * gst/elements/gststatistics.h:
30131 * po/POTFILES.in: Remove above files.
30133 2005-05-14 Andy Wingo <wingo@pobox.com>
30135 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30136 so as to get the refs right.
30137 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30138 unreffing objects that don't pass the filter.
30140 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30141 gst_element_set_bus.
30142 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30143 normal cases, this will destroy the bus.
30145 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30148 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30151 2005-05-13 Andy Wingo <wingo@pobox.com>
30153 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30154 gst_pad_link, call pad_link_maybe_ghosting,
30155 (pad_link_maybe_ghosting): Links pads, making sure that the
30156 elements being linked are in the same bin.
30157 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30158 Helpers for pad_link_maybe_ghosting.
30160 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30163 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30165 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30167 * docs/design/part-element-source.txt:
30170 2005-05-12 Wim Taymans <wim@fluendo.com>
30172 * gst/base/gstbasesink.c: (gst_basesink_init),
30173 (gst_basesink_activate):
30174 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30175 (gst_basesrc_is_seekable):
30176 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30177 (bin_element_is_sink), (gst_bin_change_state):
30178 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30179 * gst/gstelement.h:
30180 Identify sinks by their flag to avoid overly complicated
30182 Do state changes even for elements not reachable from the
30184 BaseSink is a sink now :)
30185 Some more debugging info in the basesrc.
30188 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30190 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30191 Implement _query on a bin, similar to _send_event.
30193 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30195 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30196 Discont event offset format should be GST_FORMAT_BYTES,
30197 not GST_FORMAT_TIME.
30199 2005-05-12 Wim Taymans <wim@fluendo.com>
30201 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30202 Same fix as Ronald's but without the signal.
30204 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30206 * gst/gstutils.c: (gst_element_query_position):
30207 No, an element is not a pad.
30209 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30211 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30212 (gst_bin_get_state):
30213 If a child is removed from a bin while we remove the child from
30214 the bin and while we're retrieving its state, signal this to the
30215 get_state function so we abort the wait (instead of waiting for
30216 a timeout) and can immediately re-iterate over all other elements.
30218 2005-05-12 Wim Taymans <wim@fluendo.com>
30220 * gst/base/Makefile.am:
30221 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30222 (gst_basesrc_start):
30223 * gst/base/gstbasesrc.h:
30224 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30225 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30226 (gst_pushsrc_init), (gst_pushsrc_create):
30227 * gst/base/gstpushsrc.h:
30228 Added is_seekable to BaseSrc
30229 Added simple PushSrc.
30231 2005-05-11 Wim Taymans <wim@fluendo.com>
30233 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30234 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30235 (gst_element_link_pads), (gst_element_query_position),
30236 (gst_element_query_convert), (intersect_caps_func),
30237 (gst_pad_query_position), (gst_pad_query_convert):
30238 Fix refcounting in utils function.
30239 No point in trying to activate a pad when it's added, it could
30240 be added from the state change function and then we deadlock, the
30241 element has to decide what to do.
30243 2005-05-10 Andy Wingo <wingo@pobox.com>
30245 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30246 *all* the arguments.
30248 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30249 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30250 lock (according to the docs -- if this is wrong change the docs).
30252 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30253 flush messages in the NULL state.
30255 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30256 message immediately and return.
30257 (gst_bus_set_flushing): New function. If a bus is flushing, it
30258 flushes out any queued messages and immediately unrefs new
30259 messages. This is so when an element goes to NULL, all of the
30260 unhandled messages coming from it can be freed, and their
30261 references to the element dropped. In other words: message source
30262 ref considered harmful :P
30264 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30265 we're finished with it.
30267 * gst/gstmessage.c (gst_message_new_state_changed):
30269 2005-05-10 Wim Taymans <wim@fluendo.com>
30271 * gst/gstvalue.c: (gst_value_compare_flags),
30272 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30273 (_gst_value_initialize):
30274 Added flags serialize/deserialize/compare code.
30276 2005-05-09 Andy Wingo <wingo@pobox.com>
30278 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30279 Intersect the peer's caps with our caps.
30281 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30283 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30284 * gst/elements/gsttypefindelement.c: (find_peek):
30285 Handle negative offsets better. Fixes decodebin.
30287 2005-05-09 Wim Taymans <wim@fluendo.com>
30289 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30290 (gst_base_transform_event):
30291 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30292 Implement accept_caps.
30293 Fix silly lock/unlock mismatch in base class.
30295 2005-05-09 Wim Taymans <wim@fluendo.com>
30297 * docs/design/draft-push-pull.txt:
30298 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30299 * gst/elements/gstfilesink.c: (gst_filesink_init),
30300 (gst_filesink_query):
30301 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30302 (gst_type_find_handle_src_query), (find_element_get_length):
30303 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30304 * gst/gstelement.h:
30305 * gst/gstmessage.c:
30306 * gst/gstmessage.h:
30307 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30308 (gst_real_pad_get_caps_unlocked),
30309 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30310 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30311 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30312 (gst_real_pad_dispose), (gst_real_pad_finalize),
30313 (gst_pad_load_and_link), (gst_pad_save_thyself),
30314 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30315 (gst_pad_check_pull_range), (gst_pad_pull_range),
30316 (gst_pad_template_get_type), (gst_pad_template_class_init),
30317 (gst_pad_template_init), (gst_pad_template_dispose),
30318 (name_is_valid), (gst_static_pad_template_get),
30319 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30320 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30321 (gst_pad_get_element_private), (gst_pad_start_task),
30322 (gst_pad_pause_task), (gst_pad_stop_task),
30323 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30324 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30325 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30326 (gst_ghost_pad_new):
30328 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30329 (gst_query_new_position), (gst_query_set_position),
30330 (gst_query_parse_position), (gst_query_new_convert),
30331 (gst_query_set_convert), (gst_query_parse_convert):
30333 * gst/gstqueryutils.c:
30334 * gst/gstqueryutils.h:
30335 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30336 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30337 (gst_queue_handle_src_query):
30338 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30339 (gst_element_query_position), (gst_element_query_convert),
30340 (intersect_caps_func), (gst_pad_query_position),
30341 (gst_pad_query_convert):
30343 * tools/gst-inspect.c: (print_pad_info):
30344 * tools/gst-xmlinspect.c: (print_element_info):
30345 Remove old query functions. Ported old code.
30346 Added position/convert helper functions to gstutils.
30347 Reordered gstpad.c code, grouping relevant things.
30348 Remove gst_message_new(), always need to speficy a specific
30352 2005-05-09 Andy Wingo <wingo@pobox.com>
30354 * gst/gstiterator.h: Add some includes.
30356 * gst/gstqueryutils.h: Include more headers.
30359 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30360 some uses of gst_pad_query.
30362 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30363 NULL out parameters.
30364 (gst_query_new_position): New proc, allocates a new position
30367 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30368 gstqueryutils.c to the build.
30370 * gst/gststructure.c (gst_structure_set_valist): Implement with
30371 the generic G_VALUE_COLLECT.
30373 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30375 * gst/Makefile.am: (gst_headers):
30376 Added gstqueryutils.h to the list of headers to install, that was
30377 a 'nachty' move wingo :)
30379 2005-05-06 Andy Wingo <wingo@pobox.com>
30382 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30383 GstData, init a memchunk.
30384 (standard_definitions): Add a few query types, deprecate a few.
30385 (gst_query_get_type): New proc.
30386 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30388 (gst_query_new_application, gst_query_get_structure): New public
30391 * docs/design/draft-query.txt: Removed LINKS from the query types,
30392 because all the rest can be dispatched to other pads -- seemed
30393 ugly to have a query that couldn't be dispatched. internal_links
30394 is fine as a pad method.
30396 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30397 in gstpad.c, but maintain binary compatibility for the moment.
30398 Will fix before 0.9 is out.
30400 * gst/gstqueryutils.c:
30401 * gst/gstqueryutils.h: New files, implement 3 methods for each
30402 query type: parse_query, parse_response, and set. Probably need an
30405 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30407 * gst/elements/gstfilesink.c (gst_filesink_query2):
30408 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30409 query_types, and formats methods.
30411 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30412 (gst_pad_set_query2_function): New functions.
30413 (gst_real_pad_init): Set query2_default as the default query2
30414 function. Basically just dispatches to internally linked pads.
30418 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30419 without using the atomic operations. Only one thread can possibly
30420 be accessing the data at this point. Changed so as to avoid
30421 gst_atomic operations.
30423 2005-05-06 Wim Taymans <wim@fluendo.com>
30425 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30426 Also set caps if we use the fallback buffer alloc.
30428 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30430 * docs/gst/Makefile.am:
30431 * docs/gst/gstreamer-docs.sgml:
30432 * docs/gst/gstreamer-sections.txt:
30433 * docs/gst/tmpl/gstatomic.sgml:
30434 * docs/gst/tmpl/gstmemchunk.sgml:
30435 * testsuite/elements/struct_i386.h:
30436 * win32/GStreamer.vcproj:
30438 Purge GstAtomic stuff from docs and win32 makefiles as well
30440 2005-05-06 Wim Taymans <wim@fluendo.com>
30442 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30443 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30444 * gst/gstpad.c: (gst_pad_peer_get_caps):
30445 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30446 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30447 (gst_queue_src_activate), (gst_queue_change_state):
30449 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30450 (intersect_caps_func):
30451 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30452 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30453 Some fixes for the peer_get_caps() change.
30455 2005-05-06 Wim Taymans <wim@fluendo.com>
30457 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30458 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30459 (gst_basesink_activate):
30460 Actually do something with error codes returned from the push
30463 2005-05-06 Wim Taymans <wim@fluendo.com>
30465 * docs/design/part-element-sink.txt:
30466 * docs/design/part-element-source.txt:
30467 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30468 (gst_basesink_event), (gst_basesink_activate):
30469 * gst/base/gstbasesink.h:
30470 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30471 (gst_basesrc_activate):
30472 * gst/base/gstbasesrc.h:
30473 * gst/gstelement.c: (gst_element_pads_activate):
30474 Some more documentation.
30475 Fixed scheduling decision in _pads_activate().
30477 2005-05-05 Andy Wingo <wingo@pobox.com>
30479 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30482 2005-05-05 Wim Taymans <wim@fluendo.com>
30484 * gst/base/Makefile.am:
30485 * gst/base/gstbasesink.h:
30486 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30487 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30488 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30489 (gst_collectpads_class_init), (gst_collectpads_init),
30490 (gst_collectpads_finalize), (gst_collectpads_new),
30491 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30492 (find_pad), (gst_collectpads_remove_pad),
30493 (gst_collectpads_is_active), (gst_collectpads_collect),
30494 (gst_collectpads_collect_range), (gst_collectpads_start),
30495 (gst_collectpads_stop), (gst_collectpads_peek),
30496 (gst_collectpads_pop), (gst_collectpads_available),
30497 (gst_collectpads_read), (gst_collectpads_flush),
30498 (gst_collectpads_chain):
30499 * gst/base/gstcollectpads.h:
30500 * gst/elements/Makefile.am:
30501 * gst/elements/gstelements.c:
30502 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30503 (gst_fakesink_get_times), (gst_fakesink_event),
30504 (gst_fakesink_preroll), (gst_fakesink_render):
30505 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30506 (gst_filesink_init), (gst_filesink_set_location),
30507 (gst_filesink_open_file), (gst_filesink_close_file),
30508 (gst_filesink_pad_query), (gst_filesink_event),
30509 (gst_filesink_render), (gst_filesink_change_state):
30510 * gst/elements/gstfilesink.h:
30511 Added object to help in making collect pad based elements.
30513 Make event function in sink baseclass return gboolean.
30515 2005-05-05 Wim Taymans <wim@fluendo.com>
30517 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30518 (gst_bin_get_by_name):
30520 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30521 (gst_clock_finalize):
30522 * gst/gstdata.c: (gst_data_replace):
30524 * gst/gstelement.c: (gst_element_request_pad),
30525 (gst_element_pads_activate):
30526 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30527 (gst_object_unref):
30528 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30529 (gst_pad_set_checkgetrange_function),
30530 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30531 (gst_pad_check_pull_range), (gst_pad_pull_range),
30532 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30533 (gst_pad_pause_task), (gst_pad_stop_task):
30534 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30535 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30536 Fix name lookup in GstBin.
30537 Added _data_replace() function and _buffer_replace()
30538 Use finalize method to clean up clock.
30539 Fix refcounting on request pads.
30540 Fix pad schedule mode error.
30541 Some more object refcounting debug info,
30544 2005-05-04 Andy Wingo <wingo@pobox.com>
30546 * check/Makefile.am:
30547 * docs/gst/tmpl/gstatomic.sgml:
30548 * docs/gst/tmpl/gstplugin.sgml:
30549 * gst/base/gstbasesink.c: (gst_basesink_activate):
30550 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30551 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30552 (gst_basesrc_query), (gst_basesrc_set_property),
30553 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30554 (gst_basesrc_activate):
30555 * gst/base/gstbasesrc.h:
30556 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30557 (gst_base_transform_src_activate):
30558 * gst/elements/gstelements.c:
30559 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30560 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30561 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30562 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30563 (gst_type_find_element_checkgetrange),
30564 (gst_type_find_element_activate):
30565 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30566 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30567 (gst_caps_load_thyself):
30568 * gst/gstelement.c: (gst_element_pads_activate),
30569 (gst_element_save_thyself), (gst_element_restore_thyself):
30570 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30571 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30573 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30574 (gst_xml_parse_file), (gst_xml_parse_memory),
30575 (gst_xml_get_element), (gst_xml_make_element):
30576 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30577 (_file_index_id_save_xml), (gst_file_index_commit):
30578 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30579 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30581 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30582 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30583 * tools/gst-complete.c: (main):
30584 * tools/gst-compprep.c: (main):
30585 * tools/gst-inspect.c: (print_element_properties_info):
30586 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30587 * tools/gst-xmlinspect.c: (print_element_properties):
30590 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30592 * gst/gstplugin.c: (gst_plugin_check_module),
30593 (gst_plugin_check_file), (gst_plugin_load_file):
30594 apply patch from #172526 to make register work on MacOSX
30596 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30598 * docs/gst/tmpl/gstconfig.sgml:
30599 * gst/gstconfig.h.in:
30600 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30601 * testsuite/debug/printf_extension.c: (main):
30602 Do not use GST_PTR_FORMAT on pointers to types with
30603 sizeof < sizeof(gpointer). Fixes test on 64-bit
30604 * testsuite/elements/property.h:
30605 use correct printf format
30607 2005-05-02 Wim Taymans <wim@fluendo.com>
30609 * docs/design/draft-push-pull.txt:
30610 * docs/design/draft-query.txt:
30611 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30612 (gst_basesrc_start):
30613 Added draft for new query API.
30614 Added draft for better selecting scheduling methods.
30615 Make basesrc ignore length if the subclass does not support
30618 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30621 possible fixes for automake-1.5 - _LIBADD is reserved
30623 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30625 * docs/faq/Makefile.am:
30626 * docs/manual/Makefile.am:
30627 * docs/manuals.mak:
30628 * docs/pwg/Makefile.am:
30630 possible fixes for automake-1.5
30632 2005-04-28 Wim Taymans <wim@fluendo.com>
30634 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30635 (gst_basesink_pad_getcaps), (gst_basesink_init),
30636 (gst_basesink_do_sync):
30637 * gst/gstclock.c: (gst_clock_entry_new):
30638 * gst/gstevent.c: (gst_event_discont_get_value):
30639 * gst/gstpipeline.c: (pipeline_bus_handler),
30640 (gst_pipeline_change_state):
30641 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30642 Better debugging of clocking info.
30643 Allow NULL values when getting discont values.
30645 2005-04-27 Wim Taymans <wim@fluendo.com>
30647 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30648 * check/gst/gstpad.c: (gst_pad_suite):
30649 Increase timeout for checks.
30651 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30653 * check/Makefile.am:
30654 fix the broken rule for cleanup. Apparently this rule is
30655 only needed on FC2, so maybe this warrants further autotool
30658 2005-04-26 Wim Taymans <wim@fluendo.com>
30660 * gst/gsttrashstack.h:
30661 Ooohh. a nasty one! After having a failed pop() from the stack,
30662 it's possible that the stack is empty. In that case, don't
30663 follow the NULL pointer.
30665 2005-04-25 Wim Taymans <wim@fluendo.com>
30667 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30668 (gst_pad_set_checkgetrange_function),
30669 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30670 (gst_pad_check_pull_range), (gst_pad_pull_range),
30671 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30672 (gst_pad_pause_task), (gst_pad_stop_task):
30673 * gst/gstplugin.c: (gst_plugin_load):
30675 Remove gst_library_load as it does more harm than good with
30676 the new g_module flags.
30677 Revert bogus caps template check in pad linking, pad caps
30678 are important when linking not the template, which is more
30679 general than the current caps.
30681 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30683 * gst/autoplug/.cvsignore:
30684 * gst/autoplug/Makefile.am:
30685 * gst/autoplug/gstsearchfuncs.c:
30686 * gst/autoplug/gstsearchfuncs.h:
30687 * gst/autoplug/gstspider.c:
30688 * gst/autoplug/gstspider.h:
30689 * gst/autoplug/gstspideridentity.c:
30690 * gst/autoplug/gstspideridentity.h:
30691 * gst/autoplug/spidertest.c:
30694 2005-04-25 Wim Taymans <wim@fluendo.com>
30696 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30697 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30698 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30699 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30701 Added stubs for unimplemented functions.
30703 2005-04-24 David Schleef <ds@schleef.org>
30705 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30708 2005-04-24 David Schleef <ds@schleef.org>
30710 Convert everything from GstAtomicInt to g_atomic_int_*, and
30715 * gst/gstatomic_impl.h:
30723 * gst/gstdata_private.h:
30727 * gst/gstmessage.c:
30730 * gst/gststructure.c:
30731 * gst/gststructure.h:
30732 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30735 2005-04-24 David Schleef <ds@schleef.org>
30737 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30738 make the regressions tests work. Remove some code that is no
30740 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30741 Disable warning for pads without templates.
30743 2005-04-24 David Schleef <ds@schleef.org>
30745 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30746 functions that handle filtered links.
30747 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30749 * gst/gstutils.c: Fix/remove utility functions that handle
30752 * gst/gstvalue.c: Add serialization/deserialization of caps
30753 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30754 requires fixing so that the filter caps notation creates
30755 a capsfilter element and sets the filter_caps property. I
30756 think everyone probably wants to keep the shorthand notation.
30757 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30758 * docs/gst/tmpl/gstpad.sgml:
30760 * gst/elements/gstelements.c: Register capsfilter element.
30761 * gst/Makefile.am: fix spacing
30762 * docs/random/ds/0.9-suggested-changes: random
30764 2005-04-23 David Schleef <ds@schleef.org>
30766 * gst/elements/Makefile.am:
30767 * gst/elements/gstcapsfilter.c: New element that acts like an
30768 identity, but filters caps. Will eventually replace filtered
30769 caps in pad linking.
30770 * gst/gstutils.c: (gst_element_create_all_pads): New function
30771 to create all the ALWAYS pads that are registered with an
30772 element class. This functionality should eventually be
30773 merged in with GstElement initialization.
30775 * testsuite/trigger/README: part of trigger test code that should
30776 have been checked in a long time ago.
30778 2005-04-23 David Schleef <ds@schleef.org>
30780 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30781 needed with new versions of libtool (nobody will confirm this),
30782 and hard to carry around.
30783 * gst/autoplug/Makefile.am:
30784 * gst/base/Makefile.am:
30785 * gst/elements/Makefile.am:
30786 * gst/indexers/Makefile.am:
30787 * gst/schedulers/Makefile.am:
30788 * libs/gst/bytestream/Makefile.am:
30789 * libs/gst/control/Makefile.am:
30790 * libs/gst/dataprotocol/Makefile.am:
30791 * libs/gst/getbits/Makefile.am:
30793 2005-04-21 Wim Taymans <wim@fluendo.com>
30795 * docs/design/draft-push-pull.txt:
30796 * docs/design/part-MT-refcounting.txt:
30797 * docs/design/part-TODO.txt:
30798 * docs/design/part-caps.txt:
30799 * docs/design/part-events.txt:
30800 * docs/design/part-gstbus.txt:
30801 * docs/design/part-gstpipeline.txt:
30802 * docs/design/part-messages.txt:
30803 * docs/design/part-push-pull.txt:
30804 * docs/design/part-query.txt:
30807 2005-04-21 Wim Taymans <wim@fluendo.com>
30809 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30810 (gst_message_new), (gst_message_new_error),
30811 (gst_message_new_warning), (gst_message_new_tag),
30812 (gst_message_new_state_changed), (gst_message_new_application),
30813 (gst_message_get_structure):
30814 * gst/gstmessage.h:
30815 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30816 (gst_structure_copy_conditional):
30817 Use parent refcount in GstMessage to ensure GstStructure
30819 Cleaned up headers a bit.
30822 2005-04-20 Wim Taymans <wim@fluendo.com>
30824 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30825 (gst_basesink_pad_getcaps), (gst_basesink_init),
30826 (gst_basesink_chain_unlocked):
30827 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30828 (gst_type_find_helper):
30829 * gst/elements/gsttypefindelement.c:
30830 (gst_type_find_element_have_type), (gst_type_find_element_init),
30831 (stop_typefinding), (gst_type_find_element_handle_event),
30832 (find_suggest), (gst_type_find_element_chain),
30833 (gst_type_find_element_checkgetrange),
30834 (gst_type_find_element_getrange), (do_typefind),
30835 (gst_type_find_element_activate):
30836 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30837 (gst_buffer_default_free), (gst_buffer_default_copy),
30838 (gst_buffer_set_caps):
30839 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30840 (gst_caps_replace):
30841 * gst/gstmessage.c: (gst_message_new),
30842 (gst_message_new_state_changed):
30843 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30844 (gst_pad_set_checkgetrange_function),
30845 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30846 (gst_pad_set_caps), (gst_pad_check_pull_range),
30847 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30849 * gst/gsttypefind.c: (gst_type_find_register):
30850 Make gst_caps_replace() work like other _replace() functions.
30851 Use _caps_replace() where possible.
30852 Make sure _message_new() initialises its field.
30853 Add gst_static_pad_template_get_caps()
30856 2005-04-18 Andy Wingo <wingo@pobox.com>
30858 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30859 on the peer, not the pad. I think that was a typo. Pass an extra
30860 arg to see if random access is possible. Activate the pads as
30861 PULL_RANGE if possible.
30863 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30865 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30866 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30869 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30871 * docs/faq/using.xml:
30872 Add note on gstreamer-properties (#154996).
30874 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30876 * docs/random/bbb/optional-properties:
30877 Some analysis on optional properties.
30879 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30881 * docs/gst/tmpl/gstelementfactory.sgml:
30882 * gst/gstelement.h:
30883 * gst/gstelementfactory.c: (gst_element_factory_init),
30884 (gst_element_factory_cleanup), (gst_element_register),
30885 (__gst_element_factory_add_static_pad_template),
30886 (gst_element_factory_get_static_pad_templates),
30887 (gst_element_factory_can_src_caps),
30888 (gst_element_factory_can_sink_caps):
30889 * gst/registries/Makefile.am:
30890 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30891 (gst_xml_registry_class_init), (gst_xml_registry_init),
30892 (gst_xml_registry_new), (gst_xml_registry_set_property),
30893 (gst_xml_registry_get_property), (get_time), (make_dir),
30894 (gst_xml_registry_get_perms_func),
30895 (plugin_times_older_than_recurse), (plugin_times_older_than),
30896 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30897 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30898 (add_to_char_array), (read_string), (read_uint), (read_enum),
30899 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30900 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30901 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30902 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30903 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30904 (gst_xml_registry_rebuild):
30905 * gst/registries/gstlibxmlregistry.h:
30906 * tools/gst-compprep.c: (main):
30907 * tools/gst-inspect.c: (print_pad_templates_info):
30908 * tools/gst-xmlinspect.c: (print_element_info):
30909 Use libxml2 for registry parsing, use staticpadtemplates in
30910 elementfactories. Makes gst_init() +/- 10x faster.
30912 2005-04-12 Wim Taymans <wim@fluendo.com>
30914 * gst/base/Makefile.am:
30915 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30916 (gst_basesink_pad_getcaps), (gst_basesink_init),
30917 (gst_basesink_event), (gst_basesink_change_state):
30918 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30919 (gst_basesrc_init), (gst_basesrc_query),
30920 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30921 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30922 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30923 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30924 (gst_basesrc_stop), (gst_basesrc_activate),
30925 (gst_basesrc_change_state):
30926 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30927 (helper_find_suggest), (gst_type_find_helper):
30928 * gst/base/gsttypefindhelper.h:
30929 * gst/elements/Makefile.am:
30930 * gst/elements/gstelements.c:
30931 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30932 (gst_fakesink_get_times), (gst_fakesink_event),
30933 (gst_fakesink_preroll), (gst_fakesink_render):
30934 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30935 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30936 (gst_fakesrc_get_property), (gst_fakesrc_create),
30937 (gst_fakesrc_start), (gst_fakesrc_stop):
30938 * gst/elements/gstfakesrc.h:
30939 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30940 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30941 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30942 (gst_filesrc_create_read), (gst_filesrc_create),
30943 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30944 (gst_filesrc_start):
30945 * gst/elements/gsttypefindelement.c:
30946 (gst_type_find_element_have_type), (gst_type_find_element_init),
30947 (start_typefinding), (stop_typefinding), (push_buffer_store),
30948 (gst_type_find_element_handle_event),
30949 (gst_type_find_element_chain),
30950 (gst_type_find_element_checkgetrange),
30951 (gst_type_find_element_getrange), (do_typefind),
30952 (gst_type_find_element_activate),
30953 (gst_type_find_element_change_state):
30954 * gst/elements/gsttypefindelement.h:
30955 * gst/gstpipeline.c: (pipeline_bus_handler):
30956 Added typefind helper.
30957 Small preroll fix in the base sink.
30958 Disable typefind code in basesrc.
30959 Crude port of typefindelement.
30963 2005-04-11 Wim Taymans <wim@fluendo.com>
30965 * check/gst/gstbus.c: (gstbus_suite):
30966 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30967 * check/gstcheck.h:
30968 Fix up the timeout so that the test does not fail.
30970 2005-04-06 Wim Taymans <wim@fluendo.com>
30973 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30974 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30975 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30976 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30977 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30978 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30979 (gst_basesrc_stop), (gst_basesrc_activate),
30980 (gst_basesrc_change_state), (basesrc_find_peek),
30981 (basesrc_find_suggest), (gst_basesrc_type_find):
30982 * gst/base/gstbasesrc.h:
30983 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30984 (gst_filesrc_class_init), (gst_filesrc_init),
30985 (gst_filesrc_finalize), (gst_filesrc_set_location),
30986 (gst_filesrc_set_property), (gst_filesrc_get_property),
30987 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30988 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30989 (gst_filesrc_create_read), (gst_filesrc_create),
30990 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30991 * gst/elements/gstfilesrc.h:
30992 * gst/gstelement.c: (gst_element_get_state_func),
30993 (gst_element_lost_state), (gst_element_pads_activate):
30994 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30995 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30996 (gst_pad_pull_range):
30998 More work on the generic source base class, implement seeking,
31000 Make filesrc extend the base source class.
31001 Added gst_pad_set_checkgetrange_function to GstPad.
31003 2005-04-06 Andy Wingo <wingo@pobox.com>
31005 * pkgconfig/gstreamer-base.pc.in:
31006 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
31008 * pkgconfig/Makefile.am:
31009 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
31011 2005-04-04 Wim Taymans <wim@fluendo.com>
31013 * gst/base/Makefile.am:
31015 * gst/base/gstbasesink.c: (gst_basesink_base_init),
31016 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31017 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31018 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
31019 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
31020 (gst_basesrc_base_init), (gst_basesrc_class_init),
31021 (gst_basesrc_init), (gst_basesrc_get_formats),
31022 (gst_basesrc_get_query_types), (gst_basesrc_query),
31023 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
31024 (gst_basesrc_set_property), (gst_basesrc_get_property),
31025 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
31026 (gst_basesrc_loop), (gst_basesrc_activate),
31027 (gst_basesrc_change_state):
31028 * gst/base/gstbasesrc.h:
31029 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
31030 (gst_fakesrc_class_init), (gst_fakesrc_init),
31031 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
31032 (gst_fakesrc_get_property), (gst_fakesrc_create):
31033 * gst/elements/gstfakesrc.h:
31034 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
31035 (gst_filesrc_open_file), (gst_filesrc_loop),
31036 (gst_filesrc_activate), (filesrc_find_peek),
31037 (gst_filesrc_type_find):
31038 Made base source class, make fakesrc extend it.
31039 Add comments to basesink class.
31040 Some filesrc cleanup.
31042 2005-03-31 David Schleef <ds@schleef.org>
31044 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31045 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31046 expected to link against libgstreamer.
31047 * gst/base/Makefile.am: link against libgstreamer
31048 * gst/elements/Makefile.am: same
31050 2005-03-31 Andy Wingo <wingo@pobox.com>
31052 * tests/instantiate/Makefile.am:
31053 * tests/instantiate/caps.c: Add test to test speed of caps copy
31056 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31057 GMemChunk to be fair.
31059 * gst/gsttrashstack.h: Remove warning about using the fallback
31060 trash stack implementation, it's still faster than malloc.
31062 2005-03-30 Andy Wingo <wingo@pobox.com>
31064 * tests/complexity.c: Add a copyright.
31066 2005-03-31 Wim Taymans <wim@fluendo.com>
31068 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31069 (gst_base_transform_class_init), (gst_base_transform_init),
31070 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31071 (gst_base_transform_get_property),
31072 (gst_base_transform_sink_activate),
31073 (gst_base_transform_src_activate),
31074 (gst_base_transform_change_state):
31075 * gst/base/gstbasetransform.h:
31076 * gst/elements/gstidentity.c: (gst_identity_class_init),
31077 (gst_identity_event), (gst_identity_check_perfect),
31078 (gst_identity_transform), (gst_identity_start),
31079 (gst_identity_stop):
31080 Added start/stop methods to transform base class so subclasses
31081 don't need to deal with state changes even.
31083 2005-03-31 Wim Taymans <wim@fluendo.com>
31085 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31086 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31088 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31089 (gst_pad_pull_range):
31090 Added rate to the discont event to prepare for variable speed
31091 and reverse playback.
31093 2005-03-29 David Schleef <ds@schleef.org>
31096 * testsuite/trigger/Makefile.am:
31097 * testsuite/trigger/trigger.c: A little example program to show
31098 how trigger-based elements can work.
31100 2005-03-29 Wim Taymans <wim@fluendo.com>
31102 * gst/base/Makefile.am:
31104 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31105 (gst_basesink_base_init), (gst_basesink_class_init),
31106 (gst_basesink_pad_getcaps), (gst_basesink_init),
31107 (gst_basesink_activate), (gst_basesink_change_state):
31108 * gst/base/gstbasesink.h:
31109 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31110 (gst_base_transform_base_init), (gst_base_transform_finalize),
31111 (gst_base_transform_class_init), (gst_base_transform_init),
31112 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31113 (gst_base_transform_event), (gst_base_transform_getrange),
31114 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31115 (gst_base_transform_set_property),
31116 (gst_base_transform_get_property),
31117 (gst_base_transform_sink_activate),
31118 (gst_base_transform_src_activate),
31119 (gst_base_transform_change_state):
31120 * gst/base/gstbasetransform.h:
31121 * gst/elements/gstidentity.c: (gst_identity_finalize),
31122 (gst_identity_class_init), (gst_identity_init),
31123 (gst_identity_event), (gst_identity_check_perfect),
31124 (gst_identity_transform), (gst_identity_set_property),
31125 (gst_identity_get_property), (gst_identity_change_state):
31126 * gst/elements/gstidentity.h:
31127 * gst/gstelement.c: (gst_element_get_state_func),
31128 (gst_element_lost_state), (gst_element_pads_activate):
31129 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31130 (gst_pad_check_pull_range), (gst_pad_pull_range):
31132 Simplify pad activation.
31133 Added function to check if pull_range can be performed.
31134 Error out when pulling inactive or flushing pads.
31135 Removed const from refcounted types as it does not make sense.
31136 Simplify pad templates in basesink
31137 Added base class for simple 1-to-1 transforms.
31138 Make identity subclass the base transform.
31140 2005-03-29 Andy Wingo <wingo@pobox.com>
31142 * docs/libs/gstreamer-libs-overrides.txt:
31143 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31144 really don't understand what's going on, but like whatever. I want
31147 * docs/gst/Makefile.am:
31148 * docs/libs/Makefile.am: Dist the overrides files.
31150 * check/Makefile.am (clean-local): Remove .libs directories.
31152 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31153 elements to EXTRA_DIST, so po/ files are happy.
31155 * po/POTFILES.in: Er, remove it here.
31157 * po/POTFILES: Remove gstspider.c.
31159 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31161 * docs/libs/gstreamer-libs-docs.sgml:
31162 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31165 * tests/complexity.c (main): Set the length of the preroll queue
31166 on the sinks to prevent a lockup.
31168 * libs/gst/dataprotocol/Makefile.am:
31169 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31170 the same as the one in check/gst-libs/gdp.c.
31172 * po/, docs/gst/: Commit automatic changes to docs and po files.
31174 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31175 the versioned libgstbase.
31177 * check/Makefile.am: Depend on an unversioned gst-register, seems
31178 to make autoconf happier.
31180 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31182 2005-03-28 Wim Taymans <wim@fluendo.com>
31185 * docs/design/part-gstelement.txt:
31186 * docs/design/part-negotiation.txt:
31187 * docs/design/part-preroll.txt:
31188 * docs/design/part-scheduling.txt:
31189 * docs/design/part-states.txt:
31191 * gst/base/Makefile.am:
31193 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31194 (gst_basesink_base_init), (gst_basesink_class_init),
31195 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31196 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31197 (gst_basesink_set_pad_functions),
31198 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31199 (gst_basesink_set_property), (gst_basesink_get_property),
31200 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31201 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31202 (gst_basesink_preroll_queue_push),
31203 (gst_basesink_preroll_queue_empty),
31204 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31205 (gst_basesink_event), (gst_basesink_get_times),
31206 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31207 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31208 (gst_basesink_loop), (gst_basesink_activate),
31209 (gst_basesink_change_state):
31210 * gst/base/gstbasesink.h:
31211 * gst/elements/Makefile.am:
31212 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31213 (gst_fakesink_class_init), (gst_fakesink_init),
31214 (gst_fakesink_set_property), (gst_fakesink_get_property),
31215 (gst_fakesink_get_times), (gst_fakesink_event),
31216 (gst_fakesink_preroll), (gst_fakesink_render),
31217 (gst_fakesink_change_state):
31218 * gst/elements/gstfakesink.h:
31219 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31220 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31221 * gst/gstelement.c: (gst_element_add_pad),
31222 (gst_element_get_state_func), (gst_element_abort_state),
31223 (gst_element_commit_state), (gst_element_lost_state),
31224 (gst_element_set_state), (gst_element_pads_activate):
31225 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31226 * gst/gstpipeline.c: (gst_pipeline_send_event),
31227 (gst_pipeline_change_state):
31228 Added state change code.
31229 Added/updated docs.
31230 Added sink base class, make fakesink extend the base class.
31231 Small cleanups in GstPipeline.
31233 2005-03-26 David Schleef <ds@schleef.org>
31235 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31236 is broken and should be implemented in a different library.
31237 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31238 * gst/gst.h: remove gstcpu.h
31239 * gst/gstcpu.c: remove
31240 * gst/gstcpu.h: remove
31241 * gst/Makefile.am.future: Remove this file. It's ancient.
31243 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31245 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31246 (gst_bin_send_event):
31247 Add default event/set_manager handlers. The set_manager handler
31248 takes care that the manager is distributed over kids that were
31249 already in the bin before the manager was set. The event handler
31250 is a utility virtual function that sends the event over all sinks,
31251 so that gst_element_send_event (bin, event); has the expected
31253 * gst/gstpad.c: (gst_pad_event_default):
31254 Re-install default event handling for discontinuities, so that
31255 seeking works without requiring hacks in applications or extra
31257 * gst/gstpipeline.c: (gst_pipeline_class_init),
31258 (gst_pipeline_send_event):
31259 Half hack, half utility: set a pipeline to PAUSED for seek events,
31260 since that is the only way we can guarantee a/v sync. Means that
31261 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31262 and it "just works".
31264 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31266 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31267 Lock/unlock mismatch.
31269 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31271 * docs/faq/gst-uninstalled:
31272 add gst-plugins-base
31273 * docs/gst/Makefile.am:
31274 don't error out until docs are fixed
31275 * docs/gst/gstreamer.types:
31278 2005-03-22 Wim Taymans <wim@fluendo.com>
31280 * check/Makefile.am:
31281 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31282 * gst/gststructure.c: (gst_structure_set_valist),
31283 (gst_structure_copy_conditional):
31284 Activated more tests.
31285 Added message test.
31286 Added G_TYPE_POINTER to GstStructure.
31289 2005-03-22 Wim Taymans <wim@fluendo.com>
31291 * docs/design/part-TODO.txt:
31292 * docs/design/part-events.txt:
31293 * docs/design/part-gstbin.txt:
31294 * docs/design/part-gstbus.txt:
31295 * docs/design/part-gstpipeline.txt:
31296 * docs/design/part-messages.txt:
31298 * gst/gstmessage.c:
31301 2005-03-21 Wim Taymans <wim@fluendo.com>
31303 * gst/gstbus.c: (gst_bus_post):
31304 Fix copy-and-paste error.
31306 2005-03-21 Wim Taymans <wim@fluendo.com>
31308 * check/Makefile.am:
31310 * gst/elements/Makefile.am:
31311 * gst/elements/gstelements.c:
31312 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31313 (gst_fakesink_event), (gst_fakesink_chain):
31314 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31315 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31316 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31317 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31318 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31319 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31320 (gst_fakesrc_loop), (gst_fakesrc_activate),
31321 (gst_fakesrc_change_state):
31322 * gst/elements/gstfakesrc.h:
31323 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31324 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31325 (gst_filesrc_open_file), (gst_filesrc_loop),
31326 (gst_filesrc_activate), (gst_filesrc_change_state),
31327 (filesrc_find_peek), (filesrc_find_suggest),
31328 (gst_filesrc_type_find):
31329 * gst/elements/gstidentity.c: (gst_identity_finalize),
31330 (gst_identity_class_init), (gst_identity_init),
31331 (gst_identity_proxy_getcaps), (identity_queue_push),
31332 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31333 (gst_identity_getrange), (gst_identity_chain),
31334 (gst_identity_sink_loop), (gst_identity_src_loop),
31335 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31336 (gst_identity_set_property), (gst_identity_get_property),
31337 (gst_identity_change_state):
31338 * gst/elements/gstidentity.h:
31339 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31340 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31341 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31342 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31343 (gst_tee_sink_activate):
31344 * gst/elements/gsttee.h:
31345 * gst/gst.c: (gst_register_core_elements), (init_post):
31347 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31348 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31349 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31350 (gst_bin_change_state):
31352 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31353 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31354 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31355 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31356 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31357 (bus_watch_callback), (bus_watch_destroy),
31358 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31359 (poll_timeout), (gst_bus_poll):
31363 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31364 (gst_element_post_message), (gst_element_message_full),
31365 (gst_element_get_state_func), (gst_element_get_state),
31366 (gst_element_abort_state), (gst_element_commit_state),
31367 (gst_element_lost_state), (gst_element_set_state),
31368 (gst_element_pads_activate), (gst_element_change_state),
31369 (gst_element_dispose), (gst_element_set_manager_func),
31370 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31371 (gst_element_set_manager), (gst_element_get_manager),
31372 (gst_element_set_bus), (gst_element_get_bus),
31373 (gst_element_set_scheduler), (gst_element_get_scheduler):
31374 * gst/gstelement.h:
31375 * gst/gstevent.c: (gst_event_new_segment_seek),
31376 (gst_event_new_flush):
31378 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31379 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31380 (gst_message_new_eos), (gst_message_new_error),
31381 (gst_message_new_warning), (gst_message_new_tag),
31382 (gst_message_new_state_changed), (gst_message_new_application),
31383 (gst_message_get_structure), (gst_message_parse_tag),
31384 (gst_message_parse_state_changed), (gst_message_parse_error),
31385 (gst_message_parse_warning):
31386 * gst/gstmessage.h:
31387 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31388 (gst_real_pad_set_property), (gst_pad_set_active),
31389 (gst_pad_is_active), (gst_pad_set_blocked_async),
31390 (gst_pad_set_blocked), (gst_pad_is_blocked),
31391 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31392 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31393 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31394 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31395 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31396 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31397 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31398 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31399 (gst_pad_set_caps), (gst_pad_configure_sink),
31400 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31401 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31402 (gst_real_pad_dispose), (gst_real_pad_finalize),
31403 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31404 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31405 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31407 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31408 (pipeline_bus_handler), (gst_pipeline_change_state),
31409 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31410 * gst/gstpipeline.h:
31412 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31413 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31414 (gst_queue_link_src), (gst_queue_bufferalloc),
31415 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31416 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31417 (gst_queue_loop), (gst_queue_handle_src_event),
31418 (gst_queue_handle_src_query), (gst_queue_src_activate),
31419 (gst_queue_change_state):
31421 * gst/gstscheduler.c: (gst_scheduler_init),
31422 (gst_scheduler_dispose), (gst_scheduler_create_task),
31423 (gst_scheduler_factory_create):
31424 * gst/gstscheduler.h:
31425 * gst/gststructure.c: (gst_structure_get_type),
31426 (gst_structure_copy_conditional):
31427 * gst/gststructure.h:
31428 * gst/gsttaginterface.h:
31429 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31430 (gst_task_init), (gst_task_dispose), (gst_task_create),
31431 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31437 * gst/schedulers/Makefile.am:
31438 * gst/schedulers/cothreads_compat.h:
31439 * gst/schedulers/entryscheduler.c:
31440 * gst/schedulers/faircothreads.c:
31441 * gst/schedulers/faircothreads.h:
31442 * gst/schedulers/fairscheduler.c:
31443 * gst/schedulers/gstbasicscheduler.c:
31444 * gst/schedulers/gstoptimalscheduler.c:
31445 * gst/schedulers/gthread-cothreads.h:
31446 * gst/schedulers/threadscheduler.c:
31447 (gst_thread_scheduler_task_get_type),
31448 (gst_thread_scheduler_task_class_init),
31449 (gst_thread_scheduler_task_init),
31450 (gst_thread_scheduler_task_start),
31451 (gst_thread_scheduler_task_stop),
31452 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31453 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31454 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31455 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31457 * libs/gst/Makefile.am:
31458 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31459 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31460 (gst_file_pad_parent_set):
31461 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31462 (gst_dp_event_from_packet):
31463 * tests/complexity.c: (main):
31464 * tests/mass_elements.c: (main):
31465 * testsuite/states/locked.c: (message_received), (main):
31466 * testsuite/states/parent.c: (main):
31467 * tools/gst-inspect.c: (print_element_flag_info),
31468 (print_implementation_info), (print_pad_info):
31469 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31471 * tools/gst-md5sum.c: (event_loop), (main):
31472 * tools/gst-typefind.c: (main):
31473 * tools/gst-xmlinspect.c: (print_element_info):
31475 Added GstBus for mainloop integration.
31476 Added GstMessage for sending notifications on the bus.
31477 Added GstTask as an abstraction for pipeline entry points.
31479 Removed Schedulers.
31480 Simplified GstQueue for multithreaded core.
31481 Made _link threadsafe, removed old capsnego.
31482 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31483 Added pad blocking functions.
31484 Reworked scheduling functions in GstPad to prepare for
31485 scheduling updates soon.
31486 Moved events out of data stream.
31487 Simplified GstEvent types.
31488 Added return values to push/pull.
31489 Removed clocking from GstElement.
31490 Added prototypes for state change function for next merge.
31491 Removed iterate from bins and state change management.
31492 Fixed some elements, disabled others for now.
31493 Fixed -inspect and -launch.
31494 Added check for GstBus.
31496 2005-03-10 Wim Taymans <wim@fluendo.com>
31498 * docs/design/part-MT-refcounting.txt:
31499 * docs/design/part-clocks.txt:
31500 * docs/design/part-gstelement.txt:
31501 * docs/design/part-gstobject.txt:
31502 * docs/design/part-standards.txt:
31503 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31504 (gst_bin_remove_func), (gst_bin_remove):
31508 * testsuite/clock/clock1.c: (main):
31509 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31511 * testsuite/dlopen/loadgst.c: (do_test):
31512 * testsuite/refcounting/bin.c: (add_remove_test1),
31513 (add_remove_test2), (main):
31514 * testsuite/refcounting/element.c: (main):
31515 * testsuite/refcounting/element_pad.c: (main):
31516 * testsuite/refcounting/pad.c: (main):
31517 * tools/gst-launch.c: (sigint_handler_sighandler):
31518 * tools/gst-typefind.c: (main):
31520 Added doc about clock.
31521 removed gst_bin_iterate_recurse_up(), marked methods
31523 Fix more testsuites.
31525 2005-03-09 Wim Taymans <wim@fluendo.com>
31527 * gst/gstpad.c: (gst_pad_get_direction),
31528 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31529 (gst_pad_collect_valist):
31530 * testsuite/bins/interface.c: (main):
31531 * testsuite/caps/audioscale.c: (test_caps):
31532 * testsuite/caps/caps.c: (test1), (test2), (test3):
31533 * testsuite/caps/deserialize.c: (main):
31534 * testsuite/caps/enumcaps.c: (main):
31535 * testsuite/caps/filtercaps.c: (main):
31536 * testsuite/caps/intersect2.c: (main):
31537 * testsuite/caps/random.c: (main):
31538 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31539 * testsuite/caps/sets.c: (check_caps):
31540 * testsuite/caps/simplify.c: (check_caps), (main):
31541 * testsuite/caps/subtract.c: (check_caps):
31542 Fix _pad_get_direction wrt ghostpads.
31543 Fix caps testsuite.
31545 2005-03-09 Wim Taymans <wim@fluendo.com>
31547 * check/Makefile.am:
31548 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31549 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31550 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31551 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31552 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31553 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31554 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31555 (bin_element_is_sink), (gst_bin_iterate_sinks),
31556 (gst_bin_iterate_all_by_interface):
31558 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31559 (gst_element_change_state), (gst_element_dispose),
31560 (gst_element_finalize), (gst_element_set_loop_function):
31561 * gst/gstelement.h:
31562 * gst/gstiterator.c: (find_custom_fold_func):
31563 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31564 (gst_pad_collectv), (gst_pad_collect_valist),
31565 (gst_pad_template_new):
31566 * gst/gstpipeline.c: (gst_pipeline_class_init),
31567 (gst_pipeline_dispose), (gst_pipeline_set_property),
31568 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31569 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31570 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31572 * gst/schedulers/entryscheduler.c:
31573 * gst/schedulers/gstbasicscheduler.c:
31574 (gst_basic_scheduler_cothreaded_chain),
31575 (gst_basic_scheduler_chain_add_element):
31576 * testsuite/bins/interface.c: (main):
31578 Added GstSystemClock test.
31579 Implemented clock distribution code in GstBin.
31580 Implemented iterate sinks method for future use.
31581 Rearranged gstelement.h
31582 Fix GstIterator comparison bug.
31583 Moved some code to GstPipeline, mostly clocking related.
31585 2005-03-09 Wim Taymans <wim@fluendo.com>
31588 * gst/gst_private.h:
31589 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31590 (gst_bin_remove_func), (gst_bin_remove),
31591 (gst_bin_get_by_name_recurse_up):
31592 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31593 (gst_clock_id_compare_func), (gst_clock_id_wait),
31594 (gst_clock_id_wait_async), (gst_clock_init),
31595 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31596 * gst/gstelement.h:
31597 * gst/gstinfo.c: (_gst_debug_init):
31599 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31600 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31602 Bump version number, we're now 0.9.0
31603 Add future debugging category.
31604 Fix NULL _unref() in _get_by_name_recurse_up
31605 Rearrange gstpad.h.
31608 2005-03-08 Wim Taymans <wim@fluendo.com>
31610 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31611 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31612 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31613 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31614 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31615 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31616 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31617 * gst/elements/gstidentity.c: (gst_identity_class_init):
31618 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31619 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31620 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31621 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31622 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31624 * gst/gstelement.c: (gst_element_class_init),
31625 (gst_element_base_class_init), (gst_element_init),
31626 (gst_element_get_random_pad), (gst_element_wait_state_change),
31627 (gst_element_change_state), (gst_element_dispose),
31628 (gst_element_finalize), (gst_element_set_loop_function):
31629 * gst/gstelement.h:
31630 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31631 * gst/gstthread.c: (gst_thread_class_init),
31632 (gst_thread_release_children_locks), (gst_thread_change_state):
31633 * gst/schedulers/gstbasicscheduler.c:
31634 (gst_basic_scheduler_loopfunc_wrapper),
31635 (gst_basic_scheduler_chain_wrapper),
31636 (gst_basic_scheduler_src_wrapper),
31637 (gst_basic_scheduler_remove_element):
31638 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31639 Remove threadsafe properties. Fix elements because GObject
31640 complains when installing a property before declaring a
31641 set/get_property handler.
31642 Rearrange gstelement.h file, use STATE macros for state locks.
31643 Free mutexes in the finalize method instead of dispose.
31645 2005-03-08 Wim Taymans <wim@fluendo.com>
31647 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31648 * gst/gstthread.c: (gst_thread_release_children_locks):
31649 Added parentage check.
31650 Fix build og GstThread again.
31652 2005-03-08 Wim Taymans <wim@fluendo.com>
31654 * docs/design/part-MT-refcounting.txt:
31655 * docs/design/part-conventions.txt:
31656 * docs/design/part-gstobject.txt:
31657 * docs/design/part-relations.txt:
31658 * docs/design/part-standards.txt:
31659 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31660 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31661 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31662 (gst_bin_iterate_all_by_interface):
31665 * gst/gstelement.c: (gst_element_class_init),
31666 (gst_element_change_state), (gst_element_set_loop_function):
31667 * gst/gstelement.h:
31668 * gst/gstiterator.c:
31669 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31670 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31671 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31672 (gst_object_set_parent), (gst_object_unparent),
31673 (gst_object_check_uniqueness):
31675 Docs updates, clean up some headers.
31677 2005-03-07 Wim Taymans <wim@fluendo.com>
31679 * check/.cvsignore:
31680 * check/Makefile.am:
31681 * check/gst-libs/.cvsignore:
31682 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31683 * check/gst/.cvsignore:
31684 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31685 (START_TEST), (gstbus_suite), (main):
31686 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31687 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31688 (gst_data_suite), (main):
31689 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31690 (add_fold_func), (gstiterator_suite), (main):
31691 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31692 (thread_name_object), (thread_name_object_default),
31693 (gst_object_name_compare), (gst_object_suite), (main):
31694 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31695 (gst_pad_suite), (main):
31696 * check/gstcheck.c: (gst_check_log_message_func),
31697 (gst_check_log_critical_func), (gst_check_init):
31698 * check/gstcheck.h:
31699 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31700 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31703 2005-03-07 Wim Taymans <wim@fluendo.com>
31705 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31706 (gst_list_iterator_next), (gst_list_iterator_resync),
31707 (gst_list_iterator_free), (gst_iterator_new_list),
31708 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31709 (gst_iterator_free), (gst_iterator_push), (filter_next),
31710 (filter_resync), (filter_uninit), (filter_free),
31711 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31712 (gst_iterator_foreach), (find_custom_fold_func),
31713 (gst_iterator_find_custom):
31714 * gst/gstiterator.h:
31715 Added missing files.
31717 2005-03-07 Wim Taymans <wim@fluendo.com>
31721 * docs/design/part-MT-refcounting.txt:
31722 * docs/design/part-conventions.txt:
31723 * docs/design/part-gstobject.txt:
31724 * docs/design/part-relations.txt:
31725 * examples/mixer/mixer.c: (main):
31726 * examples/thread/thread.c: (eos), (main):
31728 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31729 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31730 (gst_spider_plug_from_srcpad):
31731 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31732 (gst_spider_identity_change_state),
31733 (gst_spider_identity_sink_loop_type_finding):
31734 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31735 * gst/elements/gstidentity.c: (gst_identity_init):
31736 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31737 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31738 * gst/elements/gsttypefindelement.c: (free_entry):
31741 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31742 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31743 (gst_bin_set_index), (gst_bin_set_element_sched),
31744 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31745 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31746 (gst_bin_iterate_elements), (iterate_child_recurse),
31747 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31748 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31749 (compare_interface), (gst_bin_get_by_interface),
31750 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31752 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31753 (gst_buffer_default_free), (gst_buffer_default_copy),
31754 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31755 (gst_buffer_create_sub):
31757 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31758 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31759 (gst_caps_unref), (gst_static_caps_get),
31760 (gst_caps_remove_and_get_structure), (gst_caps_append),
31761 (gst_caps_append_structure), (gst_caps_remove_structure),
31762 (gst_caps_copy_nth), (gst_caps_set_simple),
31763 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31764 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31765 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31766 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31767 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31768 (gst_caps_structure_figure_out_union),
31769 (gst_caps_switch_structures), (gst_caps_do_simplify),
31770 (gst_caps_replace), (gst_caps_from_string),
31771 (gst_caps_copy_conditional):
31773 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31774 (_gst_clock_id_free), (gst_clock_id_unref),
31775 (gst_clock_id_compare_func), (gst_clock_id_wait),
31776 (gst_clock_id_wait_async), (gst_clock_class_init),
31777 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31778 (gst_clock_get_time), (gst_clock_set_time_adjust),
31779 (gst_clock_set_property), (gst_clock_get_property):
31782 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31783 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31785 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31786 (gst_element_requires_clock), (gst_element_provides_clock),
31787 (gst_element_set_clock), (gst_element_clock_wait),
31788 (gst_element_wait), (gst_element_set_time_delay),
31789 (gst_element_is_indexable), (gst_element_add_pad),
31790 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31791 (pad_compare_name), (gst_element_get_static_pad),
31792 (gst_element_request_pad), (gst_element_get_request_pad),
31793 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31794 (gst_element_class_get_pad_template_list),
31795 (gst_element_class_get_pad_template), (gst_element_error_func),
31796 (gst_element_get_random_pad), (gst_element_get_event_masks),
31797 (gst_element_send_event), (gst_element_seek),
31798 (gst_element_get_query_types), (gst_element_query),
31799 (gst_element_get_formats), (gst_element_convert),
31800 (gst_element_is_locked_state), (gst_element_set_locked_state),
31801 (gst_element_sync_state_with_parent), (gst_element_change_state),
31802 (gst_element_finalize), (gst_element_yield),
31803 (gst_element_interrupt), (gst_element_set_scheduler),
31804 (gst_element_get_scheduler), (gst_element_set_loop_function):
31805 * gst/gstelement.h:
31807 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31808 (gst_format_get_by_nick), (gst_format_get_details),
31809 (gst_format_iterate_definitions):
31811 * gst/gstindex.c: (gst_index_gtype_resolver):
31814 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31815 (gst_mem_chunk_free):
31816 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31817 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31818 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31819 (gst_object_dispatch_properties_changed),
31820 (gst_object_set_name_default), (gst_object_set_name),
31821 (gst_object_get_name), (gst_object_set_name_prefix),
31822 (gst_object_get_name_prefix), (gst_object_set_parent),
31823 (gst_object_get_parent), (gst_object_unparent),
31824 (gst_object_check_uniqueness), (gst_object_save_thyself),
31825 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31826 (gst_object_set_property), (gst_object_get_property),
31827 (gst_object_get_path_string):
31829 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31830 (gst_real_pad_init), (gst_real_pad_get_property),
31831 (gst_pad_custom_new), (gst_pad_get_direction),
31832 (gst_pad_set_active), (gst_pad_is_active),
31833 (gst_pad_set_event_function), (gst_pad_is_linked),
31834 (gst_pad_link_free), (gst_pad_link_intersect),
31835 (gst_pad_link_fixate), (gst_pad_set_caps),
31836 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31837 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31838 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31839 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31840 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31841 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31842 (gst_pad_realize), (gst_pad_get_allowed_caps),
31843 (gst_real_pad_dispose), (gst_real_pad_finalize),
31844 (gst_pad_collectv), (gst_pad_collect_valist),
31845 (gst_pad_template_dispose), (gst_pad_template_new),
31846 (gst_pad_get_internal_links):
31848 * gst/gstpipeline.c: (gst_pipeline_dispose),
31849 (gst_pipeline_change_state):
31850 * gst/gstpipeline.h:
31852 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31853 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31854 * gst/gstpluginfeature.h:
31855 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31856 * gst/gstquery.c: (_gst_query_type_initialize),
31857 (gst_query_type_register), (gst_query_type_get_by_nick),
31858 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31860 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31861 * gst/gstscheduler.c: (gst_scheduler_add_element),
31862 (gst_scheduler_factory_create):
31863 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31864 (gst_structure_free), (gst_structure_set_name),
31865 (gst_structure_id_set_value), (gst_structure_set_value),
31866 (gst_structure_set_valist), (gst_structure_remove_field),
31867 (gst_structure_remove_fields),
31868 (gst_structure_remove_fields_valist),
31869 (gst_structure_remove_all_fields), (gst_structure_foreach),
31870 (gst_structure_map_in_place),
31871 (gst_caps_structure_fixate_field_nearest_int),
31872 (gst_caps_structure_fixate_field_nearest_double):
31873 * gst/gststructure.h:
31874 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31875 (gst_system_clock_init), (gst_system_clock_dispose),
31876 (gst_system_clock_async_thread),
31877 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31878 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31879 * gst/gstsystemclock.h:
31880 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31881 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31882 * gst/gsttaginterface.c:
31883 * gst/gstthread.c: (gst_thread_dispose),
31884 (gst_thread_release_children_locks), (gst_thread_change_state),
31885 (gst_thread_main_loop):
31886 * gst/gsttrashstack.h:
31887 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31889 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31890 (gst_element_request_pad), (gst_element_get_pad_from_template),
31891 (gst_element_request_compatible_pad),
31892 (gst_element_get_compatible_pad_filtered),
31893 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31894 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31895 (gst_element_link_many), (gst_element_link),
31896 (gst_element_link_pads), (gst_element_unlink_pads),
31897 (gst_element_unlink_many), (gst_element_unlink),
31898 (gst_pad_can_link_filtered), (gst_pad_can_link),
31899 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31900 (gst_object_default_error), (gst_bin_add_many),
31901 (gst_bin_remove_many), (gst_element_populate_std_props),
31902 (gst_element_class_install_std_props), (gst_buffer_merge),
31903 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31904 (link_fold_func), (gst_pad_proxy_setcaps):
31906 * gst/gstvalue.c: (gst_value_deserialize_string):
31907 * gst/parse/grammar.y:
31908 * gst/schedulers/gstbasicscheduler.c:
31909 (gst_basic_scheduler_cothreaded_chain),
31910 (gst_basic_scheduler_chain_recursive_add),
31911 (gst_basic_scheduler_pad_link):
31912 * gst/schedulers/gstoptimalscheduler.c:
31913 (get_group_schedule_function),
31914 (gst_opt_scheduler_state_transition),
31915 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31916 * libs/gst/bytestream/bytestream.c:
31917 * libs/gst/dataprotocol/dataprotocol.c:
31918 (gst_dp_header_from_buffer):
31921 * tests/threadstate/threadstate2.c: (eos):
31922 * tools/gst-compprep.c: (main):
31923 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31924 (print_pad_info), (print_children_info):
31925 * tools/gst-launch.c: (idle_func), (main):
31926 * tools/gst-md5sum.c: (idle_func), (main):
31927 * tools/gst-xmlinspect.c: (print_element_info):
31928 First THREADED backport attempt, focusing on adding locks and
31929 making sure the API is threadsafe. Needs more work. More docs
31932 2005-02-24 Andy Wingo <wingo@pobox.com>
31934 * tests/bench-complexity.scm:
31935 * tests/complexity.gnuplot: New files, good for running complexity
31938 * tests/Makefile.am:
31939 * tests/complexity.c: New test, sets up N elements, at each level
31940 teeing into M streams per element. Eeeenteresting.
31942 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31943 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31944 running bench-mass_elements.scm.
31946 * tests/bench-mass_elements.scm: New script, runs mass_elements
31947 for various numbers of identities, outputting the results to a
31948 file. Requires guile 1.6. Just for testing.
31950 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31952 * gst/schedulers/fairscheduler.c:
31953 compile with debug disabled
31955 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
31958 hunting season on 0.9 is now OPEN