1 2008-11-17 Stefan Kost <ensonic@users.sf.net>
3 * libs/gst/controller/gstcontroller.c:
4 * libs/gst/controller/gstcontrollerprivate.h:
5 Keep last-value and only call set_property if value has changed. This
6 supresses all the g_object_notifies we would trigger otherwise. It
7 also allows the user to chage the value while there is no controller
10 2008-11-17 Stefan Kost <ensonic@users.sf.net>
13 Don't crash if either of the string GValues is empty.
15 2008-11-17 Andy Wingo <wingo@pobox.com>
17 * tools/gst-inspect.c (print_all_uri_handlers): New function,
18 prints a summary of what URI schemes are supported by what
20 (main): Plumb in support for --uri-handlers or -u, and fix the
21 argc check for -a and -u.
23 2008-11-17 Sebastian Dröge <sebastian.droege@collabora.co.uk>
26 Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
29 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
31 * gst/gstbuffer.c: (gst_buffer_finalize):
32 Avoid costly typechecking for trivially correct pointers.
34 * gst/gstpoll.c: (gst_poll_wait):
35 Add some G_LIKELY here and there.
37 * libs/gst/base/gstadapter.c: (gst_adapter_push):
40 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
42 * docs/random/wtay/poll-timeout:
45 2008-11-13 Wim Taymans <wim.taymans@collabora.co.uk>
47 * tests/old/testsuite/caps/intersection.c: (main):
48 * tests/old/testsuite/plugin/loading.c: (main):
49 Remove references to deprecated API g_mem_chunk*.
52 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
54 * tools/gst-inspect.c: (main):
55 Add --plugin option. Fixes #560301.
57 2008-11-12 Wim Taymans <wim.taymans@collabora.co.uk>
59 * docs/random/wtay/poll-timeout:
60 Quick braindump for a possible (not totally verified) atomic case.
62 2008-11-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
64 * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
65 (gst_registry_binary_initialize_magic),
66 (gst_registry_binary_write_cache),
67 (gst_registry_binary_check_magic):
68 * gst/gstregistrybinary.h:
69 Don't write and check a CRC for the binary registry file. It's
70 guaranteed that the registry is completely written (it's first written
71 to a temporary file and then moved) and if the registry was corrupted
72 by some hardware failure we would have bigger problems.
74 Bump binary registry version to 0.10.21.1 for this as it's an
75 incompatible change and to ensure that the registry gets rebuild
78 This saves some milliseconds for reading/writing the registry.
81 2008-11-11 Wim Taymans <wim.taymans@collabora.co.uk>
83 * docs/random/wtay/poll-timeout:
84 Some pseudo code for how we could implement clock timeouts with GstPoll.
86 2008-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
88 * plugins/elements/gstfilesink.c:
89 Update Author string to match others.
91 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
93 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
94 Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
95 being fixed and inline the trivial check.
97 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
99 * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
100 (gst_caps_merge_structure), (gst_caps_get_structure),
101 (gst_caps_copy_nth), (gst_caps_set_simple),
102 (gst_caps_set_simple_valist), (gst_caps_is_fixed),
103 (gst_caps_is_equal_fixed), (gst_caps_intersect),
104 (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
105 (gst_caps_to_string):
106 Callgrind micro optimisations.
107 Avoid array bounds checks and force inline of trivial function.
109 * gst/gstobject.c: (gst_object_set_name_default):
110 -1 is equivalent to letting glib to the strlen but then there is more
111 room for optimisations and it's not our fault.
113 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
114 no need to clear the array, we're cool.
116 * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
117 The most common _is_fixed() check is done on fundamental glib base
118 types so we check this first instead of doing a huge amount of
119 useless GST_TYPE_ARRAY calls.
121 2008-11-06 Wim Taymans <wim.taymans@collabora.co.uk>
124 Add a SKIP seek flag for use with advanced trickmodes.
125 API: GstSeekFlags::GST_SEEK_FLAG_SKIP
127 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
129 * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
130 No need to memset, we can clear the value ourselves.
132 * gst/gstvalue.c: (gst_type_is_fixed),
133 (gst_value_get_compare_func):
134 Some optimisations from a few callgrind sessions:
135 When checking if a type is fixed, check for trivial fundamental types
136 first before checking types for which we need to get the type followed
137 by the heavy duty type checks, this reduces the amount of
138 g_type_fundamental() calls a lot.
139 When getting the compare function, first check for our registered types.
140 If that fails, do the heavy duty g_type_is_a() checks, reduces the
141 amount of g_type_is_a() considerably.
143 2008-11-05 Wim Taymans <wim.taymans@collabora.co.uk>
145 * docs/design/part-TODO.txt:
146 Mumble something about removing GstXML.
148 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
150 * gst/gstbin.c: (gst_bin_handle_message_func):
151 Get the seqnum before we dispose the message.
153 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
155 * docs/design/part-TODO.txt:
156 Refer to the framestepping document.
158 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
160 * gst/gstbin.c: (bin_handle_async_start),
161 (gst_bin_handle_message_func), (gst_bin_query):
162 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
163 (gst_base_sink_event), (gst_base_sink_change_state):
164 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
165 (gst_base_src_loop), (gst_base_src_change_state):
166 Copy seqnums from events to messages so that they can all be related
169 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
171 * tools/gst-launch.c: (event_loop):
172 Print the message seqnums.
174 2008-11-04 Andy Wingo <wingo@pobox.com>
176 * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
178 2008-11-04 Andy Wingo <wingo@pobox.com>
180 Add sequence numbers to events and messages. See #559250.
182 * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
186 * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
187 events with a new sequence number, and copy it when copying.
188 (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
189 an event's sequence number.
192 * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
193 (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
196 * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
198 2008-11-04 Wim Taymans <wim.taymans@collabora.co.uk>
200 * docs/manual/advanced-position.xml:
201 * docs/manual/basics-bins.xml:
202 * docs/manual/basics-bus.xml:
203 * docs/manual/basics-pads.xml:
204 * docs/manual/intro-gstreamer.xml:
205 * docs/manual/intro-preface.xml:
206 Some Application Development Manual fixes thanks to
207 Andrew Feren. Fixes #558459.
209 2008-11-03 Stefan Kost <ensonic@users.sf.net>
211 * gst/gstregistrybinary.c:
212 Don't bother with the GTimer if we don't output the results.
214 2008-11-03 Wim Taymans <wim.taymans@collabora.co.uk>
216 Patch by: David Schleef <ds@schleef.org>
218 * libs/gst/net/Makefile.am:
219 Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
221 2008-10-31 Stefan Kost <ensonic@users.sf.net>
223 * gst/gstregistrybinary.c:
224 Oh my, studip, stupid me. Remove double stat() call.
226 2008-10-31 Stefan Kost <ensonic@users.sf.net>
229 Use g_unlink instead of unlink.
231 * gst/gststructure.c:
240 Formatting & whitespaces.
242 2008-10-31 Stefan Kost <ensonic@users.sf.net>
244 * plugins/elements/gstidentity.c:
245 Doc typo. Use return value of parent_class->event.
247 * plugins/elements/gsttypefindelement.c:
248 Chain up at the end for consistency.
250 2008-10-30 Stefan Kost <ensonic@users.sf.net>
253 * docs/gst/gstreamer-docs.sgml:
254 * docs/gst/gstreamer-sections.txt:
255 * docs/gst/running.xml:
256 * docs/libs/gstreamer-libs-docs.sgml:
257 Change to xinclude based build - its faster and easier to maintain.
259 2008-10-30 Stefan Kost <ensonic@users.sf.net>
261 * gst/gstregistrybinary.c:
262 * gst/gstregistryxml.c:
263 Use g_unlink() as none of these are directories.
265 2008-10-29 Wim Taymans <wim.taymans@collabora.co.uk>
267 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
270 2008-10-27 Wim Taymans <wim.taymans@collabora.co.uk>
272 * libs/gst/base/gstbasetransform.c:
273 (gst_base_transform_find_transform), (gst_base_transform_getrange):
274 If we have a fixate function, call it even if we already have fixed caps
275 because the subclass might add some caps. Makes audioconvert add a
276 default channel layout.
278 2008-10-24 Wim Taymans <wim.taymans@collabora.co.uk>
280 * libs/gst/base/gstbasetransform.c:
281 (gst_base_transform_prepare_output_buffer),
282 (gst_base_transform_getrange):
283 Clear the output buffer variable.
284 Cleanups to the error path in the getrange function.
287 2008-10-23 Sebastian Dröge <slomo@circular-chaos.org>
289 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
290 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
291 Use gst_buffer_try_new_and_alloc() and handle errors instead of
292 using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
295 2008-10-23 Wim Taymans <wim.taymans@collabora.co.uk>
297 * gst/gstsegment.c: (gst_segment_set_newsegment_full):
298 Set the last_stop to a more meaningful position when configuring the
299 segment. ie. the start/stop of the segment or clipped against the
300 updated segment boundaries.
302 * tests/check/gst/gstsegment.c: (GST_START_TEST):
303 Add some unit tests for the last_stop.
305 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
307 * libs/gst/base/gstbytereader.c:
308 Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
311 2008-10-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
313 * docs/gst/gstreamer-sections.txt:
315 API: Move float endianness conversion macros from libgstfloatcast
316 to core as it's useful in general, even in core. Fixes bug #555196.
317 This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
318 GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
319 GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
321 Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
322 GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
323 GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
324 GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
326 2008-10-22 Sebastian Dröge <slomo@circular-chaos.org>
328 * docs/libs/gstreamer-libs-sections.txt:
329 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
330 (gst_byte_reader_peek_data):
331 * libs/gst/base/gstbytereader.h:
332 * win32/common/libgstbase.def:
333 API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
334 to get a pointer to the data at the current position and have
337 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
340 Fix a bug in the output of the configure script summary
341 when --gst-disable-registry is supplied
343 2008-10-22 Jan Schmidt <jan.schmidt@sun.com>
345 * libs/gst/base/gstbitreader.c:
346 * libs/gst/base/gstbytereader.c:
347 Fix the names of 2 functions in the docs strings.
349 2008-10-21 Wim Taymans <wim.taymans@collabora.co.uk>
351 * libs/gst/base/gstbasetransform.c:
352 (gst_base_transform_prepare_output_buffer),
353 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
354 Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
355 refcount problems as seen in banshee and maybe also in farsight2.
356 Remove atomic int now that we need to take the lock anyways.
358 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
360 * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
361 (gst_base_sink_default_prepare_seek_segment),
362 (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
363 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
364 (gst_base_sink_query):
365 Implement more seeking in pull mode.
366 Use pad convert functions to convert position to the requested format.
367 Fix position/duration reporting in pull mode.
368 Implement position and duration reporting in other formats than time.
370 * libs/gst/base/gstbasesink.h:
371 Add member to keep track of when the segment is playing.
373 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
375 * gst/gstpad.c: (gst_pad_configure_src):
376 When we use gst_pad_alloc_buffer() without wanting to set the caps we
377 also don't need to check if the caps are compatible because the caller
378 presumably is going to perform its own custom checks. Fixes some cases
379 where basetransform elements would error out when it was not needed.
381 2008-10-20 Wim Taymans <wim.taymans@collabora.co.uk>
383 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
386 * libs/gst/base/gstbasetransform.c:
387 (gst_base_transform_handle_buffer),
388 (gst_base_transform_reconfigure):
391 * win32/common/libgstbase.def:
394 2008-10-19 Stefan Kost <ensonic@users.sf.net>
396 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
397 Remove duplicated assignment and log a message in failure case.
399 2008-10-19 Tim-Philipp Müller <tim.muller at collabora co uk>
401 Patch by: Dig Ge <dig.ge.cn at gmail com>
403 * tests/examples/helloworld/helloworld.c: (main):
404 Fix copy'n'paste bug in hello world example (#556900).
406 2008-10-17 Wim Taymans <wim.taymans@collabora.co.uk>
408 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
409 (gst_base_sink_query):
410 Query the total number of bytes when activating the pad in pull mode.
411 Implement duration query in pull mode by using the installed pad convert
412 function to convert from bytes to the requested format.
414 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
416 * docs/libs/gstreamer-libs-sections.txt:
417 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
418 (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
419 (gst_base_sink_event), (gst_base_sink_perform_seek),
420 (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
421 (gst_base_sink_send_event), (gst_base_sink_change_state):
422 * libs/gst/base/gstbasesink.h:
423 Add method to commit the state in subclasses.
424 Refactor the flush_start and flush_stop code because we need it for
425 flushing while seeking too.
426 Implement the beginnings of seeking in pull mode.
427 Use the segment last_stop field for the pulling offset.
428 Fix the pause method in pull mode.
429 Configure the segment to BYTES for pull mode.
430 API: GstBaseSink::gst_base_sink_do_preroll()
432 2008-10-16 Wim Taymans <wim.taymans@collabora.co.uk>
434 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
437 2008-10-14 Tim-Philipp Müller <tim.muller at collabora co uk>
439 * gst/gstquark.c: (_priv_gst_quarks_initialize):
440 Fix printf format warning.
442 2008-10-14 Sebastian Dröge <slomo@circular-chaos.org>
444 * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
445 Fix flow aggregation of tee. Error out immediately for all flow returns
446 except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
447 and return OK if at least one pad is linked.
449 Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
450 and otherwise returned the flow return of the last pad, which is wrong.
452 * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
453 (GST_START_TEST), (tee_suite):
454 Add unit tests for the flow aggregation.
456 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
458 * docs/design/part-TODO.txt:
459 Remove item from the todo list because it was fixed with the latency
460 state change rewrites.
462 * docs/design/part-seeking.txt:
463 * docs/design/part-segments.txt:
466 * gst/gstevent.c: (gst_event_new_new_segment_full),
467 (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
468 (gst_event_parse_buffer_size), (gst_event_new_qos),
469 (gst_event_parse_qos), (gst_event_new_seek),
470 (gst_event_parse_seek), (gst_event_new_latency),
471 (gst_event_parse_latency):
472 Use quarks to construct and parse events.
474 * gst/gstquark.c: (_priv_gst_quarks_initialize):
476 Add some more quarks to the table.
477 Emit a warning when the quark tables are not in sync.
479 * tests/check/gst/gstbus.c: (GST_START_TEST):
482 2008-10-13 Stefan Kost <ensonic@users.sf.net>
484 * plugins/elements/Makefile.am:
485 * plugins/indexers/Makefile.am:
486 Don't install static libs for plugins. Fixes #550851 for core.
488 2008-10-13 Wim Taymans <wim.taymans@collabora.co.uk>
490 * gst/gstbus.c: (gst_bus_source_finalize),
491 (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
492 (gst_bus_enable_sync_message_emission),
493 (gst_bus_disable_sync_message_emission),
494 (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
495 Fix deadlock, g_source_get_id() cannot be called in finalize.
496 Keep track of the watch source by keeping a pointer to the source object
498 Use the bus lock to protect access to the pointer to the current
501 2008-10-13 Sebastian Dröge <sebastian.droege@collabora.co.uk>
503 Base on Patch by: Olivier Crete <tester at tester dot ca>
505 * gst/gstbus.c: (gst_bus_source_finalize),
506 (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
507 Only allow one bus watch to be set at a time. This is necessary
508 because the dispatcher pops the message from the bus and the second
509 watcher will then get NULL or the next message (and the first won't
510 get this next message then, etc). If more than one "watcher" is
511 required signal watches should be used. Fixes bug #526044.
513 2008-10-12 Jan Schmidt <jan.schmidt@sun.com>
515 * tools/gst-launch.c:
516 Change the printing of the 'buffering...' output to avoid putting
517 a \r in a translateable string (flagged by the TP).
519 2008-10-10 Sebastian Dröge <sebastian.droege@collabora.co.uk>
522 Clarify that the save_thyself() and restore_thyself() virtual
523 functions of GstObject need to be overriden, not
524 gst_object_(save|restore)_thyself() which is impossible.
527 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
529 * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
530 Revert a patch from 21 months ago that broke caps negotiation in pull
531 mode. Basically, having a buffer pass over a pad will trigger the
532 setcaps function when caps change, just like in push mode.
534 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
536 * docs/design/part-negotiation.txt:
537 Update the docs some more.
539 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
540 If we pull a buffer with non-trivial caps, suggest those caps with the
543 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
545 * docs/design/part-TODO.txt:
546 Add another limitation of pad-blocking with segment seeks not pushing
549 2008-10-10 Jan Schmidt <jan.schmidt@sun.com>
551 * win32/common/libgstbase.def:
552 * win32/common/libgstreamer.def:
553 Add new symbols to the win32 defs files
555 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
557 * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
558 (gst_bin_handle_message_func):
559 The message src can be NULL, don't try to print the object names in that
562 * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
563 Add some more debug info.
565 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
568 Fix the test, pull based sinks go ASYNC to PAUSED, just like other
571 2008-10-10 Wim Taymans <wim.taymans@collabora.co.uk>
573 * docs/design/part-negotiation.txt:
576 * docs/libs/gstreamer-libs-sections.txt:
577 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
578 (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
579 (gst_base_sink_init), (gst_base_sink_set_blocksize),
580 (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
581 (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
582 (gst_base_sink_loop), (gst_base_sink_pad_activate),
583 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
584 (gst_base_sink_change_state):
585 * libs/gst/base/gstbasesink.h:
586 Add blocksize property and methods to control the amount of data
588 Negotiate first before activating upstream in pull mode so that they can
589 negotiate themselves.
590 When we operate in pull mode, we only accept the caps that we
592 Make the sink go ASYNC to PAUSED, like all other sinks.
593 API: GstBaseSink::gst_base_sink_set_blocksize()
594 API: GstBaseSink::gst_base_sink_get_blocksize()
595 API: GstBaseSink::blocksize
597 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
598 (gst_base_src_set_live), (gst_base_src_is_live),
599 (gst_base_src_set_format), (gst_base_src_query_latency),
600 (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
601 (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
602 (gst_base_src_set_property), (gst_base_src_get_property):
603 * libs/gst/base/gstbasesrc.h:
604 Add typechecking in public API functions.
605 Add methods to control the blocksize in subclasses.
606 API: GstBaseSrc::gst_base_src_set_blocksize()
607 API: GstBaseSrc::gst_base_src_get_blocksize()
609 2008-10-10 Edward Hervey <edward.hervey@collabora.co.uk>
611 * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
612 (buffer_probe), (event_probe), (GST_START_TEST):
613 We now see 3 events go through our pad, since basesink now sends
614 upstream latency events.
616 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
618 * gst/gstpipeline.c: (gst_pipeline_change_state):
619 Release the object lock before trying to flush the bus.
621 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
623 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
624 Forward LATENCY events upstreams so that elements know about the total
625 pipeline latency. Fixes #555307.
627 2008-10-08 Jan Schmidt <jan.schmidt@sun.com>
629 * plugins/elements/gstqueue.c:
630 Allow through queries when we don't know how
631 to adjust them (not TIME or BYTES), as otherwise it's
632 not possible to query the current position in order
633 to seek in other formats at all.
635 2008-10-08 Andy Wingo <wingo@pobox.com>
637 * docs/gst/gstreamer-sections.txt: Placate doc pendants.
639 2008-10-08 Wim Taymans <wim.taymans@collabora.co.uk>
643 Unbreak -good build, private is a reserved c++ keyword.
645 2008-10-08 Andy Wingo <wingo@pobox.com>
647 * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
648 * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
649 removal: re-add GST_GHOST_PAD_CAST to the header.
651 * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
652 (GstGhostPadClass): Publically expose these structures so as to
653 allow easy subclassing from C. Hide the member data behind a
654 private opaque data pointer.
656 * gst/gstghostpad.c: Adapt to store instance data in the type
657 instance's private data region, not in the public struct.
659 2008-10-08 Andy Wingo <wingo@pobox.com>
661 * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
662 template via g_object_get(), be sure to unref it.
664 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
666 2008-10-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
668 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
669 If we can't get a cache file don't try to save something to it.
670 Dereferencing NULL pointers usually isn't a good idea.
672 2008-10-07 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
674 * tests/check/Makefile.am:
675 * tests/check/gst/gstabi.c:
676 * tests/check/gst/struct_sparc.h:
677 * tests/check/libs/libsabi.c:
678 * tests/check/libs/struct_sparc.h:
681 * tests/check/gst/gstvalue.c: (GST_START_TEST):
682 Cast signed integer to unsigned to avoid a compiler warning.
684 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
686 * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
687 (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
688 (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
689 (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
690 (gst_byte_reader_peek_int24_be):
691 Use new GST_READ_UINT24_(LE|BE) macros.
693 2008-10-07 Sebastian Dröge <sebastian.droege@collabora.co.uk>
695 * docs/gst/gstreamer-sections.txt:
697 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
698 as it's too easy to break the ISO C strict aliasing rules with simple
699 casts to the corresponding type and this would introduce hard to debug
700 bugs. Fixes bug #545714.
702 API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
704 2008-10-07 Tim-Philipp Müller <tim.muller at collabora co uk>
706 * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
707 * gst/gstghostpad.c: (gst_ghost_pad_construct):
708 Add 'Since' bits to gtk-doc chunks for new API.
710 2008-10-06 Thijs Vermeir <thijsvermeir@gmail.com>
712 * docs/gst/gstreamer-sections.txt:
715 2008-10-06 Andy Wingo <wingo@pobox.com>
717 * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
718 that will be called on the malloc_data to free it. Basically a way
719 to avoid subclassing when all you need is a different free
720 function, i.e. free() instead of g_free().
722 * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
723 calling the free function.
724 (gst_buffer_init): Initialize the free function to g_free.
726 2008-10-06 Andy Wingo <wingo@pobox.com>
729 * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
730 finishes the initialization of ghost pad. Useful for language
731 bindings and subclassers of GstGhostPad. Fixes #539108.
732 (gst_ghost_pad_new_full): Use the new constructor.
734 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
736 Base on Patch by: Olivier Crete <tester at tester dot ca>
738 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
739 (gst_bin_remove_func), (update_degree),
740 (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
741 Keep track of pads that are being linked/unlinked and resync the state
744 * gst/gstpad.c: (gst_pad_get_direction),
745 (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
746 (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
747 (gst_pad_link_prepare), (gst_pad_link),
748 (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
749 (gst_pad_check_pull_range), (gst_pad_get_range),
750 (gst_pad_pull_range):
751 Some code cleanups, use macros to check pad direction.
752 Don't need to take the lock on the pad direction.
753 Post structure change when pads are linked/unlinked.
754 Change some checks into _return_if_fail().
756 * tests/check/gst/gstbin.c:
757 (test_link_structure_change_state_changed_sync_cb),
758 (GST_START_TEST), (gst_bin_suite):
759 Add testcase for pad link/unlinke resync during a state change.
762 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
764 * docs/gst/gstreamer-sections.txt:
765 * gst/gstmessage.c: (gst_message_new_structure_change),
766 (gst_message_parse_structure_change):
768 Implement STRUCTURE_CHANGED messages. These messages will be used to
769 signal the parent bin of link/unlink operations that could require a
770 resync when doing a state change. See ##510354.
771 API: gst_message_new_structure_change()
772 API: gst_message_parse_structure_change()
774 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
778 Add some more quarks for new message. See #510354.
780 2008-10-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
782 * docs/libs/gstreamer-libs-docs.sgml:
783 * docs/libs/gstreamer-libs-sections.txt:
784 * libs/gst/base/Makefile.am:
785 * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
786 (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
787 (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
788 (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
789 (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
790 (gst_bit_reader_skip_to_byte):
791 * libs/gst/base/gstbitreader.h:
792 * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
793 (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
794 (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
795 (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
796 (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
797 (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
798 (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
799 (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
800 (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
801 (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
802 (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
803 (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
804 * libs/gst/base/gstbytereader.h:
805 * tests/check/Makefile.am:
806 * tests/check/libs/bitreader.c: (GST_START_TEST),
807 (gst_bit_reader_suite):
808 * tests/check/libs/bytereader.c: (GST_START_TEST),
809 (gst_byte_reader_suite):
810 API: Add bit reader and byte reader classes, including documentation
811 and an extensive unit test suite. Fixes bug #553554.
813 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
815 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
816 (gst_base_sink_query):
817 Improve position reporting while flushing and other intermediate state
818 changes. Fixes #553874.
820 2008-10-06 Wim Taymans <wim.taymans@collabora.co.uk>
822 Patch by: Antoine Tremblay <hexa00 at gmail dot com>
824 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
825 Original patch by : Simon Descaries
826 Fix small refount leak in caps compatibility check.
829 2008-10-06 Stefan Kost <ensonic@users.sf.net>
831 * docs/pwg/advanced-request.xml:
832 Fix 0.8 api usage in example. Fixes #554561
834 * docs/pwg/appendix-porting.xml:
835 Change 0.9 to 0.10 here.
837 2008-10-06 Stefan Kost <ensonic@users.sf.net>
839 * docs/manual/basics-data.xml:
840 Change "event-event interaction" to "element-element interaction".
841 Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
844 2008-10-05 Jan Schmidt <jan.schmidt@sun.com>
847 Back to development -> 0.10.21.1
849 === release 0.10.21 ===
851 2008-10-02 Jan Schmidt <jan.schmidt@sun.com>
854 releasing 0.10.21, "Take These Things From Me"
856 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
859 0.10.20.4 pre-release
861 2008-09-28 Jan Schmidt <jan.schmidt@sun.com>
863 * libs/gst/base/gstbasetransform.c:
864 * plugins/elements/gstcapsfilter.c:
865 * tests/check/Makefile.am:
866 * tests/check/elements/.cvsignore:
867 * tests/check/elements/capsfilter.c:
868 Fix assertion in basetransform when the subclass chooses not to
869 allocate a buffer in prepare_buffer(), and make capsfilter error out
870 cleanly if requested to apply caps that don't completely specify the
871 buffer. Fixes #551509
873 2008-09-24 Wim Taymans <wim.taymans@collabora.co.uk>
875 * libs/gst/base/gstbasetransform.c:
876 (gst_base_transform_prepare_output_buffer):
877 Take new caps ref because our old one might have been gone when the
878 subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
880 2008-09-15 Stefan Kost <ensonic@users.sf.net>
883 Do not probe availability of check unit test library when cross
884 compiling, as test would not work anyway. Also cleanup verbose output
885 of the check test. Fixes #551952.
887 2008-09-14 Wim Taymans <wim.taymans@collabora.co.uk>
889 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
891 * gst/gstelement.c: (gst_element_sync_state_with_parent):
892 Avoid leaking the parent ref when we fail changing the state of the
893 element using gst_element_sync_state_with_parent(). Fixes #551978.
895 2008-09-11 Tim-Philipp Müller <tim.muller at collabora co uk>
897 * docs/manual/intro-motivation.xml::
898 Remove some bits that no longer apply, update others (#551642).
900 2008-09-10 Jan Schmidt <jan.schmidt@sun.com>
903 0.10.20.2 pre-release
911 2008-09-09 Tim-Philipp Müller <tim.muller at collabora co uk>
913 * win32/common/config.h.in:
914 Add GST_DATADIR, hard-code cpu to x86.
916 * win32/common/libgstreamer.def:
919 2008-09-03 Tim-Philipp Müller <tim.muller at collabora co uk>
922 Fix Since: markers for new geo tags.
924 2008-09-02 Stefan Kost <ensonic@users.sf.net>
927 Fix actual tag name define after renaming from altitude to elevation.
929 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
931 * gst/gstpad.c: (add_unref_pad_to_list),
932 (gst_pad_get_internal_links_default):
933 Add fallback when calling the deprecated function on an element that
934 implements the new internal_link handler.
936 2008-09-01 Stefan Kost <ensonic@users.sf.net>
938 * docs/gst/gstreamer-sections.txt:
941 Add new tags for geo location and clarify purpose of existing location
944 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
946 Patch by: Olivier Crete <tester at tester dot ca>
948 * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
949 (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
950 Use thread-safe internal links iterator. Fixes #549504.
952 2008-09-01 Wim Taymans <wim.taymans@collabora.co.uk>
954 Based on patch by: Olivier Crete <tester at tester dot ca>
956 * docs/gst/gstreamer-sections.txt:
957 * win32/common/libgstreamer.def:
958 * gst/gstpad.c: (gst_pad_init),
959 (gst_pad_set_iterate_internal_links_function),
960 (int_link_iter_data_free), (iterate_pad),
961 (gst_pad_iterate_internal_links_default),
962 (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
964 Add threadsafe replacement functions for getting internal links of an
965 element. Deprecate the old internal links functions.
966 API:GstPad::gst_pad_set_iterate_internal_links_function()
967 API:GstPad::GstPadIterIntLinkFunction
968 API:GstPad::gst_pad_iterate_internal_links()
969 API:GstPad::gst_pad_iterate_internal_links_default()
971 * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
972 (gst_proxy_pad_init):
973 Implement threadsafe internal links.
975 * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
976 Unit test for internal links on tee. See #549504.
978 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
980 * tests/check/Makefile.am:
981 libs/transform1 test requires libs/test_transform.c
983 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
985 * gst/gstpad.c: (gst_pad_get_internal_links_default):
986 Die evil deadlock, die !
988 2008-08-30 Edward Hervey <edward.hervey@collabora.co.uk>
990 * gst/gstutils.c: (gst_element_get_compatible_pad):
991 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
992 * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
993 Fix all leaks due to the bug in gst_pad_template_new() by which it does
994 not steal the refcount of the given caps as stated.
996 REVERT THIS COMMIT ONCE FIXED !
997 REVERT THIS COMMIT ONCE FIXED !
998 REVERT THIS COMMIT ONCE FIXED !
999 REVERT THIS COMMIT ONCE FIXED !
1000 REVERT THIS COMMIT ONCE FIXED !
1001 REVERT THIS COMMIT ONCE FIXED !
1003 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1005 * gst/gstiterator.c:
1006 * gst/gstiterator.h:
1007 After 3 years it's about time to revise the documentation of the
1010 2008-08-29 Wim Taymans <wim.taymans@collabora.co.uk>
1012 * gst/gstpad.c: (gst_pad_get_internal_links_default):
1013 Make the internal links function less thread-unsafe and add some
1014 comments, dunno why.
1016 2008-08-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1018 * gst/gst_private.h:
1019 Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1020 build with --disable-gst-debug.
1022 2008-08-28 David Schleef <ds@schleef.org>
1024 * gst/gstpadtemplate.c: Revert last change, since it breaks
1025 a few plugins, ffmpeg, alaw, and mulaw. Code is correct,
1026 but shouldn't be enabled until we've released fixed versions
1027 of -good and -ffmpeg.
1029 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1032 Put the gst_object_get_name() back in.
1034 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1036 * gst/gstpadtemplate.c:
1037 The old behaviour was that gst_pad_template_new() takes ownership of
1038 the caps. As we now call g_object_new() which calls g_object_set() and
1039 which copies the caps, we have to unref them to not leak them. Fixes
1040 make valgrid for me.
1042 2008-08-28 Stefan Kost <ensonic@users.sf.net>
1045 Don't segfault on input like "tel:+1-123-555-1234".
1047 2008-08-27 Stefan Kost <ensonic@users.sf.net>
1050 Due to popular request also include ObjectType in
1051 gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1053 2008-08-26 David Schleef <ds@schleef.org>
1055 * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1056 src_val must be positive, because that's not a requirement.
1057 This causes problems with converting negative granulepos
1059 * gst/gstquery.c: Same, gst_query_new_convert().
1061 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1063 * gst/gstclock.c: (gst_clock_add_observation):
1064 Add some more debugging to the clock slaving code.
1066 * win32/common/libgstbase.def:
1067 Add new basetransform method.
1069 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1071 * gst/gstbin.c: (gst_bin_element_set_state):
1072 Take the (recursive) state lock between getting the locked state of an
1073 element and changing the element state. This allows the application to
1074 lock an element's state and then change its state without races.
1076 2008-08-25 Wim Taymans <wim.taymans@collabora.co.uk>
1078 * gst/gstbin.c: (gst_bin_element_set_state):
1079 When an element is in the locked state we still want to update the
1080 base_time of the element.
1082 2008-08-21 Wim Taymans <wim.taymans@collabora.co.uk>
1084 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1085 Use the result from gst_pad_set_caps() instead of assuming the element
1086 always accepted the caps computed by the default negotiate function.
1088 2008-08-20 Wim Taymans <wim.taymans@collabora.co.uk>
1090 * docs/libs/gstreamer-libs-sections.txt:
1091 * libs/gst/base/gstbasetransform.c:
1092 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1093 (gst_base_transform_chain), (gst_base_transform_suggest),
1094 (gst_base_transform_reconfigure):
1095 * libs/gst/base/gstbasetransform.h:
1096 Implement method for reconfiguring basetransform.
1097 API: GstBaseTransform::gst_base_transform_reconfigure()
1099 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1101 patch by: Murray Cumming <murrayc@murrayc.com>
1104 Mention that this is just like gst_buffer_merge() but with extra
1105 unreffing for C coders. Advise language bindings not to wrap it.
1108 Also fix file comment.
1110 2008-08-20 Stefan Kost <ensonic@users.sf.net>
1112 reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1114 * plugins/elements/gstfakesink.c:
1115 * plugins/elements/gstfakesrc.c:
1116 Call super::event() when not handling it. Fixes #544855.
1118 2008-08-19 Michael Smith <msmith@songbirdnest.com>
1120 Patch by: Alessandro Decina <alessandro@nnva.org>
1121 * plugins/elements/gstfilesrc.c:
1122 Use 64 bit variants of stat functions on win32, to enable support
1123 of large files there.
1126 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1128 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1129 (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1130 (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1131 (gst_base_sink_get_position), (gst_base_sink_change_state):
1132 Improve position reporting in the flushing state.
1133 Also report the position when we are not yet prerolled but we
1134 have a newsegment event. Fixes #543444.
1135 Improve the pull-based negotiation code.
1137 * tests/check/elements/fakesink.c: (GST_START_TEST),
1139 Add testcase for position reporting while flushing in PAUSED and
1142 * tests/check/generic/sinks.c: (GST_START_TEST):
1143 Update unit-test, we can now query the position as soon as we receive a
1146 2008-08-19 Wim Taymans <wim.taymans@collabora.co.uk>
1148 Based on patch by: Jason Zhao <e3423c at motorola dot com>
1150 * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1151 When the subclass event handler releases the PREROLL_LOCK, we could be
1152 in the flushing state and we have to ignore the event. Fixes #548394.
1154 2008-08-18 Tim-Philipp Müller <tim.muller at collabora co uk>
1156 * tools/gst-launch.1.in:
1157 Document GST_REGISTRY_UPDATE environment variable.
1159 2008-08-18 Wim Taymans <wim.taymans@collabora.co.uk>
1161 * libs/gst/base/gstbasetransform.c:
1162 (gst_base_transform_prepare_output_buffer):
1163 If the element is configured in passthrough mode but the
1164 prepare_output_buffer gave us a new output buffer, discard that buffer
1165 and reuse the input buffer.
1167 2008-08-15 Wim Taymans <wim.taymans@collabora.co.uk>
1169 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
1171 * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1172 (gst_tee_request_new_pad), (gst_tee_release_pad),
1173 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1174 * plugins/elements/gsttee.h:
1175 Protect pad_alloc with a new lock so that we can be sure that nothing is
1176 performing a pad_alloc when removing the pad. Fixes #547835.
1178 * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1179 (buffer_alloc_harness_teardown), (app_thread_func),
1180 (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1181 Added testcase for shutdown race.
1183 2008-08-14 Thijs Vermeir <thijsvermeir@gmail.com>
1188 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1190 * libs/gst/base/gstbasetransform.c:
1191 (gst_base_transform_prepare_output_buffer),
1192 (gst_base_transform_buffer_alloc):
1193 Go over the buffer_alloc function again and make sure we always end up
1194 allocating a buffer.
1196 Avoid doing pad alloc when we have a pending suggestion because we
1197 cannot yet deal with changing caps in that case. Fixes #547728
1199 2008-08-14 Stefan Kost <ensonic@users.sf.net>
1201 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1203 * docs/manual/advanced-clocks.xml:
1204 * docs/manual/clocks.png:
1205 * docs/manual/diagrams-clocks.svg:
1206 Add one more image showing different times together with a describing
1207 paragraph. Fixes #547729.
1209 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1211 * win32/common/libgstbase.def:
1214 2008-08-14 Wim Taymans <wim.taymans@collabora.co.uk>
1216 * libs/gst/base/gstbasetransform.c:
1217 (gst_base_transform_transform_caps),
1218 (gst_base_transform_prepare_output_buffer),
1219 (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1220 Don't overwrite the outsize when calculating the expected size of a new
1221 buffer because we still need it in case we cannot process the new
1223 When converting the size of the new buffer to an upstream size, actually
1224 use the expected size of the buffer, not some other random value.
1225 Use an atomic int to signal that a new upstream caps suggestion is
1227 When we can convert the current buffer to a new format, check if the
1228 buffer size is of the expected size and allocate a new buffer of the
1229 expected size when this is not the case. Fixes #546883.
1231 * tests/check/libs/transform1.c: (GST_START_TEST):
1232 remove ifdeffed code from the unit test.
1234 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1236 * pkgconfig/gstreamer-uninstalled.pc.in:
1237 * pkgconfig/gstreamer.pc.in:
1238 Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1239 called gstcontroller-0.10.
1241 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1243 * gst/gstchildproxy.h:
1245 Remove double interface from doc-string.
1247 2008-08-12 Stefan Kost <ensonic@users.sf.net>
1249 * libs/gst/base/gstbasesrc.c:
1250 * libs/gst/base/gstbasetransform.c:
1251 Fix headings in docs and gtk-doc warnings.
1253 2008-08-11 Michael Smith <msmith@songbirdnest.com>
1255 * gst/gstregistrybinary.c:
1256 Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1260 2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk>
1262 * libs/gst/base/gstbasetransform.c:
1263 (gst_base_transform_buffer_alloc):
1264 Fix a "may be used unitialized" warning.
1266 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1268 * docs/gst/gstreamer-sections.txt:
1270 Document preset-iface vmethods.
1272 2008-08-11 Stefan Kost <ensonic@users.sf.net>
1274 * docs/manual/advanced-interfaces.xml:
1275 Turn thoughts about HAL into a note-tag. Remove mentioning that is
1276 only used to discover devices.
1278 2008-08-07 Tim-Philipp Müller <tim.muller at collabora co uk>
1280 Patch by: Frederic Crozat <fcrozat@mandriva.org>
1282 * gst/gst.c: (init_pre):
1283 Make sure gettext returns translations in UTF-8 encoding rather
1284 than in the current locale encoding (#546822).
1286 2008-08-07 Wim Taymans <wim.taymans@collabora.co.uk>
1288 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1291 * tests/check/gst/gstcaps.c: (GST_START_TEST):
1292 Improve unit test subset tests and add a testcase for the subset failure
1295 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1296 Improve subtraction unit test.
1298 2008-08-07 Stefan Kost <ensonic@users.sf.net>
1300 * plugins/elements/gsttee.c:
1301 Unlock, instead of locking again.
1303 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1306 Clarify the docs a bit more.
1308 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1310 * tests/examples/metadata/read-metadata.c:
1311 Don't leak old taglist.
1313 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1315 Patch by: Olivier Crete <tester at tester dot ca>
1317 * gst/gststructure.c:
1318 (gst_structure_fixate_field_nearest_fraction):
1319 Avoid overflows in fixation code when dealing with MAXINT values, which
1320 v4l2src seems to do.
1323 * tests/check/gst/gststructure.c: (GST_START_TEST):
1324 Make a unit test to check the fix.
1326 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1328 * plugins/elements/gstcapsfilter.c: (copy_func),
1329 (gst_capsfilter_set_property):
1330 Use new caps suggestion feature of basetransform to request a caps
1331 negotiation upstream.
1333 2008-08-05 Wim Taymans <wim.taymans@collabora.co.uk>
1335 * docs/libs/gstreamer-libs-sections.txt:
1337 API: GstBaseTransform::gst_base_transform_suggest()
1339 * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1340 (gst_base_transform_init), (gst_base_transform_transform_caps),
1341 (gst_base_transform_transform_size),
1342 (gst_base_transform_configure_caps),
1343 (gst_base_transform_can_transform),
1344 (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1345 (gst_base_transform_prepare_output_buffer),
1346 (gst_base_transform_buffer_alloc),
1347 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1348 (gst_base_transform_chain), (gst_base_transform_activate),
1349 (gst_base_transform_set_passthrough),
1350 (gst_base_transform_is_passthrough),
1351 (gst_base_transform_set_in_place),
1352 (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1353 (gst_base_transform_set_qos_enabled),
1354 (gst_base_transform_is_qos_enabled),
1355 (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1356 (gst_base_transform_reconfigure):
1357 * libs/gst/base/gstbasetransform.h:
1358 Rewrite of basetransform to perform negotiation outside of the
1359 buffer_alloc functions. Fixes #545853.
1361 * tests/check/libs/transform1.c: (GST_START_TEST),
1365 2008-08-05 Stefan Kost <ensonic@users.sf.net>
1367 * tests/check/gst/gstpreset.c:
1368 Only run preset tests when $HOME is writable. Preliminary fix for
1371 2008-08-04 Wim Taymans <wim.taymans@collabora.co.uk>
1373 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1374 (gst_bin_change_state_func), (bin_handle_async_done),
1375 (gst_bin_handle_message_func):
1376 Fix race for bins that simulate ASYNC state changes by inserting
1377 ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1378 pending ASYNC messages even when the bin does not have ASYNC children.
1379 We note detect this behaviour because we will receive an ASYNC message
1380 that is originating from the bin itself.
1381 Fixes races with decodebin2 state changes.
1383 * tests/check/gst/gstbin.c: (GST_START_TEST):
1384 Add some more debug.
1386 2008-08-04 Tim-Philipp Müller <tim.muller at collabora co uk>
1388 * gst/gsttaglist.c: (_gst_tag_initialize):
1391 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1394 Argh. actually save the text before committing. Now adds
1395 gst_tag_merge_strings_with_comma() to gst_tag_register().
1397 2008-08-04 Stefan Kost <ensonic@users.sf.net>
1401 Do as tim pointed out and actually register the new tag. Also improve
1402 te docs and use gst_tag_merge_strings_with_comma() method to allow
1403 retriving all keywords merged in one list.
1405 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1408 * docs/gst/gstreamer.types:
1409 Revert 'accidential' change of the configure option removal. We still
1410 need to generate the types file in configure --disable-load-save.
1412 2008-08-01 Stefan Kost <ensonic@users.sf.net>
1414 * docs/gst/gstreamer-sections.txt:
1416 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1418 2008-08-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1420 * gst/gstpadtemplate.c:
1421 (gst_pad_template_class_init), (gst_static_pad_template_get),
1422 (gst_pad_template_new), (gst_pad_template_pad_created),
1423 (gst_pad_template_set_property), (gst_pad_template_get_property):
1424 Add "name-template", "direction", "presence" and "caps" properties,
1425 so that gst_pad_template_new() is just a thin wrapper around
1426 g_object_new(), which is better for bindings. (Fixes: #539772)
1428 2008-07-31 Michael Smith <msmith@songbirdnest.com>
1431 Be more liberal in what URIs we accept.
1432 Do not unescape bits of the URI for no apparent reason before passing to
1433 the element. Fixes #545352.
1435 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1437 Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1440 Include gstconfig.h as macros from it are used. Fixes bug #545607.
1442 2008-07-31 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1445 * docs/gst/gstreamer-sections.txt:
1446 * docs/gst/gstreamer.types:
1447 * docs/gst/gstreamer.types.in:
1450 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1451 * gst/gstconfig.h.in:
1452 * gst/gstelement.c: (gst_element_get_index):
1453 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1454 (gst_registry_binary_load_feature),
1455 (gst_registry_binary_read_cache):
1456 * gst/gstregistryxml.c: (load_feature),
1457 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1458 * plugins/Makefile.am:
1460 * tools/gst-inspect.c: (print_index_info), (print_element_list),
1461 (print_plugin_features), (print_element_features):
1462 * tools/gst-xmlinspect.c: (print_event_masks),
1463 (print_element_info):
1464 * win32/common/gstconfig.h:
1465 Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1467 Disabling the indexers and URI handler code will only reduce the
1468 required amount of memory by a very small amount but on the other hand
1469 requires much more maintaince work. Apart from that many places of
1470 code are broken when disabling them.
1472 Disabling the enum types doesn't reduce the required amount of memory
1473 by more than a few bytes and makes it hard to fix bugs like #539772,
1474 i.e. use the enums as GObject properties.
1476 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1478 * docs/design/part-TODO.txt:
1479 Add some thoughts and problems with upstream renegotiation.
1481 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1483 * gst/gstpad.c: (gst_pad_acceptcaps_default),
1484 (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1485 Remove silly redundant debug.
1486 Add some more debug info.
1487 Clarify the docs regarding new caps received from pad_alloc.
1489 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1491 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1492 (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1493 Make setting the caps more threadsafe.
1495 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1497 * docs/design/part-element-transform.txt:
1500 2008-07-31 Wim Taymans <wim.taymans@collabora.co.uk>
1502 * plugins/elements/gstqueue.c: (gst_queue_init),
1503 (gst_queue_acceptcaps):
1504 Add and use a custom acceptcaps function instead of falling back to the
1505 potentially less optimized default implementation.
1507 2008-07-29 Tim-Philipp Müller <tim.muller at collabora co uk>
1509 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1510 Only sanity-check the buffer size if requested_caps == buffer_caps
1511 (ie. don't take pad caps into account, they're not relevant here)
1513 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1515 * plugins/elements/gsttee.c:
1516 * plugins/elements/gsttee.h:
1517 Reverting as not everything is clear yet. Needs some general design
1520 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1523 ChangeLog surgery for tee commit.
1525 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1527 * docs/gst/gstreamer-sections.txt:
1528 Cleanup section-file.
1530 2008-07-29 Stefan Kost <ensonic@users.sf.net>
1532 * plugins/elements/gsttee.c:
1533 * plugins/elements/gsttee.h:
1534 Relay tag events in tee. Fixes parts of #474016.
1535 Downgrades 3 reoccurring debugs to log.
1537 2008-07-28 Michael Smith <msmith@songbirdnest.com>
1540 * libs/gst/Makefile.am:
1541 Build the net library if we have winsock2.
1543 2008-07-26 Stefan Kost <ensonic@users.sf.net>
1545 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1547 * docs/manual/advanced-threads.xml:
1548 * docs/manual/diagrams-pipelines.svg:
1549 * docs/manual/hello-world.png:
1550 * docs/manual/linked-elements.png:
1551 * docs/manual/mime-world.png:
1552 * docs/manual/queue.png:
1553 * docs/manual/thread-buffering.png:
1554 * docs/manual/thread-synchronizing.png:
1555 Replace one diagram with two separate ones and updates others.
1558 2008-07-25 Thijs Vermeir <thijsvermeir@gmail.com>
1561 Fix link in documentation.
1563 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1566 Fix confusing documentation.
1568 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1570 * libs/gst/base/gstbasesrc.h:
1571 revert the changes to the header file for the ABI.
1573 2008-07-24 Thijs Vermeir <thijsvermeir@gmail.com>
1575 * libs/gst/base/gstbasesrc.c:
1576 * libs/gst/base/gstbasesrc.h:
1577 Don't cache the seekable status.
1580 2008-07-24 Rene Stadler <mail@renestadler.de>
1582 * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1583 code to close the pipeline graph. This prevents the program from
1584 printing internal data flow errors.
1586 2008-07-23 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1588 * docs/manual/basics-bus.xml:
1589 Correct typo. Fixes bug #544320.
1591 2008-07-22 Michael Smith <msmith@songbirdnest.com>
1594 Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1595 Add check (taken from -base) for winsock, adds WIN32_LIBS
1597 Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1599 Define GST_EXPORTS when building libgstreamer (only used on win32)
1600 * gst/gst_private.h:
1602 Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1603 for symbols that we need to export in both these files.
1605 Include gst_private.h higher up to avoid some compile problems on win32.
1607 2008-07-22 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1612 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1615 Previous commit was wrong NULL caps does not exist
1616 and indicate an error, so also add a FIXME to
1617 gst_caps_is_equal where NULL caps are accepted.
1619 2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
1622 Allow passing of NULL to gst_caps_union
1624 2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
1626 * gst/gstghostpad.c:
1627 Add in doc that gst_ghost_pad_set_target can accept
1628 NULL to clear target
1630 2008-07-15 Michael Smith <msmith@songbirdnest.com>
1633 * gst/gstregistry.c:
1634 GstRegistryPool doesn't exist; don't refer to it in docs.
1635 Don't refer to functions that don't exist in docs, it's
1638 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1641 Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1643 2008-07-12 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1645 Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1647 * docs/pwg/building-testapp.xml:
1648 Don't use an undeclared variable in the example program.
1651 2008-07-12 Stefan Kost <ensonic@users.sf.net>
1653 * gst/gstdebugutils.c:
1654 Squeeze ghost-pad links and remove <> from classname labels to save
1655 more horizontal space.
1657 2008-07-11 Stefan Kost <ensonic@users.sf.net>
1659 * gst/gstdebugutils.c:
1660 Give request and sometimes pads a different shpe style. Condense the
1661 graphs a little more.
1663 2008-07-09 Michael Smith <msmith@songbirdnest.com>
1666 Don't require flex and bison if the parser is disabled.
1668 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1670 * libs/gst/controller/gstinterpolationcontrolsource.c:
1671 (_list_find_sorted_custom):
1672 Don't use declarations after statements.
1674 2008-07-08 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1676 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1677 Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1678 of the the child-added / -removed signals as GstChildProxy
1679 only supports GstObjects.
1681 2008-07-07 Thijs Vermeir <thijsvermeir@gmail.com>
1683 * gst/gstdebugutils.c:
1686 2008-07-06 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1688 Patch by: Alessandro Decina <alessandro at nnva dot org>
1691 Fix "ignored return value" compiler warning with newer glibc.
1693 2008-07-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1695 * gst/gstchildproxy.c:
1696 Fix copy&paste error in gst_child_proxy_removed() documentation.
1698 2008-07-02 Tim-Philipp Müller <tim.muller at collabora co uk>
1700 * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1701 Print error debug message if plugin description fields that should
1704 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1705 Don't crash if the string to serialise is NULL (it really should
1706 not be, but apparently this used to work with the xml registry ...).
1708 2008-07-02 Thijs Vermeir <thijsvermeir@gmail.com>
1710 * tools/gst-plot-timeline.py:
1711 Fix parsing of log messages
1713 2008-07-01 Tim-Philipp Müller <tim.muller at collabora co uk>
1715 * win32/common/libgstbase.def::
1716 Sort alphabetically so make check-exports doesn't barf.
1718 2008-07-01 Stefan Kost <ensonic@users.sf.net>
1721 Use gst_format_get_name() to improve debug output.
1724 Remove #ifdef'ed code. Add TODO comment.
1727 Add debug output to ease spotting format != segment.format assertions.
1729 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1731 * tests/check/libs/gdp.c: (gst_dp_suite):
1732 Also enable the GDP unit test again on PPC now that the bug
1735 2008-06-30 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1737 * libs/gst/dataprotocol/dataprotocol.c:
1738 Don't write to the same region of memory as a uint64 and uint16
1739 as this breaks strict aliasing rules and apparantly breaks on PPC
1740 and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1742 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1744 * libs/gst/controller/gstinterpolationcontrolsource.c:
1745 Optimize list handling. Use own find function. Exploit that fact that
1746 the list is sorted. Also pass back the node before, so that we can
1747 insert quickly. Have a fast path for append.
1749 2008-06-29 Stefan Kost <ensonic@users.sf.net>
1751 * docs/design/draft-framestep.txt:
1752 * docs/design/part-negotiation.txt:
1755 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1758 Show configuration sumary after configure run. Based on patch by
1759 Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1761 2008-06-27 Stefan Kost <ensonic@users.sf.net>
1763 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1765 * docs/manual/advanced-autoplugging.xml:
1766 * docs/manual/advanced-threads.xml:
1767 * docs/manual/basics-bins.xml:
1768 * docs/manual/basics-elements.xml:
1769 * docs/manual/basics-helloworld.xml:
1770 * docs/manual/basics-pads.xml:
1771 Add scale factor for pdf output.
1773 * docs/manual/intro-basics.xml:
1774 Switched sections "pads" and "bins" and added a pipeline diagram.
1776 * docs/manual/intro-gstreamer.xml:
1777 Added more info on gstreamer.
1779 * docs/manual/intro-motivation.xml:
1780 Commented out the whole section "current problem", which sounds
1781 historical and somehow osolete; it could be turned in a positive
1782 way and reused to improve the design principles.
1784 * docs/manual/intro-preface.xml:
1785 - Update URLs to library.gnome.org.
1786 - Do not mention GTK+ in preliminary reading (irrelevant).
1787 - Mention Plugin Writer's Manual and further reading only in the
1789 - Added a list of most relevant GObject/glib topics.
1791 * docs/manual/Makefile.am:
1792 * docs/manual/bin-element-ghost.fig:
1793 * docs/manual/bin-element-ghost.png:
1794 * docs/manual/bin-element-noghost.fig:
1795 * docs/manual/bin-element-noghost.png:
1796 * docs/manual/bin-element.fig:
1797 * docs/manual/bin-element.png:
1798 * docs/manual/filter-element-multi.fig:
1799 * docs/manual/filter-element-multi.png:
1800 * docs/manual/filter-element.fig:
1801 * docs/manual/filter-element.png:
1802 * docs/manual/gstreamer-overview.png:
1803 * docs/manual/hello-world.fig:
1804 * docs/manual/hello-world.png:
1805 * docs/manual/linked-elements.fig:
1806 * docs/manual/linked-elements.png:
1807 * docs/manual/mime-world.fig:
1808 * docs/manual/mime-world.png:
1809 * docs/manual/queue.fig:
1810 * docs/manual/queue.png:
1811 * docs/manual/simple-player.png:
1812 * docs/manual/sink-element.fig:
1813 * docs/manual/sink-element.png:
1814 * docs/manual/src-element.fig:
1815 * docs/manual/src-element.png:
1816 * docs/manual/diagrams-general.svg:
1817 * docs/manual/diagrams-pipelines.svg:
1818 Removed .fig, added .png counterpart.
1822 2008-06-26 Thijs Vermeir <thijsvermeir@gmail.com>
1824 * plugins/elements/gstmultiqueue.c:
1825 * plugins/elements/gstmultiqueue.h:
1826 revert extra-size-buffers stuff, caused some race conditions
1827 and extra-size-buffers is not used anymore. Docs needs some updates
1829 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1831 * win32/common/config.h:
1832 * win32/common/gstenumtypes.c:
1833 * win32/common/gstenumtypes.h:
1834 * win32/common/gstversion.h:
1837 2008-06-26 Tim-Philipp Müller <tim.muller at collabora co uk>
1839 * gst/gstdebugutils.h: (GstDebugGraphDetails),
1840 (GST_DEBUG_BIN_TO_DOT_FILE):
1841 Add missing Since' markers to gtk-doc blurbs.
1843 2008-06-26 Wim Taymans <wim.taymans@collabora.co.uk>
1845 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1846 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1847 (set_caps_1), (set_caps_ct1), (transform_ct1),
1848 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1849 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1850 (transform_size_ct2), (buffer_alloc_ct2):
1851 Add some more tests with switching caps in buffer_alloc.
1853 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1855 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1856 (gst_test_trans_class_init), (result_sink_chain),
1857 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1858 (gst_test_trans_push), (gst_test_trans_pop):
1859 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1860 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1861 (set_caps_1), (set_caps_ct1), (transform_ct1),
1862 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1863 (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1864 (transform_size_ct2), (buffer_alloc_ct2),
1865 (gst_basetransform_suite):
1866 More tests, prepare for tests with switching caps in buffer_alloc.
1868 2008-06-25 Thijs Vermeir <thijsvermeir@gmail.com>
1870 * plugins/elements/gstmultiqueue.c:
1871 * plugins/elements/gstmultiqueue.h:
1872 Fix dead-lock in underrun_cb
1874 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1876 * docs/design/part-states.txt:
1877 Fix device open/close docs.
1879 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1882 Mention bugnumber for last commit.
1884 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1886 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1888 * docs/manual/manual.xml:
1889 - Reorganised the previous "introduction" bundle into Foreword,
1890 Introduction, and About GStreamer. The two first are <preface>
1891 docbook elements. The later is the first part of the book.
1892 - added intro-gstreamer.xml (content partially from
1894 - moved appendix-win32.xml into appendix-integration.xml
1896 * docs/manual/intro-preface.xml: gstreamer section moved...
1897 * docs/manual/intro-gstreamer.xml: ...here. new file.
1899 * docs/manual/appendix-win32.xml: removed file. Content moved...
1900 * docs/manual/appendix-integration.xml: ...here.
1902 * docs/manual/highlevel-components.xml: section about GstEditor moved...
1903 * docs/manual/appendix-checklist.xml: ...here.
1907 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1909 patch by: Luc Pionchon <luc.pionchon@nokia.com>
1911 * docs/manual/basics-helloworld.xml:
1912 * docs/manual/hello-world.fig:
1913 - Explicitely include glib.h.
1914 - Do not use global variables.
1915 - Use g_printerr() instead of g_print().
1916 - Minor formating/renaming to increase readibility.
1917 - Renamed new_pad() to on_pad_added()
1918 - Improved explenatory comments.
1919 - renamed ogg parser to ogg demuxer
1920 - Use "autoaudiosink" instead of "alsasink".
1923 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1926 Remove cvs conflict marker.
1928 2008-06-25 Stefan Kost <ensonic@users.sf.net>
1931 Document that for plgin-docs we extraxt he short-desc from the element
1934 * docs/design/part-states.txt:
1935 Tell that devices should be closed in PAUSED -> READY.
1937 * docs/manual/README:
1938 Document how tests in the manual are handled.
1943 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1945 * gst/gstbin.c: (bin_query_latency_fold):
1946 Only care about latency min and max when the sink is actually a live
1949 2008-06-25 Wim Taymans <wim.taymans@collabora.co.uk>
1951 * docs/design/part-block.txt:
1954 * docs/design/part-element-transform.txt:
1955 Add notes about why transform needs to know input/output sizes.
1956 Add some issues that need to be solved.
1957 Add some more use cases.
1959 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1960 (gst_test_trans_class_init), (result_sink_chain),
1961 (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1962 (gst_test_trans_push), (gst_test_trans_pop):
1963 * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1964 (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1965 (set_caps_1), (set_caps_ct1), (transform_ct1),
1966 (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1967 (gst_basetransform_suite):
1968 Add suport for different pad templates and buffer-alloc.
1969 Add more checks for caps and buffer-alloc.
1970 Add checks for proxy buffer alloc.
1971 Add unit test for copy transform.
1973 2008-06-24 Tim-Philipp Müller <tim.muller at collabora co uk>
1975 Patch by: Luc Pionchon <luc.pionchon@nokia.com>
1977 * docs/manual/appendix-integration.xml:
1978 * docs/manual/appendix-licensing.xml:
1979 * docs/manual/basics-elements.xml:
1980 * docs/manual/basics-helloworld.xml:
1981 * docs/manual/basics-pads.xml:
1982 * docs/manual/highlevel-components.xml:
1983 * docs/manual/highlevel-xml.xml:
1984 * docs/manual/intro-basics.xml:
1985 * docs/manual/intro-preface.xml:
1986 Typo and formatting fixes (#538594).
1988 2008-06-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
1990 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1991 Fix some memory leaks and uses of object instances that we don't
1994 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
1996 * plugins/elements/gstmultiqueue.c:
1997 Add functionality to extra-size-buffers property.
1999 2008-06-22 Thijs Vermeir <thijsvermeir@gmail.com>
2001 * plugins/elements/gstmultiqueue.c:
2002 Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2003 activate the pads if they are added in STATE_NULL.
2005 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2007 * docs/libs/gstreamer-libs-sections.txt:
2009 * libs/gst/check/gstcheck.c:
2010 * libs/gst/check/gstcheck.h:
2011 API: gst_check_teardown_pad_by_name
2013 2008-06-21 Thijs Vermeir <thijsvermeir@gmail.com>
2015 * libs/gst/check/gstcheck.c:
2016 * libs/gst/check/gstcheck.h:
2017 Also setup request pads and allow setup pads by name (#537812)
2018 API: gst_check_setup_src_pad_by_name
2019 API: gst_check_setup_sink_pad_by_name
2021 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2023 * tests/check/gst/gstbuffer.c:
2024 * tests/check/pipelines/parse-launch.c:
2025 Use HAVE_VALGRIND_H some more.
2027 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2029 * scripts/cvs-update.sh:
2030 Pass arguments to make.
2031 Run autoregen.sh if Makefile is not there.
2033 2008-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
2037 Don't assume that <valgrind/valgrind.h> exists just because
2038 the binary is there.
2040 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2042 * tests/check/Makefile.am:
2043 * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2044 (gst_test_trans_class_init), (gst_test_trans_init),
2045 (gst_test_trans_set_data), (result_sink_chain),
2046 (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2047 (gst_test_trans_pop):
2048 * tests/check/libs/transform1.c: (GST_START_TEST),
2049 (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2050 Add some test basetransform element and the beginnings of various
2053 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2055 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2056 Increase code readability.
2057 Don't try to compare buffer offsets when ther are invalid.
2059 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2061 * docs/design/Makefile.am:
2062 Dist some more design docs.
2064 * docs/random/moving-plugins:
2065 Small addition: good plugins mustn't have functional code
2066 within assertion macros.
2068 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2070 * docs/design/draft-framestep.txt:
2071 Some ideas about a framestep API
2073 * docs/design/part-element-transform.txt:
2074 Start design and use cases for basetransform in order to get it
2077 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2080 In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2081 be in UTF-8 encoding.
2083 2008-06-20 Tim-Philipp Müller <tim.muller at collabora co uk>
2086 Make it known that gst_bus_poll() is pure evil (fixes #538810).
2088 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2090 * plugins/elements/gstcapsfilter.c:
2091 * plugins/elements/gstfakesink.c:
2092 * plugins/elements/gstfakesrc.c:
2093 * plugins/elements/gstfdsink.c:
2094 * plugins/elements/gstfdsrc.c:
2095 * plugins/elements/gstfilesink.c:
2096 * plugins/elements/gstfilesrc.c:
2097 * plugins/elements/gstidentity.c:
2098 * plugins/elements/gstmultiqueue.c:
2099 * plugins/elements/gstqueue.c:
2100 * plugins/elements/gsttee.c:
2101 * plugins/elements/gsttypefindelement.c:
2102 Remove short_description. Add basic docs for gsttypefindelement.
2103 Simplify markup for fakesrc/fdsrc.
2105 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2107 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2110 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2112 Patch by: Joel Larsson <tilljoel at gmail dot com>
2114 * docs/plugins/gstreamer-plugins.args:
2115 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2116 (gst_fd_src_init), (gst_fd_src_update_fd),
2117 (gst_fd_src_set_property), (gst_fd_src_get_property),
2118 (gst_fd_src_create):
2119 * plugins/elements/gstfdsrc.h:
2120 Add timeout property like udpsrc. Fixes #538628.
2121 Add some more docs and example pipelines.
2123 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2125 * docs/libs/gstreamer-libs-sections.txt:
2126 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2127 (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2128 (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2129 (gst_base_sink_do_sync):
2130 * libs/gst/base/gstbasesink.h:
2131 * win32/common/libgstbase.def:
2132 Add method to allow sinks to specify additional delay between the sync
2133 times and the actual rendering of the data.
2134 API: gst_base_sink_set_render_delay()
2135 API: gst_base_sink_get_render_delay()
2137 2008-06-20 Jan Schmidt <jan.schmidt@sun.com>
2140 Bump version number back to dev -> 0.10.20.1
2142 2008-06-20 Sebastian Dröge <slomo@circular-chaos.org>
2144 * docs/gst/gstreamer-sections.txt:
2145 * gst/gsttaglist.c: (_gst_tag_initialize):
2147 API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2150 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2152 * libs/gst/controller/gstcontroller.c:
2153 Revert one change, that make ret value possible uninitialized.
2155 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2157 * libs/gst/controller/gstcontroller.c:
2158 Use freeze/thaw notify to sync notify emission a bit (its also more
2159 efficient). Move debug output to LOG (is called a lot in a loop).
2160 Always unset g_values if the have been initialized.
2162 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2164 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2165 (gst_base_sink_wait_eos), (gst_base_sink_event):
2166 If we have not seen a buffer before EOS, use the segment values to
2167 report the current position instead of invalid positions.
2169 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2171 * docs/plugins/tmpl/.cvsignore:
2172 * tests/check/gst/.cvsignore:
2175 2008-06-20 Stefan Kost <ensonic@users.sf.net>
2177 * libs/gst/controller/gstinterpolation.c:
2178 * libs/gst/controller/gstinterpolationcontrolsource.c:
2179 * tests/check/libs/controller.c:
2180 Rewrite handling of default values. Fix overflow with unsigned types
2181 in linear interpolation. Remove now obsolete _first_value() function.
2182 Add more tests. Fixes #538201.
2184 2008-06-20 Wim Taymans <wim.taymans@collabora.co.uk>
2186 * libs/gst/base/gstbasetransform.c:
2187 (gst_base_transform_class_init), (gst_base_transform_init),
2188 (gst_base_transform_transform_caps),
2189 (gst_base_transform_prepare_output_buffer):
2191 When a buffer is writable, its metadata is also writable so we don't
2192 need to subbuffer (which then makes the buffer not-writable anymore).
2194 === release 0.10.20 ===
2196 2008-06-18 Jan Schmidt <jan.schmidt@sun.com>
2199 releasing 0.10.20, "You Crazy Diamond"
2201 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2204 0.10.19.3 pre-release
2206 2008-06-11 Jan Schmidt <jan.schmidt@sun.com>
2210 Rename DATADIR to GST_DATADIR to avoid build problems
2211 on win32. Patch By: David Schleef <ds@schleef.org>
2214 2008-06-05 Sebastian Dröge <slomo@circular-chaos.org>
2217 Explicitely link with -ldl if dladdr() is found there. Before it was
2218 implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2219 -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2221 2008-06-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2223 * gst/gsterror.c: (_gst_stream_errors_init):
2224 Fix typo (spotted by Fabricio Godoy, #536723).
2226 2008-06-05 Jan Schmidt <jan.schmidt@sun.com>
2229 0.10.19.2 pre-release
2231 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2233 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2234 (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2236 Make sure we don't generate invalid QoS messages.
2238 2008-06-04 Wim Taymans <wim.taymans@collabora.co.uk>
2240 * gst/gstevent.c: (gst_event_new_qos):
2241 Add some assert and docs for invalid input to the qos function.
2243 2008-05-30 Wim Taymans <wim.taymans@collabora.co.uk>
2245 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2246 (gst_base_sink_get_position):
2247 The reported position must always be smaller than the last seen
2248 timestamps (or timestamp + duration for reverse).
2250 2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
2252 Patch by: Rob Bradford <rob at robster dot org dot uk>
2254 * gst/gstregistry.c: (gst_registry_scan_path_level):
2255 Don't recurse into .debug directories as some distros install
2256 the debugging symbols next to the plugins in .debug directories
2257 and dlopen() crashes on them sometimes. Fixes bug #508070.
2259 Add FIXME for 0.11 to not recurse into directories at all because
2260 it's very inconsistent to the behaviour of other PATH environment
2263 2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
2265 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2266 (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2267 Fix position query range checks in reverse playback.
2269 2008-05-29 Sebastian Dröge <slomo@circular-chaos.org>
2273 Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2274 clear of the reference to the resulting pad must be released later
2275 or not, resulting in possible leaks. Fixes bug #533865.
2277 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2279 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2281 * gst/gstelementfactory.c:
2282 Small doc fix. Fixes #535285.
2284 2008-05-28 Wim Taymans <wim.taymans@collabora.co.uk>
2286 Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2288 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2289 (gst_base_src_get_range), (gst_base_src_pad_get_range),
2290 (gst_base_src_loop), (gst_base_src_set_flushing),
2291 (gst_base_src_change_state):
2292 Make sending an EOS event to the basesrc non-blocking even if the
2293 implementation does blocking waits in the create function. This is done
2294 by unlocking the create function when EOS is sent.
2297 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2299 * tools/gst-inspect.c: (print_element_properties_info):
2300 If possible print the element type of GValueArray properties.
2302 2008-05-28 Sebastian Dröge <slomo@circular-chaos.org>
2304 * gst/gstiterator.c:
2305 Remove an unused field from the private GstListIterator struct.
2307 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2309 * libs/gst/controller/gstcontroller.c:
2310 Add parameter guards.
2312 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2314 * tests/check/gst/gstpipeline.c:
2315 Revert test change and add comment why it should not work.
2317 2008-05-27 Stefan Kost <ensonic@users.sf.net>
2319 * tests/check/gst/gstpipeline.c:
2320 Extending the test a little to verify that we also get the NULL state-
2323 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2325 * gst/gstpreset.c: (gst_preset_default_get_meta),
2326 (gst_preset_get_preset_names), (gst_preset_get_property_names),
2327 (gst_preset_load_preset), (gst_preset_save_preset),
2328 (gst_preset_rename_preset), (gst_preset_delete_preset),
2329 (gst_preset_set_meta):
2330 Add Since: markers to docs blurbs.
2332 * win32/common/libgstreamer.def:
2333 Add recently-added API.
2335 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2337 Patch by: Stefan Kost <ensonic@users.sf.net>
2340 Add DATADIR for storing presets.
2342 * docs/gst/gstreamer-docs.sgml:
2343 * docs/gst/gstreamer-sections.txt:
2344 * docs/gst/gstreamer.types.in:
2345 Add GstPreset to docs.
2349 * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2350 (preset_open_and_parse_header), (preset_parse_version),
2351 (preset_merge), (preset_get_keyfile),
2352 (gst_preset_default_get_preset_names),
2353 (gst_preset_default_get_property_names),
2354 (gst_preset_default_load_preset),
2355 (gst_preset_default_save_presets_file),
2356 (gst_preset_default_save_preset),
2357 (gst_preset_default_rename_preset),
2358 (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2359 (gst_preset_default_get_meta), (gst_preset_default_randomize),
2360 (gst_preset_default_reset), (gst_preset_get_preset_names),
2361 (gst_preset_get_property_names), (gst_preset_load_preset),
2362 (gst_preset_save_preset), (gst_preset_rename_preset),
2363 (gst_preset_delete_preset), (gst_preset_set_meta),
2364 (gst_preset_get_meta), (gst_preset_class_init),
2365 (gst_preset_base_init), (gst_preset_get_type):
2367 Add GstPreset to core. Fixes #396779
2369 * tests/check/Makefile.am:
2370 * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2371 (gst_preset_test_set_property), (gst_preset_test_class_init),
2372 (gst_preset_test_base_init), (gst_preset_test_get_type),
2373 (gst_preset_test_plugin_init), (GST_START_TEST),
2374 (remove_preset_file), (test_setup), (test_teardown),
2376 Add GstPreset unit tests.
2378 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2380 * gst/gstpad.c: (gst_pad_event_default_dispatch):
2381 The default event function on a sinkpad should return TRUE when
2382 there are no internal links but should collect the return values from
2383 the internal links otherwise.
2385 2008-05-27 Wim Taymans <wim.taymans@collabora.co.uk>
2387 * plugins/elements/gsttypefindelement.c:
2388 (gst_type_find_element_src_event),
2389 (gst_type_find_element_handle_event):
2390 Use faster and safer _pad_push_event().
2392 2008-05-27 Tim-Philipp Müller <tim.muller at collabora co uk>
2394 * docs/gst/gstreamer-sections.txt:
2395 * gst/gstutils.c: (element_find_unlinked_pad),
2396 (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2398 API: add gst_bin_find_unlinked_pad()
2399 API: deprecate gst_bin_find_unconnected_pad() (#401456)
2401 2008-05-26 Peter Kjellerstedt <pkj@axis.com>
2407 Fixed a bunch of typos.
2409 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2412 * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2413 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2414 (gst_parse_bin_from_description_full):
2416 'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2418 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2420 * docs/pwg/advanced-tagging.xml:
2421 Small docs update, can't be bothered to rewrite the nonsensical
2424 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2427 Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2429 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2431 * gst/parse/grammar.y:
2432 Remove unneeded casts.
2434 2008-05-25 Tim-Philipp Müller <tim.muller at collabora co uk>
2436 * gst/parse/grammar.y:
2437 * tests/check/pipelines/parse-launch.c:
2438 Get all missing elements from a parse launch string if possible
2439 (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2441 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2443 * tests/check/Makefile.am:
2444 * tests/check/pipelines/parse-launch.c:
2445 Add some unit tests for the new gst_parse_launch*_full() API.
2446 (Exposes a previously-existing memory leak in the error code
2447 path, so adding to VALGRIND_TO_FIX for now).
2449 2008-05-24 Tim-Philipp Müller <tim.muller at collabora co uk>
2451 * docs/gst/gstreamer-sections.txt:
2452 * gst/gst.c: (init_post):
2453 * gst/gst_private.h: (_GstParseContext):
2454 * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2455 (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2456 (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2457 (gst_parse_launch_full):
2458 * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2459 (GstParseFlags), (GstParseContext):
2460 * gst/gstutils.c: (gst_parse_bin_from_description),
2461 (gst_parse_bin_from_description_full):
2463 * gst/parse/grammar.y:
2464 * gst/parse/types.h:
2465 * win32/common/libgstreamer.def:
2466 Add new gst_parse_*_full API (#528178):
2467 API: gst_parse_launch_full()
2468 API: gst_parse_launchv_full()
2469 API: gst_parse_bin_from_description_full()
2470 API: gst_parse_context_new()
2471 API: gst_parse_context_free()
2472 API: gst_parse_context_get_missing_elements()
2474 2008-05-23 Stefan Kost <ensonic@users.sf.net>
2476 patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2478 * docs/faq/gst-uninstalled:
2479 Also support ffmpeg in gst-uninstalled.
2481 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2484 After discussion on IRC use the binary registry as default
2485 but allow to disable it with --disable-binary-registry.
2487 * win32/common/libgstreamer.def:
2488 Add the two new symbols for the binary registry.
2490 2008-05-22 Tim-Philipp Müller <tim.muller at collabora co uk>
2492 * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2493 * gst/gstutils.c: (gst_parse_bin_from_description):
2494 * gst/parse/grammar.y: (graph):
2495 More guards against bad input; typo fix; some minor clean-ups.
2497 2008-05-22 Sebastian Dröge <slomo@circular-chaos.org>
2499 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2501 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2502 If nothing else can be used, use the last buffer's start time as
2503 the segment's last stop. Fixes bug #534258.
2505 2008-05-21 Tim-Philipp Müller <tim.muller at collabora co uk>
2507 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2508 Move size sanity check to the right place: downstream may return
2509 a buffer with a smaller size if the buffer caps are different than
2510 the requested ones, as may happen when doing reverse negotiation.
2512 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2514 * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2515 (gst_file_sink_render):
2516 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2517 (gst_file_src_start):
2518 Small cleanups. Add note adbout g_fopen() on windows and why we don't
2521 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2523 * gst/gstpad.c: (gst_pad_load_and_link):
2524 * gst/gstutils.c: (gst_element_link_pads),
2525 (gst_element_unlink_pads):
2526 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2527 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2528 (gst_check_teardown_sink_pad),
2529 (gst_check_element_push_buffer_list):
2530 * tests/check/elements/fakesink.c: (GST_START_TEST):
2531 * tests/check/elements/filesink.c:
2532 * tests/check/elements/filesrc.c: (GST_START_TEST):
2533 * tests/check/elements/multiqueue.c: (setup_multiqueue),
2534 (mq_sinkpad_to_srcpad):
2535 * tests/check/elements/tee.c: (GST_START_TEST):
2536 * tests/check/generic/sinks.c: (GST_START_TEST):
2537 * tests/check/gst/gstbin.c: (GST_START_TEST):
2538 * tests/check/gst/gstevent.c: (GST_START_TEST):
2539 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2540 * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2541 * tests/check/gst/gstquery.c: (GST_START_TEST):
2542 * tests/check/gst/gstutils.c: (GST_START_TEST):
2543 * tests/check/libs/basesrc.c: (GST_START_TEST):
2544 * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2545 (gst_parse_test_element_change_state):
2546 Don't use gst_element_get_pad().
2548 2008-05-21 Felipe Contreras <felipe.contreras@gmail.com>
2551 Fix installing plugin documentation when gtk-doc is disabled.
2553 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2555 * docs/manual/advanced-autoplugging.xml:
2556 * docs/manual/basics-helloworld.xml:
2557 * docs/manual/basics-pads.xml:
2558 * docs/manual/highlevel-components.xml:
2559 Avoid using a bad function in the example code.
2561 2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
2563 * gst/gstclock.c: (gst_clock_set_calibration):
2564 Fix debug of the new clock rate.
2566 2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
2568 * win32/common/libgstbase.def:
2569 Add gst_base_sink_wait_clock() to the exported symbols.
2571 2008-05-20 Sebastian Dröge <slomo@circular-chaos.org>
2573 Patch by: Tim-Philipp Müller <tim.muller at collabora co uk>
2575 * libs/gst/base/gstbasetransform.c:
2576 (gst_base_transform_sink_event):
2577 Unref events that the GstBaseTransform::event vfunc didn't want to
2578 have forwarded by the base class. Closes a leak in identity.
2581 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2583 * docs/libs/gstreamer-libs-sections.txt:
2584 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2585 * libs/gst/base/gstbasesink.h:
2586 Expose a method that was previously used internally to synchronize
2587 against the clock because it can be useful for subclasses too.
2588 API: GstBaseSink::gst_base_sink_wait_clock()
2590 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2592 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2593 Add sanity check to make sure we don't get smaller buffers
2594 than requested (and fallback to normal buffer alloc if we do).
2596 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2598 * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2599 (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2600 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2601 Refactor adjusting the running_time with latency and offset into a
2603 When doing clipping, we still want to use the subclass get_times method,
2604 just in case the DURATION or TIMESTAMP are not set.
2606 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2608 * docs/gst/gstreamer-sections.txt:
2609 * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2610 * gst/gsttypefind.h:
2611 * win32/common/libgstreamer.def:
2612 API: add gst_type_find_suggest_simple(), #533740.
2614 2008-05-19 Tim-Philipp Müller <tim.muller at collabora co uk>
2616 * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2617 Use right error code when typefinding fails, so we can use
2618 the default (translated) error messages.
2620 2008-05-19 Wim Taymans <wim.taymans@collabora.co.uk>
2622 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2623 (gst_base_src_start):
2624 When the subclass did not set caps on outgoing buffers, configure the
2625 caps we negotiated on the source pad.
2626 When the typefind helper does not find caps, error out properly instead
2627 of doing things with NULL caps.
2629 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2631 * gst/gsttypefind.h:
2632 Tabs to spaces, oh yes!
2634 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2636 * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2637 Add David's and Benjamin's tests for array intersection to the
2638 unit test suite (#147931).
2640 2008-05-18 Tim-Philipp Müller <tim.muller at collabora co uk>
2643 Document that gst_event_new_tag() and gst_event_new_navigation()
2644 take ownership of the taglist/structure passed to them. (#533635).
2646 2008-05-17 Jan Schmidt <jan.schmidt@sun.com>
2649 Don't descend into the plugins dir if plugin docs building
2653 Add a note about the new type:GTypeName syntax for the plugin
2654 documentation .types file.
2656 2008-05-17 Sebastian Dröge <slomo@circular-chaos.org>
2658 * gst/gstmessage.c: (gst_message_new_error),
2659 (gst_message_new_warning), (gst_message_new_info):
2661 Mark the debug string parameters as const. Fixes bug #533490.
2663 2008-05-16 Sebastian Dröge <slomo@circular-chaos.org>
2665 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2666 Sort buffer cache list by end offsets. This makes sure that we don't
2667 stop to search for a cached buffer that contains the requested data
2669 Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2670 more efficient. Fixes bug #459862.
2672 2008-05-14 Stefan Kost <ensonic@users.sf.net>
2675 Explain why we copy the list.
2677 * gst/gstpipeline.c:
2681 Add one debug-log statement to help tracing probelms with linking pads.
2683 2008-05-12 Stefan Kost <ensonic@users.sf.net>
2685 * tests/check/gst/gstinfo.c:
2686 Add a test for removing the default log handler. Seems to fail under
2689 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2691 * gst/gstpad.c: (gst_pad_peer_accept_caps):
2692 Release pad lock before calling out to avoid a possible deadlock.
2694 2008-05-14 Wim Taymans <wim.taymans@collabora.co.uk>
2696 * gst/parse/grammar.y:
2697 Remove unneeded value unset.
2699 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2700 Add unit test for de/serialization of caps.
2702 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2704 * plugins/elements/gstfakesink.c:
2705 (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2706 * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2707 (gst_fake_src_class_init):
2708 Use custom marshalers that take GstMiniObject as first parameter.
2709 Using OBJECT as parameter while a GstMiniObject is given will lead
2710 to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2712 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2714 * plugins/elements/gsttypefindelement.c:
2715 (gst_type_find_element_handle_event),
2716 (gst_type_find_element_send_cached_events),
2717 (gst_type_find_element_change_state):
2718 Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2721 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2723 * plugins/elements/gsttypefindelement.c:
2724 (gst_type_find_handle_src_query), (stop_typefinding),
2725 (gst_type_find_element_handle_event),
2726 (gst_type_find_element_send_cached_events),
2727 (gst_type_find_element_change_state):
2728 Forward FLUSH_START events immediately and clean up instead of
2731 2008-05-13 Sebastian Dröge <slomo@circular-chaos.org>
2733 Patch by: Sjoerd Simons <sjoerd at luon dot net>
2735 * libs/gst/base/gstbasetransform.c:
2736 (gst_base_transform_buffer_alloc):
2737 Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2738 fall back to default negotiation in the chain function if the caps
2739 are different from what was requested. Fixes bug #526768.
2741 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2744 * tests/check/gst/gstsegment.c:
2745 No, let's not use g_slice_{dup|copy} here, since they only exist
2746 since GLib 2.14 and we still depend only on >= 2.12. Also add
2747 unit test for gst_segment_copy().
2749 2008-05-09 Tim-Philipp Müller <tim.muller at collabora co uk>
2751 * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2752 Try to fix 'dereferencing type-punned pointer will break strict
2753 aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2754 changed the default GType typedef from gulong to gsize at some point,
2755 but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2756 g_once_* functions all take a gsize * though, so work around the type
2757 mismatch for C++ by doing everything in gsize and casting to GType
2760 2008-05-09 Jan Schmidt <jan.schmidt@sun.com>
2762 * plugins/elements/gstmultiqueue.c:
2763 Add documentation for the signals to push our core plugin docs
2764 coverage back up to 100%.
2766 2008-05-08 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2768 * gst/gstinfo.h (GST_FUNCTION):
2769 Reverted GST_FUNCTION to the old version as we don't want the
2770 full signature in C++ code. Also added support for MSVC.
2772 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2775 Intern the type name string, similar to what G_DEFINE_TYPE does.
2777 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2780 Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2782 2008-05-08 Sebastian Dröge <slomo@circular-chaos.org>
2784 Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2786 * libs/gst/base/gstbasetransform.c:
2787 (gst_base_transform_buffer_alloc):
2788 Don't passthrough buffer allocation too easily if the caps change.
2789 This breaks when working in passthrough mode and upstream changes
2790 it's caps. Fixes bug #526768.
2792 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2794 * gst/gstinfo.c (gst_debug_log_valist):
2795 Improved the __FILE__ part of debug output for MSVC.
2797 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2799 * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2800 Declaration after statement fix for compilers like MSVC.
2802 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2804 * win32/common/config.h.in:
2805 Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2806 use the real thing than having "???" unconditionally.
2808 2008-05-07 Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
2810 * gst/gstinfo.h (GST_FUNCTION):
2811 Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2813 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2815 * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2818 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2819 (gst_base_sink_set_flushing):
2820 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2823 2008-05-07 Wim Taymans <wim.taymans@collabora.co.uk>
2825 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2826 (gst_fake_src_init), (gst_fake_src_set_property),
2827 (gst_fake_src_get_property), (gst_fake_src_start):
2828 * plugins/elements/gstfakesrc.h:
2829 Added format property to control the format of the newsegment events.
2830 API: GstFakeSrc:format
2832 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2834 * win32/common/libgstreamer.def:
2835 Add gst_pad_has_name() to the exported symbols.
2837 2008-05-06 Sebastian Dröge <slomo@circular-chaos.org>
2839 * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2840 * libs/gst/base/gstbasetransform.c:
2841 (gst_base_transform_prepare_output_buffer):
2842 Don't allow negative sizes when allocating new buffers.
2845 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2847 Patch by: Sjoerd Simons <sjoerd at luon net>
2849 * gst/gstbus.c: (gst_bus_source_dispatch):
2850 Don't print a warning if the queue is empty when we try to pop
2851 here. That could happen if another thread or callback set the
2852 bus to flushing between the source's check/prepare and the
2853 dispatch being called (#531538).
2855 2008-05-05 Tim-Philipp Müller <tim.muller at collabora co uk>
2857 * plugins/elements/gstmultiqueue.c:
2860 2008-05-05 Sebastian Dröge <slomo@circular-chaos.org>
2862 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2863 Add unit test for deserializing uint64s and check some really large
2864 numbers in the int64 test.
2866 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2868 * tools/gst-inspect.c: (n_print), (print_hierarchy),
2869 (print_interfaces), (print_element_properties_info),
2870 (print_signal_info):
2871 Use "%s" as format string instead of printing strings directly.
2873 2008-05-04 Sebastian Dröge <slomo@circular-chaos.org>
2875 * gst/gstclock.c: (gst_clock_set_calibration):
2876 Make some checks actually useful.
2878 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2879 Remove some unused code. Unsigned integers tend to be >= 0.
2881 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2883 * gst/gstminiobject.c: (gst_value_get_mini_object):
2884 Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2885 function was not in the unscheduled 0.10.19 release.
2887 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2889 * gst/gstregistry.c: (gst_registry_scan_path_level):
2890 Only print one log message per non-plugin file.
2892 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2894 * gst/gstinfo.c: (gst_debug_log_default):
2895 Fix alignment of debug log columns on 64-bit.
2897 2008-05-03 Tim-Philipp Müller <tim.muller at collabora co uk>
2899 * docs/libs/Makefile.am:
2900 * docs/libs/gstreamer-libs-sections.txt:
2901 Ignore private controller headers for docs.
2903 2008-05-03 Sebastian Dröge <slomo@circular-chaos.org>
2905 * libs/gst/controller/gstcontrollerprivate.h:
2906 * libs/gst/controller/gsthelper.c:
2907 * libs/gst/controller/gstinterpolation.c:
2908 * libs/gst/controller/gstinterpolationcontrolsource.c:
2909 (gst_interpolation_control_source_set_interpolation_mode):
2910 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2911 * libs/gst/controller/lib.c:
2912 Move some private declarations into private headers.
2914 2008-05-02 Sebastian Dröge <slomo@circular-chaos.org>
2916 * gst/gstdebugutils.c: (debug_dump_element_pad):
2917 Remove some code that is unused after Stefan's refactoring and uses
2918 uninitialized variables now, resulting in a compiler warning.
2920 2008-05-01 Tim-Philipp Müller <tim.muller at collabora co uk>
2922 * gst/gstregistry.c: (gst_registry_scan_path_level):
2923 Run g_str_has_suffix() only on the file name, not the
2926 2008-04-30 Tim-Philipp Müller <tim.muller at collabora co uk>
2928 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2929 Since we're not called only from the chain function any longer,
2930 we can't assume that there's always data in the queue, so move
2931 the is_full check to the beginning of the loop (otherwise we'd
2932 hit the assert when changing the limit properties while the
2933 queue is empty or not running yet).
2934 Also, only set a discont if items were actually removed from
2937 * tests/check/elements/queue.c: (test_leaky_downstream):
2938 Test case for the above.
2940 2008-04-30 Wim Taymans <wim.taymans@collabora.co.uk>
2942 Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2944 * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2945 (gst_queue_chain), (queue_capacity_change),
2946 (gst_queue_set_property):
2947 When changing thr max capacity of a leaky queue, immediatly drop buffers
2948 instead of waiting for a push on the sinkpad. Fixes #530637.
2950 2008-04-30 Stefan Kost <ensonic@users.sf.net>
2952 * gst/gstdebugutils.c:
2953 Refactor code and fix handling of ghostpads and their proxypads.
2955 2008-04-29 Wim Taymans <wim.taymans@collabora.co.uk>
2957 * docs/gst/gstreamer-sections.txt:
2958 * gst/gstevent.c: (gst_event_has_name):
2960 * tests/check/gst/gstevent.c: (GST_START_TEST):
2961 Add method to conveniently check the name of a custom event with
2962 gst_event_has_name().
2963 Reformat the event docs so that related methods are put together instead
2964 of the default alphabetical sort.
2965 Update unit test with new method.
2966 API: GstEvent::gst_event_has_name()
2968 2008-04-28 Michael Smith <msmith@songbirdnest.com>
2970 * libs/gst/check/Makefile.am:
2971 Don't add an explicit link to libgstreamer-0.10.la; it's already
2972 included in GST_OBJ_LIBS.
2974 2008-04-28 Sebastian Dröge <slomo@circular-chaos.org>
2977 Register GstClock type from a type-safe context. Fixes bug #530317.
2979 2008-04-25 Michael Smith <msmith@songbirdnest.com>
2981 Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2983 Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2985 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
2987 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2989 Use the GLib stuff to create a private structure.
2990 Add some locking around some dispose methods to make them a little
2991 safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2993 2008-04-25 Stefan Kost <ensonic@users.sf.net>
2995 * libs/gst/base/gstbasesink.h:
2996 * libs/gst/base/gstbasesrc.h:
2997 * libs/gst/base/gstbasetransform.h:
2998 * libs/gst/base/gstcollectpads.h:
2999 Fix doc typos and unify caps a bit.
3001 2008-04-25 Stefan Kost <ensonic@users.sf.net>
3003 * tools/gst-launch.1.in:
3004 Forgot to also add the envvar docs here.
3006 2008-04-25 Tim-Philipp Müller <tim at centricular dot net>
3008 * gst/gst.c: (init_post), (gst_deinit):
3009 * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3010 (test_concurrent_create), (gst_pipeline_suite):
3011 Ref some more classes in gst_init() to work around thread-safety
3012 issues in pre-2.16 GLibs, and add basic unit test.
3014 2008-04-25 Wim Taymans <wim.taymans@collabora.co.uk>
3016 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3017 (gst_base_sink_send_event):
3018 Rearrange the latency query code. We always want to do the upstream
3019 query, even if we are not live so that the upstream elements can get the
3020 latency results too. If we fail doing the query and we are live, we
3021 return TRUE afterwards.
3023 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3025 patch by: Jason Zhao <e3423c@motorola.com>
3027 * docs/gst/running.xml:
3029 Enable/disable scan_and_update_registry() based on commandline switch
3030 or environment variable. Fixes #520468.
3033 Fix typo in my previous commit.
3035 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3037 * gst/gstregistrybinary.c:
3038 Add a warning if we hit unhandled factories when saving.
3039 More debug logging detail, but move to LOG category.
3041 2008-04-24 Stefan Kost <ensonic@users.sf.net>
3043 * gst/gstregistry.c:
3044 Tell the *truth* when improving the documentation.
3046 2008-04-23 Sebastian Dröge <slomo@circular-chaos.org>
3048 * gst/gstelementfactory.c: (gst_element_factory_make):
3049 Unref the factory after it was used the last time, not before.
3051 * gst/gstindexfactory.c: (gst_index_factory_make):
3052 Improve debugging a bit and don't leak a ref to the index factory with
3055 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3057 * gst/gstregistry.c:
3058 Improve the documentation.
3060 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3063 The glib macro seems to be borked. Use g_slice_copy directly and cast
3064 in the hope that this fixes the warning on 64bit.
3066 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3069 Document the new function. Use g_slice_dup() (no need for
3070 gst_segment_init()).
3072 2008-04-23 Stefan Kost <ensonic@users.sf.net>
3074 * docs/gst/gstreamer-sections.txt:
3075 Move GParamSepc macros to standart section.
3078 Dn't document _get_type - its in private section in docs anyway and
3079 this doc-blob was incomplete.
3082 Fix wrong symbol names in docs.
3085 Add once doc sentence.
3087 * tests/check/gst/.cvsignore:
3090 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3092 * docs/gst/Makefile.am:
3093 And remove those libs here.
3095 2008-04-21 Tim-Philipp Müller <tim at centricular dot net>
3097 * docs/libs/Makefile.am:
3098 Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3100 2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk>
3102 Patch by: Olivier Crete <tester at tester dot ca>
3104 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3105 Add the min-threshold to the min latency if possible. Fixes #529148.
3107 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3109 * docs/gst/gstreamer.types.in:
3110 Stupid editor, I removed that line as it should go in yet.
3112 2008-04-21 Stefan Kost <ensonic@users.sf.net>
3114 * docs/gst/gstreamer.types.in:
3115 * docs/libs/gstreamer-libs.types:
3116 Remove library types fro core docs and have them in libs docs.
3117 Reformat and cleanup. Add comment for miniobject types.
3119 2008-04-20 Tim-Philipp Müller <tim at centricular dot net>
3121 * gst/gsturi.c: (gst_uri_get_protocol):
3122 Fix leak: g_strdown operates on the string in place, while
3123 g_ascii_strdown() returns a newly-allocated string.
3125 2008-04-20 Sebastian Dröge <slomo@circular-chaos.org>
3127 * tools/gst-inspect.c: (print_uri_handler_info),
3128 (print_element_info):
3129 Print the URI protocols and the URI type supported by the element.
3131 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3133 * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3134 Use g_value_take_string() instead of the deprecated
3135 g_value_set_string_take_ownership().
3137 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3139 * gst/gstregistrybinary.c: (_gst_crc32):
3140 Return the old CRC instead of 0 if we give a NULL buffer
3141 or a buffer with a length of 0.
3143 2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
3145 * gst/gsturi.c: (gst_uri_protocol_check_internal),
3146 (gst_uri_get_protocol), (gst_uri_has_protocol),
3147 (gst_uri_construct), (gst_uri_handler_set_uri):
3148 A valid URI scheme can also include '+', '-' and '.' additional
3149 to alphanumeric characters as per RFC 3986 Section 3.1.
3151 Handle URI schemes case insensitive in all places and convert
3152 to lower-case when constructing an URI or setting an URI with
3153 the GstURIHandler interface. Fixes bug #528868.
3154 All elements can still assume (as before) that they will
3155 get passed URIs with a lower-case URI scheme by the GstURIHandler
3158 2008-04-17 Tim-Philipp Müller <tim at centricular dot net>
3160 * gst/gstcaps.c: (gst_static_caps_get):
3161 * gst/gstclock.c: (gst_clock_entry_new):
3162 Don't use g_atomic_set_int where it's not needed.
3164 2008-04-17 Wim Taymans <wim.taymans@collabora.co.uk>
3166 * gst/gstvalue.c: (gst_value_deserialize_caps):
3167 * gst/parse/grammar.y:
3170 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3172 * gst/gstutils.c: (gst_atomic_int_set):
3173 Use g_atomic_int_set() here too instead of assignment +
3176 2008-04-17 Sebastian Dröge <slomo@circular-chaos.org>
3180 API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3181 now that we depend on new enough GLib.
3183 * gst/gstcaps.c: (gst_static_caps_get):
3184 * gst/gstclock.c: (gst_clock_entry_new):
3185 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3186 (gst_debug_set_default_threshold), (_gst_debug_category_new),
3187 (gst_debug_category_set_threshold):
3188 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3189 (gst_base_sink_set_qos_enabled):
3190 * libs/gst/net/gstnettimeprovider.c:
3191 (gst_net_time_provider_set_property):
3192 Use g_atomic_int_set() instead of gst_atomic_int_set().
3194 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3197 Also use G_GINT64_CONSTANT for the queries.
3199 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3202 Use G_GINT64_CONSTANT in varargs function.
3204 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3206 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3207 Initialize the registry magic with zeroes.
3209 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3211 * gst/gstregistrybinary.c: (_gst_crc32),
3212 (gst_registry_binary_write),
3213 (gst_registry_binary_initialize_magic),
3214 (gst_registry_binary_write_cache),
3215 (gst_registry_binary_check_magic),
3216 (gst_registry_binary_read_cache):
3217 * gst/gstregistrybinary.h:
3218 Add crc32 checksum to the binary registry file and check this before
3219 accepting a registry file.
3221 Also free the data list when writing to the registry file fails.
3223 2008-04-16 Sebastian Dröge <slomo@circular-chaos.org>
3225 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3226 (gst_registry_binary_load_feature),
3227 (gst_registry_binary_load_plugin):
3228 If an element supports the Uri interface, returns a valid pointer
3229 to the supported URI protocols but this pointer contains nothing
3230 don't try to save that as it will corrupt the registry.
3232 Don't unref the plugin if we added it to the registry already but
3233 fail to load a feature as gst_registry_add_plugin() takes ownership
3236 Improve debugging a bit.
3238 2008-04-16 Stefan Kost <ensonic@users.sf.net>
3241 Clarify some tag item docs after discussion on irc.
3243 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3245 * docs/gst/gstreamer-docs.sgml:
3246 Remove commented out plugins (they have their own docs). Update
3249 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3251 * docs/gst/gstreamer-docs.sgml:
3252 * docs/gst/gstreamer-sections.txt:
3253 * gst/gstparamspecs.c:
3254 * gst/gstparamspecs.h:
3255 Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3256 docs to own section.
3259 This now only documents GValue.
3261 * docs/libs/gstreamer-libs-sections.txt:
3262 * libs/gst/controller/gstcontroller.h:
3263 Remove GST_PARAM_CONTROLLABLE.
3265 2008-04-15 Stefan Kost <ensonic@users.sf.net>
3268 Correct file path. Tell about how to use -overrides.txt.
3269 * docs/design/draft-tagreading.txt:
3270 Small design update.
3272 2008-04-14 Sebastian Dröge <slomo@circular-chaos.org>
3274 * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3275 (gst_registry_binary_load_plugin):
3276 Fix a typo in a debug message and revert change from yesterday as
3277 gst_registry_add_plugin() will only fail if something is really wrong
3278 already and we can't survive it anyway.
3280 2008-04-14 Tim-Philipp Müller <tim at centricular dot net>
3282 * gst/gst.c: (init_post), (gst_deinit):
3283 Pre-register GstGError GType from a thread-safe context
3284 (fixes #527967); unref enum type classes in deinit.
3286 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3288 Patch by: Rene Stadler <mail at renestadler de>
3290 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3291 Merging an empty list with another list in KEEP_ALL mode should
3292 yield an empty list as result and not the second list (#512578).
3294 * tests/check/gst/gsttagsetter.c:
3295 Add unit test for tag merge modes and the aforementioned bug.
3297 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3299 Patch by: Rene Stadler <mail at renestadler de>
3302 Fix description to match the order in the table (#512577).
3304 2008-04-13 Tim-Philipp Müller <tim at centricular dot net>
3306 Patch by: Kwang Yul Seo <kwangyul.seo gmail com>
3308 * libs/gst/net/gstnettimepacket.h:
3309 * docs/libs/gstreamer-libs-sections.txt:
3310 Define socklen_t as int if it's not defined yet. Fixes compilation
3311 with MSVC6 and other versions where socklen_t is not defined in
3312 the windows headers (#518022).
3314 2008-04-13 Sebastian Dröge <slomo@circular-chaos.org>
3316 * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3317 If gst_registry_add_plugin() fails our reference to the plugin is
3318 invalid so don't try to use it anymore and instead error out.
3320 2008-04-12 Tim-Philipp Müller <tim at centricular dot net>
3322 * tools/gst-xmlinspect.c: (print_element_info), (main):
3323 De-cruft a bit. If no argument is specified, print all elements in
3324 XML syntax rather than a freestyle list of elements like gst-inspect.
3325 Also, don't print XML header chunk unless we actually have something
3326 to print (ie. don't print it before an error message); print error
3327 message to stderr not stdout. Remove support for printing plugin
3328 info (it would just output something freestyle along the lines of
3329 gst-inspect so far), which fixes #514507. Also add license header.
3331 2008-04-11 Julien Moutte <julien@fluendo.com>
3334 * configure.ac: Merge platform specific defines, introduce a new
3335 define on OS X to remember that forking when updating registry is
3337 * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3339 * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3341 * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3342 condition that leads to absolutely no plugins being registered on
3345 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3347 Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3349 * gst/gstutils.c: (gst_pad_add_data_probe),
3350 (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3351 (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3352 (gst_pad_add_buffer_probe_full):
3354 * docs/gst/gstreamer-sections.txt:
3355 * win32/common/libgstreamer.def:
3356 Add gst_pad_add_*_probe_full() functions with a notify callback that
3357 lets the caller free the data it passes to the probe functions. This
3358 is useful for bindings such as gst-python or gstreamermm (#526814).
3359 API: gst_pad_add_data_probe_full
3360 API: gst_pad_add_buffer_probe_full
3361 API: gst_pad_add_event_probe_full
3363 * tests/check/gst/gstutils.c:
3364 Add minimal unit test to make sure freeing the data actually works
3367 * tests/benchmarks/.cvsignore:
3368 Random cvsignore addendum.
3370 2008-04-10 Tim-Philipp Müller <tim at centricular dot net>
3372 * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3373 (GST_DEBUG_BIN_TO_DOT_FILE):
3374 Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3375 to it in the docs (since these are macros the types of the arguments
3376 won't be shown in the docs otherwise).
3378 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3381 Do not abort on out of memory for pad_alloc_buffer.
3383 2008-04-10 Stefan Kost <ensonic@users.sf.net>
3385 * libs/gst/check/gstcheck.c:
3386 Remove blank line between symbol name ad parameters to fix gtkdoc
3389 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3391 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3393 * docs/gst/gstreamer-sections.txt:
3396 * win32/common/libgstreamer.def:
3397 Expose gst_segment_copy() to make things easier for the c++ bindings.
3399 API: gst_segment_copy()
3401 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3403 * gst/gst.c: (gst_init_get_option_group), (init_post):
3404 Fix const position; ref GType classes for enum types to work
3405 around thread-safety issues in GLib versions < 2.16.
3407 2008-04-09 Wim Taymans <wim.taymans@collabora.co.uk>
3409 * docs/design/part-buffering.txt:
3410 Fix some typos and set the estimated total for push mode to -1.
3412 * gst/gstquery.c: (gst_query_new_buffering):
3413 Set buffering-left to 0 as we're not buffering by default.
3415 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3416 Implement BUFFERING query.
3418 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3420 Based on patch by: Milosz Derezynski <internalerror gmail com>
3422 * gst/gsterror.c: (_gst_stream_errors_init):
3424 Add two new error codes for encrypted content. Fixes #524659.
3425 API: GST_STREAM_ERROR_DECRYPT
3426 API: GST_STREAM_ERROR_DECRYPT_NOKEY
3428 2008-04-09 Tim-Philipp Müller <tim at centricular dot net>
3433 * win32/common/libgstreamer.def:
3436 2008-04-09 Sebastian Dröge <slomo@circular-chaos.org>
3438 * plugins/elements/gstidentity.c: (gst_identity_event),
3439 (gst_identity_start):
3440 Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3441 event after processing some data. Fixes bug #526042.
3443 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3445 * docs/gst/gstreamer-sections.txt:
3446 * gst/gstquery.c: (gst_query_parse_latency),
3447 (gst_query_set_buffering_percent),
3448 (gst_query_parse_buffering_percent),
3449 (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3451 Rename _avail -> _range
3452 API: gst_query_set_buffering_range
3453 API: gst_query_parse_buffering_range
3455 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3457 * docs/design/part-buffering.txt:
3460 * gst/gstquery.c: (gst_query_parse_latency),
3461 (gst_query_new_buffering), (gst_query_set_buffering_percent),
3462 (gst_query_parse_buffering_percent):
3464 Add busy field and quark for the buffering query so that the app can
3465 only use the query to see if buffering is in progress.
3467 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3469 * docs/gst/gstreamer-sections.txt:
3470 * gst/gstmessage.c: (gst_message_set_buffering_stats),
3471 (gst_message_parse_buffering_stats):
3473 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3474 (gst_query_parse_latency), (gst_query_new_buffering),
3475 (gst_query_set_buffering_percent),
3476 (gst_query_parse_buffering_percent),
3477 (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3478 (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3480 Reorder the message docs and headers for clarity.
3481 Add aditional buffering stats API for messages.
3482 Add buffering query.
3483 Convert some leftover queries to use GstQuark.
3484 API: gst_message_set_buffering_stats
3485 API: gst_message_parse_buffering_stats
3486 API: GST_QUERY_BUFFERING
3487 API: GstBufferingMode
3488 API: gst_query_new_buffering
3489 API: gst_query_set_buffering_percent
3490 API: gst_query_parse_buffering_percent
3491 API: gst_query_set_buffering_stats
3492 API: gst_query_parse_buffering_stats
3494 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3496 * gst/gstmessage.c: (gst_message_new_error),
3497 (gst_message_new_warning), (gst_message_new_info),
3498 (gst_message_new_buffering), (gst_message_new_state_changed),
3499 (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3500 (gst_message_new_new_clock), (gst_message_new_segment_start),
3501 (gst_message_new_segment_done), (gst_message_new_duration),
3502 (gst_message_new_async_start), (gst_message_parse_buffering),
3503 (gst_message_parse_state_changed),
3504 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3505 (gst_message_parse_new_clock), (gst_message_parse_error),
3506 (gst_message_parse_warning), (gst_message_parse_info),
3507 (gst_message_parse_segment_start),
3508 (gst_message_parse_segment_done), (gst_message_parse_duration),
3509 (gst_message_parse_async_start):
3510 Use GstQuark for messages.
3512 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3514 * gst/gstquark.c: (_priv_gst_quarks_initialize):
3516 Add some more quarks needed for messages and queries.
3518 2008-04-08 Wim Taymans <wim.taymans@collabora.co.uk>
3520 * docs/design/part-buffering.txt:
3521 Remove the "none" buffering mode, STREAM is a good default.
3522 Move estimated-time to the avail query, that's when it will be needed.
3523 Other small typo fixes and updates.
3525 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3527 * gst/gstindex.c: (gst_index_resolver_get_type):
3528 Don't put descriptions into the nick field of a GEnumValue: it's not
3529 meant for that and some language bindings rely on the nick field to
3530 construct constants and the like. Fixes #526705.
3532 2008-04-07 Tim-Philipp Müller <tim at centricular dot net>
3537 Merge other changes from 0.10.19 release branch.
3539 2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
3541 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3544 Actually build dlls when cross-compiling with mingw32.
3547 2008-04-05 Sebastian Dröge <slomo@circular-chaos.org>
3549 Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3552 Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3554 2008-04-04 Wim Taymans <wim.taymans@collabora.co.uk>
3556 * docs/design/draft-latency.txt:
3559 * docs/design/part-buffering.txt:
3560 Update design docs with more buffering ideas.
3562 2008-04-03 Tim-Philipp Müller <tim at centricular dot net>
3565 Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3567 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3570 Revert part that belongs to the preset patch.
3572 2008-04-03 Stefan Kost <ensonic@users.sf.net>
3575 Add qoutes to the define. Fixes # 525961.
3577 2008-04-03 Sebastian Dröge <slomo@circular-chaos.org>
3579 * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3580 (gst_file_index_load), (gst_file_index_add_id),
3581 (gst_file_index_get_assoc_entry):
3582 * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3583 (gst_mem_index_free_id), (gst_mem_index_add_id),
3584 (gst_mem_index_index_format):
3585 Use GSlice when possible.
3587 2008-04-02 Sebastian Dröge <slomo@circular-chaos.org>
3589 * libs/gst/controller/gstinterpolationcontrolsource.c:
3590 (gst_control_point_free),
3591 (gst_interpolation_control_source_set_internal):
3592 Use GSlice for allocating the control points.
3594 2008-04-02 Wim Taymans <wim.taymans@collabora.co.uk>
3596 * plugins/elements/gsttypefindelement.c:
3597 (gst_type_find_element_class_init),
3598 (gst_type_find_element_set_property),
3599 (gst_type_find_element_get_property),
3600 (gst_type_find_element_activate):
3601 * plugins/elements/gsttypefindelement.h:
3603 Fix pad leak when peer query fails.
3604 We can still typefind when the peer returns -1.
3605 Add property to force caps and bypass typefinding. This will be used in
3609 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3614 * gst/glib-compat-private.h:
3615 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3616 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3617 Unconditionally use GSlice for allocation.
3619 * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3620 * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3621 * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3622 (gst_structure_free):
3623 Use GSlice for allocation.
3625 2008-04-01 Sebastian Dröge <slomo@circular-chaos.org>
3627 * gst/parse/Makefile.am:
3628 * gst/parse/grammar.tab.pre.c:
3629 * gst/parse/grammar.tab.pre.h:
3630 * gst/parse/lex._gst_parse_yy.pre.c:
3631 Require a new enough flex and bison and remove the parser hacks to use
3632 a pre-regenerated version.
3634 2008-04-01 Julien Moutte <julien@fluendo.com>
3636 patch by: Jason Zhao <E3423C@motorola.com>
3638 * configure.ac: Add a configure switch to disable option parsing
3642 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3645 * gst/gstregistry.c:
3646 MacOS has plugins under .so or under .dylib. Add detection for MacOS
3647 and handle this case.
3650 Add a comment here describing, why we stat each plugin and not try to
3653 2008-03-31 Sebastian Dröge <slomo@circular-chaos.org>
3655 * libs/gst/base/gstbasetransform.c:
3656 (gst_base_transform_prepare_output_buffer):
3657 Also unset the GAP flag on buffers if we're working inplace but
3658 the element is not GAP-aware.
3660 Mark a comment as FIXME 0.11.
3662 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3665 Fix type in log message and add one to ease seeing how long registry
3666 cache verification takes.
3668 * gst/gstregistry.c:
3669 Only test plugin filenames against G_MODULE_SUFFIX.
3671 2008-03-31 Stefan Kost <ensonic@users.sf.net>
3673 * gst/gstdebugutils.c:
3674 Improve handling ghost/proxy pads.
3676 2008-03-27 Stefan Kost <ensonic@users.sf.net>
3678 * docs/gst/gstreamer-sections.txt:
3681 Expose macro to docs and fix link to it.
3683 2008-03-27 Michael Smith <msmith@fluendo.com>
3685 * libs/gst/dataprotocol/dataprotocol.c:
3686 (gst_dp_packet_from_event_1_0):
3687 When calculating GDP body CRC, use the correct pointer.
3688 Fixes part of #522401.
3690 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3692 Patch by: Mark Nauwelaerts <manauw at skynet be>
3694 * plugins/elements/gstidentity.c: (gst_identity_class_init),
3695 (gst_identity_init), (gst_identity_prepare_output_buffer):
3696 Identity is not always a passthrough element, it can modify the buffer
3697 timestamps when it has a datarate and operates in single-segment mode.
3698 We therefore make it an in_place filter with a custom buffer prepare
3699 function that conditionally makes the input buffer metadata writable
3700 when needed. Fixes #523985.
3702 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3704 Patch by: Mark Nauwelaerts <manauw at skynet be>
3707 * libs/gst/base/gstbasesrc.h:
3708 * libs/gst/base/gstbasetransform.c:
3709 * libs/gst/check/gstcheck.c:
3710 Small documentation fixes. Fixes #523978.
3712 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3714 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3715 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3716 Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3718 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3720 * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3721 (single_queue_underrun_cb):
3722 When trying to make room in the queue, bump the max allowed buffers
3723 bigger than the current amount of buffers in the queue. this fixes some
3724 nasty deadlocks in multiqueue when dynamically changing the limits of
3727 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3729 Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3731 * gst/gstcaps.c: (gst_caps_set_simple),
3732 (gst_caps_set_simple_valist), (gst_caps_intersect):
3734 Constify the field gchar * params in set_simple and friends.
3737 2008-03-24 Wim Taymans <wim.taymans@collabora.co.uk>
3739 * gst/gstvalue.c: (gst_value_transform_object_string):
3740 Transform a GstObject to a more meaningfull string that includes the
3741 object type in addition to its name.
3743 2008-03-23 Stefan Kost <ensonic@users.sf.net>
3746 ChangeLog surgery to add bugnumber to commit.
3748 2008-03-23 Rene Stadler <mail@renestadler.de>
3750 * libs/gst/base/gstbasetransform.c:
3751 (gst_base_transform_set_gap_aware): Fix confusing documentation.
3753 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3755 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3756 Rename constant everywhere and don't forget one occurence.
3758 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3760 * gst/gstregistrybinary.c: (gst_registry_binary_write):
3761 Align memory to the pointer size even if the architecture allows
3762 unaligned memory access. Unaligned memory access usually comes with
3763 performance penality.
3765 2008-03-23 Sebastian Dröge <slomo@circular-chaos.org>
3767 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3768 (gst_registry_binary_check_magic),
3769 (gst_registry_binary_load_pad_template),
3770 (gst_registry_binary_load_feature),
3771 (gst_registry_binary_load_plugin):
3772 Align memory to the pointer size instead of always 32 bit. Fixes
3773 unaligned memory accesses on ia64 and friends.
3775 * gst/gstregistrybinary.h:
3776 Bump binary registry format version for this as it changes the
3777 format on those architectures that don't have unaligned access
3778 and 64 bit pointers.
3780 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3782 * docs/pwg/advanced-dparams.xml:
3783 * docs/pwg/building-props.xml:
3784 * docs/pwg/other-source.xml:
3785 * gst/glib-compat.h:
3786 * gst/gstbin.c: (gst_bin_class_init):
3787 * gst/gstclock.c: (gst_clock_class_init):
3788 * gst/gstindex.c: (gst_index_class_init):
3789 * gst/gstobject.c: (gst_object_class_init):
3790 * gst/gstpad.c: (gst_pad_class_init):
3791 * gst/gstpipeline.c: (gst_pipeline_class_init):
3792 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3793 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3794 * libs/gst/base/gstbasetransform.c:
3795 (gst_base_transform_class_init):
3796 * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3797 * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3798 (_gst_check_fault_handler_sighandler),
3799 (_gst_check_fault_handler_setup), (gst_check_init):
3800 * libs/gst/controller/gstcontroller.c:
3801 (_gst_controller_class_init):
3802 * libs/gst/controller/gstlfocontrolsource.c:
3803 (gst_lfo_control_source_class_init):
3804 * libs/gst/net/gstnetclientclock.c:
3805 (gst_net_client_clock_class_init):
3806 * libs/gst/net/gstnettimeprovider.c:
3807 (gst_net_time_provider_class_init):
3808 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3809 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3810 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3811 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3812 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3813 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3814 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3815 * plugins/elements/gstidentity.c: (gst_identity_class_init):
3816 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3817 * plugins/elements/gstqueue.c: (gst_queue_class_init):
3818 * plugins/elements/gsttee.c: (gst_tee_class_init):
3819 * plugins/elements/gsttypefindelement.c:
3820 (gst_type_find_element_class_init):
3821 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3822 Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3823 use it everywhere for GParamSpecs that use static strings (i.e. all).
3824 This gives us less memory usage, fewer allocations and thus less
3825 memory defragmentation. Fixes bug #523806.
3827 2008-03-22 Sebastian Dröge <slomo@circular-chaos.org>
3829 * gst/gstminiobject.c: (gst_value_dup_mini_object),
3830 (gst_param_spec_mini_object):
3831 * gst/gstminiobject.h:
3832 * win32/common/libgstreamer.def:
3833 * docs/gst/gstreamer-sections.txt:
3834 API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3835 GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3836 GstParamSpecMiniObject into a public header for this.
3838 This make GstMiniObject a bit more consistent with GObject and makes
3839 it possible to extend the param specs.
3841 gst_value_dup_mini_object is mainly useful for set_property methods.
3845 * tools/gst-inspect.c: (print_element_properties_info):
3846 Print something useful for GstMiniObject properties and not just
3849 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3851 * docs/gst/gstreamer-sections.txt:
3852 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3853 (gst_registry_binary_check_magic):
3854 * gst/gstregistrybinary.h:
3855 Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3856 and add it to the (private part) of the docs to fix the build.
3858 2008-03-21 Sebastian Dröge <slomo@circular-chaos.org>
3860 * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3861 (gst_registry_binary_check_magic),
3862 (gst_registry_binary_read_cache):
3863 * gst/gstregistrybinary.h:
3864 Don't use GST_MAJORMINOR for the binary registry version. Instead
3865 hardcode a value that must be changed whenever the format changes
3866 in an incompatible way.
3867 Also don't GST_ERROR when there is a version mismatch, just
3868 regenerate the registry silently.
3870 2008-03-21 Jan Schmidt <jan.schmidt@sun.com>
3873 Back to development - 0.10.18.1
3875 === release 0.10.18 ===
3877 2008-03-20 Jan Schmidt <jan.schmidt@sun.com>
3880 releasing 0.10.18, "So far away"
3882 2008-03-18 Jan Schmidt <jan.schmidt@sun.com>
3885 * win32/common/config.h:
3886 0.10.17.4 pre-release
3888 2008-03-18 Wim Taymans <wim.taymans@collabora.co.uk>
3890 Patch by: Ole André Vadla Ravnås
3891 <ole dot andre dot ravnas at tandberg dot com>
3893 * docs/gst/gstreamer-sections.txt:
3894 * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3895 (gst_poll_update_winsock_event_mask),
3896 (gst_poll_prepare_winsock_active_sets),
3897 (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3898 (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3899 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3900 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3901 (gst_poll_check_ctrl_commands), (gst_poll_wait):
3903 * win32/common/libgstreamer.def:
3904 Add new function gst_poll_fd_ignored() for improved Windows
3906 Various minor fixes and cleanups. See #520808.
3908 2008-03-17 Tim-Philipp Müller <tim at centricular dot net>
3910 * gst/gstindex.c: (gst_index_entry_free):
3912 Don't free key strings which we don't own. Fixes crash in
3913 gst_index_entry_free() (#522741).
3915 * tests/check/Makefile.am:
3916 * tests/check/gst/.cvsignore:
3917 * tests/check/gst/gstindex.c: (test_index_entries),
3918 (gst_index_suite), (gst_index):
3919 Add unit test for the above.
3921 2008-03-11 Sebastian Dröge <slomo@circular-chaos.org>
3923 * win32/common/libgstreamer.def:
3924 Remove symbols that were removed recently. Fixes bug #521740.
3926 2008-03-11 Jan Schmidt <jan.schmidt@sun.com>
3929 * win32/common/config.h:
3930 0.10.17.3 pre-release
3932 2008-03-07 Wim Taymans <wim.taymans@collabora.co.uk>
3934 Patch by: Ole André Vadla Ravnås
3935 <ole dot andre dot ravnas at tandberg dot com>
3937 * docs/gst/gstreamer-sections.txt:
3938 * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3939 (gst_poll_update_winsock_event_mask), (gst_poll_new),
3940 (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3941 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3942 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3943 (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3944 (gst_poll_fd_can_write), (gst_poll_wait),
3945 (gst_poll_set_controllable), (gst_poll_restart),
3946 (gst_poll_set_flushing):
3948 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3949 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3950 (gst_net_time_provider_new):
3951 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3952 * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3953 * tests/benchmarks/gstpollstress.c: (main):
3954 * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3955 Remove GstPollMode from the API, it does not make sense to let the
3956 application control this.
3957 Add support for Win32.
3958 Fix the testsuite. Fixes #520671.
3960 2008-03-07 Sebastian Dröge <slomo@circular-chaos.org>
3962 Patch by: Ole André Vadla Ravnås
3963 <ole dot andre dot ravnas at tandberg dot com>
3965 * gst/gstregistrybinary.c:
3966 Include io.h for write() and close() when building with MSVC. Fixes
3969 2008-03-07 Stefan Kost <ensonic@users.sf.net>
3972 * gst/gst_private.h:
3973 * gst/gstconfig.h.in:
3974 * gst/gstregistry.h:
3975 * gst/gstregistrybinary.c:
3976 * win32/common/gstconfig.h:
3977 Move registry backend API to private headers where we can. Add
3978 fixme-0.11 comments for the others. Add stubs for the xml backend when
3979 using the binary to ensure they functions exists (they should not be
3980 used though). Fixes #520756.
3982 2008-03-04 Jan Schmidt <jan.schmidt@sun.com>
3985 * win32/common/config.h:
3988 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
3990 * gst/gstregistrybinary.c: (gst_registry_binary_write),
3991 (gst_registry_binary_read_cache):
3992 * gst/gstregistryxml.c: (gst_registry_save):
3993 * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3994 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3995 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3996 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3997 Switch to using portabl gsize/gssize instead of size_t/ssize_t
4000 2008-03-03 Edward Hervey <edward.hervey@collabora.co.uk>
4002 * gst/gstminiobject.c:
4003 Import gst_private.h before any other header that might include other
4004 glib headers. This fixes the build on windows using native compilers.
4006 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4008 * win32/common/gstconfig.h:
4009 Add here too, just for completeness.
4011 2008-03-03 Tim-Philipp Müller <tim at centricular dot net>
4014 * gst/gstconfig.h.in:
4015 * gst/gstregistry.h:
4016 Fix broken use of config.h-defined preprocessor directive in a public
4017 header file. Add a corresponding define to gstconfig.h, since we can't
4018 really remove those function declarations from the header file now
4019 (or can we? and why are they there in the first place?).
4021 2008-03-03 Andy Wingo <wingo@pobox.com>
4023 * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4026 * gst/gststructure.c (gst_structure_from_string): Warn if
4027 structure_from_string didn't consume the whole string, but the
4028 caller did not provide an end pointer.
4030 2008-03-01 Tim-Philipp Müller <tim at centricular dot net>
4032 Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4034 * gst/gstregistryxml.c: (read_string), (load_feature):
4035 Strings allocated by libxml2 should be freed with xmlFree(), not
4036 with g_free(). Fixes issues on windows in certain contexts (#519698).
4038 2008-02-29 Tim-Philipp Müller <tim at centricular dot net>
4040 * gst/gstinterface.c: (gst_element_implements_interface):
4041 Don't crash if the element supports the interface queried, but does
4042 not implement GstImplementsInterface. Fixes #519584.
4044 * tests/check/Makefile.am:
4045 * tests/check/gst/.cvsignore:
4046 * tests/check/gst/gstinterface.c:
4047 Add unit test for the above.
4049 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4051 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4054 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4056 * gst/gstsegment.c: (gst_segment_set_seek),
4057 (gst_segment_to_stream_time):
4058 Improve some comment.
4059 Update variables where it makes more sense.
4061 2008-02-29 Rene Stadler <mail@renestadler.de>
4063 * gst/gsturi.c: (gst_uri_handler_get_protocols):
4064 Use the get_protocols_full vfunc if get_protocols is NULL. Fixes
4065 URIHandlers implemented using language bindings.
4067 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4069 * gst/gstelementfactory.h:
4070 * tests/check/elements/fakesink.c:
4071 * tests/check/elements/fakesrc.c: (setup_fakesrc):
4072 * tests/check/elements/fdsrc.c: (setup_fdsrc):
4073 * tests/check/elements/filesink.c: (setup_filesink):
4074 * tests/check/elements/filesrc.c: (setup_filesrc):
4075 * tests/check/elements/identity.c: (setup_identity):
4076 * tests/check/elements/tee.c:
4077 * tests/check/generic/sinks.c:
4078 * tests/check/generic/states.c: (setup), (teardown):
4079 * tests/check/gst/gst.c:
4080 * tests/check/gst/gstabi.c:
4081 * tests/check/gst/gstbin.c:
4082 * tests/check/gst/gstbus.c: (pull_messages):
4083 * tests/check/gst/gstcaps.c:
4084 * tests/check/gst/gstelement.c:
4085 * tests/check/gst/gstevent.c:
4086 * tests/check/gst/gstghostpad.c:
4087 * tests/check/gst/gstiterator.c:
4088 * tests/check/gst/gstmessage.c:
4089 * tests/check/gst/gstminiobject.c: (my_foo_init):
4090 * tests/check/gst/gstobject.c: (thread_name_object),
4092 * tests/check/gst/gstpad.c:
4093 * tests/check/gst/gstplugin.c:
4094 * tests/check/gst/gstpoll.c:
4095 * tests/check/gst/gstquery.c:
4096 * tests/check/gst/gstsegment.c:
4097 * tests/check/gst/gststructure.c:
4098 * tests/check/gst/gstsystemclock.c:
4099 * tests/check/gst/gsttask.c:
4100 * tests/check/gst/gstutils.c:
4101 * tests/check/gst/gstvalue.c:
4102 * tests/check/gst/struct_hppa.h:
4103 * tests/check/gst/struct_i386.h:
4104 * tests/check/gst/struct_ppc32.h:
4105 * tests/check/gst/struct_ppc64.h:
4106 * tests/check/gst/struct_x86_64.h:
4107 * tests/check/libs/adapter.c: (create_and_fill_adapter):
4108 * tests/check/libs/basesrc.c:
4109 * tests/check/libs/controller.c: (GST_START_TEST):
4110 * tests/check/libs/gdp.c:
4111 * tests/check/libs/gstnetclientclock.c:
4112 * tests/check/libs/gstnettimeprovider.c:
4113 * tests/check/libs/libsabi.c:
4114 * tests/check/libs/struct_hppa.h:
4115 * tests/check/libs/struct_i386.h:
4116 * tests/check/libs/struct_ppc32.h:
4117 * tests/check/libs/struct_ppc64.h:
4118 * tests/check/libs/struct_x86_64.h:
4119 * tests/check/pipelines/cleanup.c:
4120 * tests/check/pipelines/simple-launch-lines.c:
4121 * tests/check/pipelines/stress.c:
4122 And correct even more valid sparse warnings.
4124 * win32/common/libgstreamer.def:
4125 Add gst_poll_fd_init to the list of symbols.
4127 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4129 * gst/gstconfig.h.in:
4130 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4131 * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4132 (gst_check_log_critical_func), (gst_check_drop_buffers),
4133 (gst_check_element_push_buffer_list):
4134 * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4135 (gst_controller_get_type):
4136 * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4137 (gst_object_get_controller), (gst_object_get_control_source):
4138 * libs/gst/controller/gstinterpolationcontrolsource.c:
4139 (gst_interpolation_control_source_new):
4140 * libs/gst/controller/gstlfocontrolsource.c:
4141 (gst_lfo_control_source_new):
4142 * libs/gst/dataprotocol/dataprotocol.c:
4143 (gst_dp_event_from_packet_0_2):
4144 * plugins/elements/gstfdsrc.c:
4145 * plugins/elements/gstmultiqueue.c:
4146 * plugins/elements/gsttee.c:
4147 * plugins/elements/gsttypefindelement.c:
4148 * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4149 (gst_file_index_add_association):
4150 * plugins/indexers/gstmemindex.c:
4151 * tests/benchmarks/gstpollstress.c: (mess_some_more):
4152 * tests/check/elements/queue.c: (setup_queue):
4153 * tests/check/gst/gstpipeline.c:
4154 * tests/check/libs/collectpads.c: (setup), (teardown),
4155 (gst_collect_pads_suite):
4156 * tests/examples/adapter/adapter_test.c:
4157 * tests/examples/metadata/read-metadata.c: (make_pipeline):
4158 * tests/examples/xml/createxml.c:
4159 * tests/examples/xml/runxml.c:
4160 * tools/gst-inspect.c:
4162 Correct all relevant warnings found by the sparse semantic code
4163 analyzer. This include marking several symbols static, using
4164 NULL instead of 0 for pointers, not using variable sized arrays
4165 on the stack, moving variable declarations to the beginning of
4166 a block and using "foo (void)" instead of "foo ()" for declarations.
4168 2008-02-29 Sebastian Dröge <slomo@circular-chaos.org>
4170 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4171 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4172 Don't reset GstPollFDs, this is not necessary at all.
4174 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4175 (delayed_restart), (delayed_control):
4176 Use GST_POLL_FD_INIT.
4178 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4180 * gst/gstpoll.c: (gst_poll_fd_init):
4184 * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4185 Use some more init macros.
4187 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4189 * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4190 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4191 Use init macros and functions.
4193 2008-02-29 Wim Taymans <wim.taymans@collabora.co.uk>
4195 * docs/gst/gstreamer-sections.txt:
4196 * gst/gstpoll.c: (gst_poll_fd_init):
4198 Add INIT macro and _init method for initializing the GstPollFD.
4200 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org>
4202 * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4203 (gst_fd_sink_update_fd):
4204 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4205 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4206 (delayed_restart), (delayed_control):
4207 Initialize some uninitialized variables as spotted by valgrind.
4209 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4211 * tests/benchmarks/Makefile.am:
4212 * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4214 Add poll stress test.
4216 2008-02-28 Wim Taymans <wim.taymans@collabora.co.uk>
4218 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4220 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4221 (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4222 (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4223 * plugins/elements/gstfdsink.h:
4224 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4225 (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4226 (gst_fd_src_unlock_stop), (gst_fd_src_create),
4227 (gst_fd_src_uri_set_uri):
4228 * plugins/elements/gstfdsrc.h:
4229 Port to GstPoll. See #505417.
4231 2008-02-27 Jan Schmidt <jan.schmidt@sun.com>
4233 * win32/common/libgstreamer.def:
4234 Add new gst_poll_ symbols to win32 defs.
4236 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4238 * docs/libs/gstreamer-libs-sections.txt:
4239 * libs/gst/net/gstnetclientclock.c:
4240 (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4241 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4242 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4243 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4244 * libs/gst/net/gstnetclientclock.h:
4245 * libs/gst/net/gstnettimeprovider.c:
4246 (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4247 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4248 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4249 (gst_net_time_provider_new):
4250 * libs/gst/net/gstnettimeprovider.h:
4251 Use a private stuct to not break ABI.
4253 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4255 Patch by: Peter Kjellerstedt <pkj at axis dot com>
4257 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4258 (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4259 (gst_net_client_clock_thread), (gst_net_client_clock_start),
4260 (gst_net_client_clock_stop), (gst_net_client_clock_new):
4261 * libs/gst/net/gstnetclientclock.h:
4262 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4263 (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4264 (gst_net_time_provider_start), (gst_net_time_provider_stop),
4265 (gst_net_time_provider_new):
4266 * libs/gst/net/gstnettimeprovider.h:
4267 Massive code removal and cleanups because of GstPoll.
4270 2008-02-27 Wim Taymans <wim.taymans@collabora.co.uk>
4273 Add checks for poll, ppoll and pselect.
4275 * docs/gst/gstreamer-docs.sgml:
4276 * docs/gst/gstreamer-sections.txt:
4277 Add docs for GstPoll.
4281 * gst/gstpoll.c: (find_index), (selectable_fds),
4282 (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4283 (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4284 (gst_poll_set_mode), (gst_poll_get_mode),
4285 (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4286 (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4287 (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4288 (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4289 (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4290 (gst_poll_fd_can_write), (gst_poll_wait),
4291 (gst_poll_set_controllable), (gst_poll_restart),
4292 (gst_poll_set_flushing):
4294 Add generic poll abstraction. We ideally don't want to have this in core
4295 here but in glib intead...
4296 This code will be used in various network elements and ultimately for
4297 the nanosecond precision monotonic clock (that's why it's here in core).
4298 It'll allow us to implement cancelable socket operations for windows too.
4300 * tests/check/Makefile.am:
4301 * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4302 (delayed_stop), (delayed_restart), (delayed_flush),
4303 (delayed_control), (gst_poll_suite):
4304 Add GstPoll unit test.
4306 2008-02-25 Tim-Philipp Müller <tim at centricular dot net>
4309 Improve documentation of gst_filter_run(). Fixes #518627.
4311 2008-02-23 Tim-Philipp Müller <tim at centricular dot net>
4314 Add a few lines about the new 'check-inspected-versions' target.
4316 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4318 * tests/check/gst/gstevent.c:
4319 Add qos to the event test. Rename tcase/tsuite; is not only about
4322 2008-02-21 Stefan Kost <ensonic@users.sf.net>
4324 * plugins/elements/gstqueue.c:
4325 Ensure that buffer metadata is writeable, before modifying. Spotted by
4328 2008-02-20 Stefan Kost <ensonic@users.sf.net>
4330 * plugins/elements/gstqueue.c:
4331 * plugins/elements/gstqueue.h:
4332 When dropping buffers in leaky modes, mark next buffers we sent as
4335 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4337 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4338 Also, if mmap() fails that would be a READ error, not OPEN_READ.
4340 2008-02-20 Tim-Philipp Müller <tim at centricular dot net>
4342 * plugins/elements/Makefile.am:
4343 * plugins/elements/gstbufferstore.c:
4344 * plugins/elements/gstbufferstore.h:
4345 * plugins/elements/gsttypefindelement.h:
4346 Remove GstBufferStore, no idea why we were still building it.
4347 It's not used anywhere and superseded by GstAdapter.
4349 * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4350 (gst_file_src_create_mmap):
4351 * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4352 Printf format fixes for 64-bit integers.
4354 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4357 Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4358 We're not in 0.8 times anymore.
4360 2008-02-19 Jan Schmidt <Jan.Schmidt@sun.com>
4362 * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4363 (gst_check_element_push_buffer_list):
4364 * libs/gst/check/gstcheck.h:
4365 Make the declaration in the header for
4366 gst_check_element_push_buffer_list match the implementation.
4368 Fix up spelling, grammar and wording of the documentation in a few
4369 places, and add the Since keyword to new API functions.
4370 Use g_list_delete_link instead of g_list_remove in
4371 gst_check_drop_buffers, since it's immeasurably more efficient.
4373 * tests/check/elements/fakesrc.c: (GST_START_TEST):
4374 Use new gst_check_drop_buffers function where appropriate.
4376 * win32/common/libgstbase.def:
4377 * win32/common/libgstreamer.def:
4378 Add new symbols gst_collect_pads_take_buffer,
4379 gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4382 Changelog surgery to add API keyword to new gst_check API.
4384 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4386 * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4387 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4388 Update pre-generated flex files with flex 2.3.34.
4390 2008-02-19 Sebastian Dröge <slomo@circular-chaos.org>
4392 * gst/gstminiobject.c:
4393 Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4394 friendly to subclasses and not require them to know all internals
4395 of their parent class.
4397 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4399 * docs/libs/gstreamer-libs-sections.txt:
4400 * libs/gst/base/gstcollectpads.c:
4401 * libs/gst/base/gstcollectpads.h:
4402 Add sub-buffer functions to collectpads. Fixes #516187.
4403 API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4405 2008-02-15 Stefan Kost <ensonic@users.sf.net>
4408 Copy selected buffer-flags when creating subbuffers.
4411 2008-02-12 Sebastian Dröge <slomo@circular-chaos.org>
4413 * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4414 * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4415 * gst/gstmessage.c: (gst_message_class_init),
4416 (gst_message_finalize):
4417 * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4418 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4419 (gst_mmap_buffer_finalize):
4420 Properly chain up finalize functions to the parent class.
4422 2008-02-11 Wim Taymans <wim.taymans@collabora.co.uk>
4424 Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4426 * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4427 (gst_index_set_resolver_full):
4429 Add new function with option to dispose of user_data in resolver.
4430 Actually call the dispose function when finalizing the object and not
4431 just when changing the resolver/filter.
4432 API: GstIndex::gst_index_set_resolver_full()
4434 * docs/gst/gstreamer-sections.txt:
4435 Add new function to docs. Fixes #515469.
4437 2008-02-11 Sebastian Dröge <slomo@circular-chaos.org>
4439 * gst/gstindex.c: (gst_index_finalize):
4440 Chain up finalize to the parent class. Fixes leaking the GstObject
4441 name and other things.
4443 2008-02-08 Jan Schmidt <jan.schmidt@sun.com>
4446 Make DISABLE_DEPRECATED defined *only* during CVS, not during
4447 pre-releases or releases.
4449 * docs/faq/gst-uninstalled:
4452 * docs/random/release:
4453 Change one of the steps - we only upload core & base to Gnome FTP
4455 2008-02-06 Stefan Kost <ensonic@users.sf.net>
4457 * gst/gstconfig.h.in:
4458 Add 'id' for example.
4462 * plugins/elements/gstfdsink.c:
4463 Link to signals. Doc and comment fixes.
4465 2008-02-05 Tim-Philipp Müller <tim at centricular dot net>
4467 * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4468 * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4469 Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4470 unused and unimplemented; finally, it is plugin features, not
4471 plugins, that have ranks.
4473 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4475 * gst/gstpluginfeature.h:
4476 Clarify GstRank range docs.
4478 2008-02-05 David Schleef <ds@schleef.org>
4480 * gst/gst.c: Add a separate gst_deinitialized that prevents
4481 gst_init() from being called after gst_deinit(). Fixes #509559
4483 2008-02-05 Sebastian Dröge <slomo@circular-chaos.org>
4485 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4486 (gst_bin_class_init):
4487 * gst/gstelement.c: (gst_element_base_class_init),
4488 (gst_element_class_add_pad_template):
4489 * gst/gstpadtemplate.c: (gst_pad_template_init):
4490 * gst/gstpipeline.c: (gst_pipeline_get_type),
4491 (gst_pipeline_base_init), (gst_pipeline_class_init):
4492 * libs/gst/base/gstbasesink.c:
4493 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4494 (gst_base_src_base_init), (gst_base_src_class_init):
4495 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4496 (gst_capsfilter_class_init):
4497 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4498 (gst_fake_sink_class_init):
4499 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4500 (gst_fake_src_class_init):
4501 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4502 (gst_fd_sink_class_init):
4503 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4504 (gst_fd_src_class_init):
4505 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4506 (gst_file_sink_class_init):
4507 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4508 (gst_file_src_class_init):
4509 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4510 (gst_identity_class_init):
4511 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4512 (gst_multi_queue_class_init):
4513 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4514 (gst_queue_class_init):
4515 * plugins/elements/gsttee.c: (gst_tee_base_init),
4516 (gst_tee_class_init):
4517 * plugins/elements/gsttypefindelement.c:
4518 (gst_type_find_element_base_init),
4519 (gst_type_find_element_class_init):
4520 * tests/check/gst/gstelement.c: (gst_element_suite):
4521 Revert previous changes to the behaviour of GstPadTemplates, etc
4522 and the possiblity to call them in class_init as it breaks too
4523 many elements. Reopens bug #491501.
4525 Should be applied again for 0.11, thus added a few FIXME 0.11 at
4528 2008-02-05 Stefan Kost <ensonic@users.sf.net>
4530 * tools/gst-launch.c:
4531 Dump one graph per pipeline state-change and state change name
4532 (if GST_DEBUG_DUMP_DOT_DIR is set).
4534 2008-02-04 Thijs Vermeir <thijsvermeir@gmail.com>
4537 * tests/check/gst/gstpad.c:
4538 Be sure that we have a new copy of the caps and not
4539 reffed caps from a template
4541 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4543 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4544 * gst/gstpipeline.c: (gst_pipeline_get_type),
4545 (gst_pipeline_class_init):
4546 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4547 (gst_base_sink_class_init):
4548 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4549 (gst_base_src_class_init):
4550 * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4551 (gst_base_transform_class_init):
4552 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4553 (gst_collect_pads_class_init):
4554 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4555 * libs/gst/net/gstnettimeprovider.c:
4556 (gst_net_time_provider_base_init),
4557 (gst_net_time_provider_class_init):
4558 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4559 (gst_capsfilter_class_init):
4560 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4561 (gst_fake_sink_class_init):
4562 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4563 (gst_fake_src_class_init):
4564 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4565 (gst_fd_sink_class_init):
4566 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4567 (gst_fd_src_class_init):
4568 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4569 (gst_file_sink_class_init):
4570 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4571 (gst_file_src_class_init):
4572 * plugins/elements/gstidentity.c: (gst_identity_base_init),
4573 (gst_identity_class_init):
4574 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4575 (gst_multi_queue_class_init):
4576 * plugins/elements/gstqueue.c: (gst_queue_base_init),
4577 (gst_queue_class_init):
4578 * plugins/elements/gsttee.c: (gst_tee_base_init),
4579 (gst_tee_class_init):
4580 * plugins/elements/gsttypefindelement.c:
4581 (gst_type_find_element_base_init),
4582 (gst_type_find_element_class_init):
4583 Don't use base_init where not absolutely necessary. For example it's
4584 not necessary anymore for adding pad templates or setting element
4587 Leave empty base_init functions in several places as GST_BOILERPLATE
4588 still defines and uses them.
4590 2008-02-03 Sebastian Dröge <slomo@circular-chaos.org>
4592 * gst/gstelement.c: (gst_element_base_class_init),
4593 (gst_element_class_add_pad_template):
4594 * gst/gstpadtemplate.c:
4595 Make it possible (and recommended) to set element details and add
4596 pad templates in the class_init functions by copying the details/pad
4597 templates in GstElement's base_init.
4599 Also make it possible to replace existing pad templates by adding
4600 a new one with the same name. This was done in a hackish fashion
4601 in same elements before already.
4603 Don't reference pad templates that are added a second time. A
4604 new pad template has a refcount of one and is not floating anymore
4605 and to be owned by the element's class. Make this more explicit by
4606 mentioning it in the docs of gst_element_class_add_pad_template().
4608 These changes are backwards compatible. Fixes bug #491501.
4610 * tests/check/gst/gstelement.c:
4611 Add unit test for setting element details, adding pad templates and
4612 replacing them in a subclass.
4614 2008-02-02 Sebastian Dröge <slomo@circular-chaos.org>
4616 * tools/gst-inspect.c: (print_interfaces),
4617 (print_element_properties_info), (print_pad_info),
4618 (print_signal_info), (print_element_info):
4619 Fix a few memory leaks.
4621 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4623 * docs/libs/gstreamer-libs-sections.txt:
4624 * libs/gst/check/gstcheck.c:
4625 * libs/gst/check/gstcheck.h:
4626 Add more functions for unit testing: gst_check_drop_buffers,
4627 gst_check_caps_equal, gst_check_element_push_buffer_list,
4628 gst_check_element_push_buffer
4629 API: gst_check_drop_buffers
4630 API: gst_check_caps_equal
4631 API: gst_check_element_push_buffer_list
4632 API: gst_check_element_push_buffer
4634 2008-02-01 Julien Moutte <julien@fluendo.com>
4636 * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4637 * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4638 (gst_index_finalize), (gst_index_entry_free),
4639 (gst_index_add_association): Fix memory leaks.
4640 * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4641 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4642 (gst_mem_index_free_format), (gst_mem_index_free_id),
4643 (gst_mem_index_finalize): Fix memory leaks.
4644 * win32/common/config.h: Updated to CVS HEAD.
4646 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4649 Some more details about how the plugin docs works.
4651 * docs/plugins/gstreamer-plugins-sections.txt:
4654 2008-02-01 Stefan Kost <ensonic@users.sf.net>
4656 * gst/parse/grammar.tab.pre.c:
4657 * gst/parse/grammar.tab.pre.h:
4658 * gst/parse/grammar.y:
4659 * gst/parse/lex._gst_parse_yy.pre.c:
4660 Add delayed set-property. This allows to set properties on dynamicaly
4661 created objects (pads in videomxer). Fixes #509391.
4663 2008-02-01 Thijs Vermeir <thijsvermeir@gmail.com>
4666 Check if caps are not NULL (fix bug #510194)
4668 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4670 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4671 (gst_base_sink_get_position_paused):
4672 Add fixme regarding EOS in pull mode.
4673 Fix position reporting in PAUSED for negative rates.
4675 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4677 * gst/gstminiobject.c: (gst_mini_object_replace):
4678 When replacing a miniobject, do a quick equality check first so that we
4679 can avoid a ref/unref pair.
4681 2008-02-01 Wim Taymans <wim.taymans@collabora.co.uk>
4683 * docs/design/part-synchronisation.txt:
4686 * docs/plugins/Makefile.am:
4687 * docs/plugins/gstreamer-plugins-docs.sgml:
4688 * docs/plugins/gstreamer-plugins-sections.txt:
4689 * plugins/elements/gstmultiqueue.c:
4690 Add multiqueue to the docs.
4692 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4697 === release 0.10.17 ===
4699 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4702 releasing 0.10.17, "Due Negligence"
4704 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4707 Revert caps != NULL check temporarily for 0.10.17 release.
4709 2008-01-30 Thijs Vermeir <thijsvermeir@gmail.com>
4712 Check if caps are not NULL (fix bug #510194)
4714 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4717 Fix compilation on systems that have posix timers but no
4720 Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4723 2008-01-30 Jan Schmidt <jan.schmidt@sun.com>
4725 * tools/gst-inspect.c:
4726 Revert previous commit in preparation for an impromptu 0.10.17 release
4728 2008-01-29 Sebastian Dröge <slomo@circular-chaos.org>
4730 * tools/gst-inspect.c: (print_interfaces),
4731 (print_element_properties_info), (print_pad_info),
4732 (print_signal_info), (print_element_info):
4733 Fix a few memory leaks.
4735 2008-01-28 Jan Schmidt <jan.schmidt@sun.com>
4740 === release 0.10.16 ===
4742 2008-01-28 Jan Schmidt <thaytan@noraisin.net>
4745 releasing 0.10.16, "Special Dispensation"
4747 2008-01-24 Tim-Philipp Müller <tim at centricular dot net>
4750 Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4751 _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4752 not fail when trying to crosscompile on OpenEmbedded (#511750).
4754 2008-01-20 Sebastian Dröge <slomo@circular-chaos.org>
4757 Use $(MAKE) instead of make to fix the build if GNU make is
4758 called different. Fixes bug #510747.
4760 2008-01-20 Tim-Philipp Müller <tim at centricular dot net>
4762 * gst/gstplugin.c: (_gst_plugin_initialize):
4763 Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4764 again, which I broke two commits ago when changing the API
4765 of gst_plugin_register_static(): the g_list_foreach() in
4766 _gst_plugin_register_static still assumed the old function
4767 signature and would therefore fail (re-fixes #510187).
4769 * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4770 (_gst_plugin_register_static), (gst_plugin_register_static):
4771 Revert the (technically correct) change to call g_thread_init() from
4772 the pre-main() constructor. This will break programs which call
4773 g_thread_init() without an if (!g_thread_supported()) guard in their
4774 main function. We could just blame it on GLib or the application, but
4775 it's probably best to just avoid this altogether and simply not use
4776 any GLib functions here and use plain old malloc() with a simple
4777 array to store the plugins to register later when gst_init() is
4778 finally called (re-fixes #510187).
4780 * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4781 (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4782 (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4783 (GST_START_TEST), (gst_plugin_suite):
4784 Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4787 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4789 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4790 Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4791 This makes gtk-doc complain, but results in slightly better
4792 compiler errors. The old _gst_plugin_register_static() is
4793 still guarded, so there'll be a compiler warning about that
4794 instead. Fixes #510187 too.
4796 2008-01-17 Tim-Philipp Müller <tim at centricular dot net>
4798 * gst/gst.c: (init_post):
4799 * gst/gstplugin.c: (_gst_plugin_register_static),
4800 (gst_plugin_register_static), (_gst_plugin_initialize):
4801 * gst/gstplugin.h: (GstPluginFilter):
4802 Change API of gst_plugin_register_static() to not take
4803 a GstPluginDesc, but rather just take all the arguments
4804 in a GstPluginDesc directly. This is more intuitive and
4805 avoids certain mistakes when porting code from
4806 GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4809 * tests/check/gst/gstplugin.c:
4810 Fix up for changed API.
4812 2008-01-17 Thomas Vander Stichele <thomas at apestaart dot org>
4814 * docs/faq/legal.xml:
4815 Update FAQ, Totem actually has an exception these days.
4817 2008-01-14 Jan Schmidt <jan.schmidt@sun.com>
4819 * win32/common/libgstreamer.def:
4820 Add new API declarations
4822 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4824 * gst/gstminiobject.c:
4825 Spelling fixes for the API docs.
4827 2008-01-14 Stefan Kost <ensonic@users.sf.net>
4829 * libs/gst/base/gstbasetransform.c:
4830 Fix long property description for QoS.
4832 2008-01-12 Jan Schmidt <Jan.Schmidt@sun.com>
4835 _gst_trace_on is already provided by gsttrace.h, no need to declare
4838 * docs/libs/gstreamer-libs-sections.txt:
4839 Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4840 and remove strange tcase_add_test which is outputting a warning.
4842 * libs/gst/check/gstcheck.c:
4843 * libs/gst/check/gstcheck.h:
4844 Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4845 and define them in gstcheck.c instead of having every .c file whcih
4846 includes gstcheck.h be defining its own copy and relying on symbol
4847 interposing to marry them all, which doesn't work on Solaris.
4849 * tests/check/elements/identity.c: (GST_START_TEST):
4850 Don't define 'buffers' locally, it comes from libgstcheck.
4852 * tests/check/generic/sinks.c: (send_buffer):
4853 Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4855 * tests/check/gst/gststructure.c: (GST_START_TEST):
4856 * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4857 * tests/check/gst/gstutils.c: (GST_START_TEST):
4858 * tests/check/gst/gstvalue.c: (GST_START_TEST):
4859 Add a bunch of casts to make various constants fit the types
4860 they're being assigned to.
4862 2008-01-10 Stefan Kost <ensonic@users.sf.net>
4864 * gst/gstchildproxy.c:
4865 Improve docs and add some ideas for making this more general-purpose.
4867 2008-01-10 Tim-Philipp Müller <tim at centricular dot net>
4869 * gst/gst_private.h: (GST_CAT_TYPES):
4870 Add GST_CAT_TYPES, for consistency, and so that the other
4871 debug categories don't make fun of it. Spotted by Saur on IRC.
4873 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4875 * gst/parse/Makefile.am:
4876 Move types.h from EXTRA_DIST to noinst_HEADERS.
4878 2008-01-10 Sebastian Dröge <slomo@circular-chaos.org>
4881 Add -Wno-portability to the automake parameters to stop warnings
4882 about GNU make extensions being used. We require GNU make in almost
4883 every Makefile anyway.
4886 Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4887 at the same time is required for per target flags.
4889 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4892 Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4893 __GNUC__ is defined before using it.
4895 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4897 * docs/gst/gstreamer-sections.txt:
4898 * gst/gst.c: (init_post):
4899 * gst/gstplugin.c: (_gst_plugin_register_static),
4900 (gst_plugin_register_static), (_gst_plugin_initialize),
4901 (gst_plugin_register_func):
4902 * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4903 API: add gst_plugin_register_static() and deprecate
4904 GST_PLUGIN_DEFINE_STATIC, since it's not portable
4906 Also, in _gst_plugin_register_static(), make sure to call
4907 g_thread_init() before calling GLib functions such as
4908 g_list_append() if we're not initialised yet, since that
4909 may lead to random crashes with older GSlice/GLib versions.
4911 * tests/check/gst/gstplugin.c:
4912 Adapt unit test to above changes.
4914 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4916 * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4917 * gst/gstcaps.c: (gst_caps_to_string):
4918 * gst/gststructure.c: (GST_ASCII_IS_STRING),
4919 (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4920 Yet another gratuitous GString micro-optimisation: add a (private)
4921 function that serialises a structure appending to an existing
4922 GString, so that when we serialise caps we don't need to alloc+free
4923 a throwaway GString for each structure (each of which also entailing
4924 multiple reallocs on the way); also use g_string_sized_new() in
4925 various places with an approximate string length to avoid reallocs
4926 within GString. See #500143.
4928 2008-01-09 Tim-Philipp Müller <tim at centricular dot net>
4930 * gst/gststructure.c: (gst_structure_id_set_value):
4931 Always check UTF-8 conformance of structure strings and not only
4932 if the debugging system is enabled; reasoning: the behaviour of
4933 the actual code shouldn't really change depending on whether the
4934 debugging system is enabled or not (#508291).
4936 2008-01-09 Stefan Kost <ensonic@users.sf.net>
4939 Remove old coverage target in favour of "make lcov".
4941 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4943 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4944 (gst_base_src_loop):
4945 The start segment for reverse playback goes from start to last_stop.
4947 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4949 Patch by: Peter Kjellerstedt <pkj axis com>
4952 Cast the results from the timeval/spec_to_time macros to what the
4953 docs say it casts to, a GstClockTime. fixes #508175.
4955 2008-01-09 Wim Taymans <wim.taymans@collabora.co.uk>
4958 Update some comments.
4960 * tools/gst-inspect.c: (print_element_properties_info):
4961 Improve printing of flags.
4963 2008-01-08 Tim-Philipp Müller <tim at centricular dot net>
4965 * libs/gst/base/gstbasetransform.c:
4966 (gst_base_transform_transform_size):
4967 Print element name with g_warning() if there's a problem
4970 2008-01-07 David Schleef <ds@schleef.org>
4972 Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4974 * libs/gst/controller/gstcontroller.h:
4975 * libs/gst/controller/gstcontrolsource.h:
4976 * libs/gst/controller/gstinterpolationcontrolsource.h:
4977 * libs/gst/controller/gstlfocontrolsource.h:
4978 * libs/gst/dataprotocol/dataprotocol.h:
4979 Fix empty prototypes. Fixes bug #507957.
4981 2008-01-07 David Schleef <ds@schleef.org>
4983 * docs/faq/dependencies.xml: Fix typo.
4985 2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
4987 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4988 (gst_base_src_loop):
4989 Don't update the last_stop position in do_seek, that's the position we
4991 Read backwards when we have a negative rate.
4993 * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4994 (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4996 Add check for reverse reading.
4998 2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
5000 Patch by: Alexis Ballier <aballier at gentoo org>
5002 * tests/check/gst/gstabi.c:
5003 * tests/check/gst/struct_ppc64.h:
5004 * tests/check/libs/libsabi.c:
5005 * tests/check/libs/struct_ppc64.h:
5006 Decide which header to include based on the userland ABI target
5007 and not the kernel/cpu. Fix up structure sizes of ppc64 header
5008 for 64-bit userland (#503590). Might need something similar for
5011 2008-01-05 Tim-Philipp Müller <tim at centricular dot net>
5013 * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5014 Log the reason why fopen fails in addition to the fact that it failed.
5016 2008-01-04 Sebastian Dröge <slomo@circular-chaos.org>
5018 * gst/parse/parse.l:
5019 Use "%option never-interactive" to prevent useless calls to isatty()
5020 on every input when parsing. Also use "%option noinput" to not define
5021 the static input/yyinput functions which we don't use anyway. This
5022 removes a compiler warning with gcc 4.3 and saves some bytes in the
5025 * gst/parse/lex._gst_parse_yy.pre.c:
5026 Regenerated for the above change.
5028 2008-01-04 Wim Taymans <wim.taymans@collabora.co.uk>
5030 * gst/gstpad.c: (fixate_value):
5031 Don't crash when trying to fixate and empty list.
5034 2008-01-03 Sebastian Dröge <slomo@circular-chaos.org>
5036 * docs/faq/gst-uninstalled:
5037 Clarify the comments to make the usage of this script and what it
5038 does easier to understand.
5040 2008-01-01 Thijs Vermeir <thijsvermeir@gmail.com>
5042 * tools/gst-plot-timeline.py:
5043 Add more options to gst-plot-timeline
5045 2007-12-31 Wim Taymans <wim.taymans@collabora.co.uk>
5047 * docs/design/part-synchronisation.txt:
5048 Some more info on how the stream_time in GstBaseSink is done.
5050 2007-12-30 Tim-Philipp Müller <tim at centricular dot net>
5052 * tests/check/generic/sinks.c: (gst_sinks_suite):
5053 Put back the tcase_set_timeout(), apparently it's needed after
5054 all; fix it up in a way that makes things work with valgrind too.
5056 2007-12-30 Thijs Vermeir <thijsvermeir@gmail.com>
5058 * gst/gstdebugutils.c:
5059 Add warning when failed to open file for writing.
5061 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5063 Based on patch by: Laurent Glayal <spglegle yahoo fr>
5065 * gst/gstvalue.c: (gst_value_is_fixed):
5066 Optimisation: bail out of the loop as early as possible (#500143).
5068 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5070 * gst/gstcaps.c: (gst_caps_to_string):
5071 * gst/gstinfo.c: (gst_debug_construct_term_color):
5072 * gst/gstparse.c: (gst_parse_launchv):
5073 * gst/gstutils.c: (gst_util_dump_mem):
5074 * gst/gstvalue.c: (gst_value_serialize_any_list),
5075 (gst_value_transform_any_list_string):
5076 Bunch of gratuitous nano-optimisations.
5078 2007-12-28 Tim-Philipp Müller <tim at centricular dot net>
5080 * tests/check/generic/sinks.c: (async_done_func),
5081 (async_done_eos_func):
5082 Fix leak in unit test (bus sync handler must unref the message
5083 if it returns GST_BUS_DROP). Don't fiddle with the default test
5084 timeout, this is smaller than the current preconfigured value
5085 via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5086 because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5088 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5090 Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5093 Check for stdio_ext.h for the filesink changes.
5095 * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5096 (gst_file_sink_class_init), (gst_file_sink_init),
5097 (gst_file_sink_dispose), (gst_file_sink_set_property),
5098 (gst_file_sink_get_property), (gst_file_sink_open_file),
5099 (gst_file_sink_close_file):
5100 * plugins/elements/gstfilesink.h:
5101 Add two properties to control the buffering mode and size.
5102 API: GstFileSink::buffer-mode
5103 API: GstFileSink::buffer-size
5106 2007-12-24 Wim Taymans <wim.taymans@collabora.co.uk>
5108 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5109 Add some more docs to explain why a FIXME was wrongly added.
5111 2007-12-22 Sebastian Dröge <slomo@circular-chaos.org>
5114 Fix typo in the gst_object_{ref,unref} documentation.
5116 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5118 * tests/check/libs/controller.c:
5119 * tests/check/libs/typefindhelper.c:
5120 * tests/check/pipelines/parse-launch.c:
5121 Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5122 going to be deprecated (see #498924).
5124 2007-12-21 Tim-Philipp Müller <tim at centricular dot net>
5126 * gst/gsttypefind.c: (gst_type_find_register):
5127 Make gst_type_find_register work for static typefind functions,
5128 ie. allow passing plugin == NULL (prerequisite for #498924).
5130 * gst/gstelementfactory.c: (gst_element_register):
5131 Small docs addition.
5133 2007-12-21 Wim Taymans <wim.taymans@collabora.co.uk>
5135 * gst/gstpad.c: (gst_pad_dispose):
5136 Really unlink the peer pad instead of setting the peer pointer to NULL
5137 when we dispose the pad.
5138 This correctly calls the unlink functions and makes sure that the peer
5139 does not have a handle to invalid memory. See #504671.
5141 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5142 Add testsuite for above case.
5144 2007-12-20 Tim-Philipp Müller <tim at centricular dot net>
5146 Patch by: Peter Kjellerstedt <pkj axis com>
5148 * libs/gst/check/gstcheck.h:
5149 Fix detection of the check version we're compiling against (would
5150 otherwise break if check goes v0.10.0); correctly report the
5151 name of the failed test again in case of failure, instead of
5152 just 'tf' (fixes #504499).
5154 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5156 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5157 (gst_base_src_get_range), (gst_base_src_pad_get_range),
5158 (gst_base_src_loop), (gst_base_src_set_flushing),
5159 (gst_base_src_change_state):
5160 Allow sending EOS to the source to make it send out an EOS event from
5161 the streaming thread.
5162 Update docs and deprecate the old NULL/READY shutdown method.
5164 * tests/check/libs/basesrc.c: (GST_START_TEST),
5165 (gst_basesrc_suite):
5166 Add unit test for controlled shutdown.
5168 2007-12-19 Wim Taymans <wim.taymans@collabora.co.uk>
5170 * docs/design/part-synchronisation.txt:
5173 * gst/gstsegment.c: (gst_segment_set_seek),
5174 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5175 (gst_segment_to_running_time):
5176 The seek format can be different from the segment format when the start
5177 and stop values are not to be updated, when we only do a rate change for
5180 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5181 (gst_segment_suite):
5182 Add a testcase for the rate-only seeks, checking that the format is
5183 correctly ignored when start and stop are not updated.
5185 2007-12-18 Sebastian Dröge <slomo@circular-chaos.org>
5187 Patch by: Matthias Bolte <photon at mail dot upb dot de>
5189 * win32/vs8/grammar.vcproj:
5190 * win32/vs8/libgstcontroller.vcproj:
5191 * win32/vs8/libgstreamer.vcproj:
5192 Fix compilation with VS8 and include some missing files.
5194 2007-12-18 Tim-Philipp Müller <tim at centricular dot net>
5197 Small docs addition: mention that the strings returned by
5198 gst_tag_list_get_string*() are in UTF-8 encoding.
5200 2007-12-17 Tim-Philipp Müller <tim at centricular dot net>
5203 The check-exports stuff moved to common/win32.mak, so include that.
5205 2007-12-17 Wim Taymans <wim.taymans@collabora.co.uk>
5207 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5208 (gst_base_src_perform_seek), (gst_base_src_get_range),
5209 (gst_base_src_set_playing), (gst_base_src_change_state):
5210 Make _wait_playing() not check any variables so that we can call this
5211 function from subclasses. Move the checks elsewhere similar to
5212 _wait_preroll() in basesink.
5214 Only signal the LIVE cond when we are going back to PLAYING.
5216 2007-12-16 Tim-Philipp Müller <tim at centricular dot net>
5218 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5219 Use g_remove() and g_rename(). Check result of g_rename(), and
5220 don't leak the open file descriptor if we error out when writing.
5222 * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5223 Must check the return value of close() after writing out the new
5224 registry file. Sometimes write problems such as out-of-diskspace
5225 are only reported when the file is closed and not already during
5226 the write. This may have caused partial/broken registry files in
5227 some rare circumstances. Should fix #503675.
5229 2007-12-16 Edward Hervey <edward.hervey@collabora.co.uk>
5231 * docs/gst/.cvsignore:
5232 * docs/libs/.cvsignore:
5233 * docs/plugins/.cvsignore:
5234 Ignore files generated by new common/* modifications
5236 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5238 * win32/common/libgstbase.def:
5239 Yes, you can also have a <TAB> if you want.
5241 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5243 * win32/common/libgstbase.def:
5244 Add new basetransform API to win export file.
5246 2007-12-15 Stefan Kost <ensonic@users.sf.net>
5248 * tests/check/gst/gstbin.c:
5249 Adjust the test to the refcount change two days ago.
5251 2007-12-14 David Schleef <ds@schleef.org>
5253 * docs/faq/getting.xml: Fix typo.
5255 2007-12-14 Sebastian Dröge <slomo@circular-chaos.org>
5257 * docs/libs/gstreamer-libs-sections.txt:
5258 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5259 (gst_base_transform_prepare_output_buffer),
5260 (gst_base_transform_set_gap_aware):
5261 * libs/gst/base/gstbasetransform.h:
5262 API: Add gst_base_transform_set_gap_aware() to control whether
5263 the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5264 get buffers with this flag at all. Fixes #503231.
5266 2007-12-13 Stefan Kost <ensonic@users.sf.net>
5268 * libs/gst/base/gstbasesink.c:
5269 * libs/gst/base/gstbasesrc.c:
5270 * libs/gst/base/gstbasetransform.c:
5271 Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5272 thread. Correct log message in gstbasesrc.c.
5274 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5276 * gst/gstutils.c: (element_find_unconnected_pad):
5277 Fix possible compiler warning (#503417).
5279 2007-12-13 Tim-Philipp Müller <tim at centricular dot net>
5281 * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5282 Don't use GST_CAT_EVENT here for logging, it makes no sense.
5284 2007-12-13 Sebastian Dröge <slomo@circular-chaos.org>
5286 * tools/gst-inspect.c: (print_element_properties_info):
5287 Add support for GstFraction properties.
5289 2007-12-12 Tim-Philipp Müller <tim at centricular dot net>
5292 Add check-exports target and run it as part of 'make check'
5293 (see #499140 and #493983).
5295 * gst/gst_private.h:
5296 * gst/gstelementfactory.h:
5297 * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5298 * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5299 (_priv_gst_in_valgrind):
5300 * gst/gstinfo.h: (GstLogFunction):
5301 * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5302 (gst_type_find_register):
5303 * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5304 (gst_type_find_factory_get_type):
5305 * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5306 (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5307 (gst_controller_new_valist), (gst_controller_new_list),
5308 (_gst_controller_dispose), (_gst_controller_class_init):
5309 * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5310 * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5311 (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5312 (gst_object_get_controller), (gst_object_set_controller),
5313 (gst_object_suggest_next_sync), (gst_object_sync_values),
5314 (gst_object_set_control_source), (gst_object_get_control_source),
5315 (gst_object_get_value_arrays), (gst_object_get_value_array),
5316 (gst_object_get_control_rate), (gst_object_set_control_rate):
5317 * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5318 * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5319 Make some functions that should be static static; rename some
5320 private symbols so that they don't get exported; add some FIXME
5321 comments so we can move accidentally exported functions into
5322 our private section in 0.11.
5324 * win32/common/libgstreamer.def:
5325 Add gst_utils_get_timestamp().
5327 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5331 Add more missing "Since:" tags to docs.
5333 2007-12-12 Stefan Kost <ensonic@users.sf.net>
5336 Add mising "Since:" to docs.
5338 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5341 Include "glib-compat-private.h" to fix the build on system with
5342 glib < 2.10. Fixes #503131.
5344 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5348 Actually its not PURE as it gets the time from elsewhere.
5350 2007-12-11 Stefan Kost <ensonic@users.sf.net>
5352 * docs/gst/gstreamer-sections.txt:
5354 * gst/gstdebugutils.c:
5358 * libs/gst/base/gstbasesink.c:
5359 * tools/gst-launch.c:
5360 Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5361 uses as we don't have HAVE_POSIX_TIMERS in public headers.
5362 Thanks Tim for spotting.
5363 API: gst_util_get_timestamp
5365 2007-12-09 Sebastian Dröge <slomo@circular-chaos.org>
5368 Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5370 2007-12-08 Tim-Philipp Müller <tim at centricular dot net>
5372 * gst/gststructure.c: (gst_structure_validate_name),
5373 (gst_structure_new_valist), (gst_structure_parse_value),
5374 (gst_structure_from_string):
5375 Don't crash in _from_string() if the structure name is not valid
5376 (fixes #501560). Allow structure names to start with a number
5377 again (this apparently broke the ubuntu codec installer).
5379 * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5381 Add unit test for the crash; update unit tests for new behaviour.
5383 2007-12-03 Wim Taymans <wim.taymans@gmail.com>
5386 Clarify gst_element_get_compatible_pad() documentation.
5389 2007-12-02 Sebastian Dröge <slomo@circular-chaos.org>
5391 * tests/check/Makefile.am:
5392 Don't forget to dist {gst,libs}/struct_hppa.h.
5394 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5396 * libs/gst/base/gstbasesink.c:
5397 Use new API to get elapsed time.
5399 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5401 * gst/gstdebugutils.c:
5403 Fix wrong order of args in GST_CLOCK_DIFF() usage.
5405 * tools/gst-launch.c:
5406 Use new API to get elapsed time.
5408 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5410 * docs/gst/gstreamer-sections.txt:
5412 * gst/gstdebugutils.c:
5414 Rename new API + ChangeLog surgery to remove old name from last entry..
5416 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5418 * docs/gst/gstreamer-sections.txt:
5420 * gst/gstdebugutils.c:
5422 Now hide the different clock stuff behind a macro.
5424 2007-11-28 Stefan Kost <ensonic@users.sf.net>
5427 * gst/gstdebugutils.c:
5429 Apply the posix-timer check from #361155. Conditionally use the posix
5430 timer for logging. This gives better timestamp precission, less
5431 overhead and no ntp jitter.
5433 2007-11-28 Sebastian Dröge <slomo@circular-chaos.org>
5435 * gst/gstminiobject.c: (gst_mini_object_get_type),
5436 (gst_mini_object_class_init), (gst_mini_object_copy_default),
5437 (gst_mini_object_finalize), (gst_mini_object_copy),
5438 (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5439 (gst_mini_object_replace), (param_mini_object_validate),
5440 (gst_param_spec_mini_object_get_type):
5441 Some cleanup and checking against invalid function parameters.
5443 2007-11-28 Wim Taymans <wim.taymans@gmail.com>
5445 * docs/gst/gstreamer-sections.txt:
5447 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5448 (gst_systemclock_suite):
5449 Start merging in the easy bits of #361155, the monotonic clock patch.
5450 This one adds a few handy macros with docs and a testsuite.
5452 2007-11-27 Wim Taymans <wim.taymans@gmail.com>
5454 * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5455 Be a bit smarter when seeking, like, don't try to do a seek when it's
5456 not needed. This avoids errors when the file is not seekable.
5459 2007-11-26 Stefan Kost <ensonic@users.sf.net>
5461 * docs/gst/gstreamer-docs.sgml:
5462 * docs/gst/gstreamer-sections.txt:
5463 * docs/gst/gstreamer.types.in:
5468 * plugins/elements/gstqueue.c:
5469 Due to popular request remove preset interface again. :-(.
5471 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5473 * tools/gst-inspect.c:
5474 Print 'default value' for enums and flags too.
5476 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5478 * docs/random/ensonic/profiling.txt:
5482 Fix typo and give better log output.
5484 * gst/gstdebugutils.c:
5485 * gst/gstdebugutils.h:
5486 More ideas, make graphs a bit smaller and fix param name in macro.
5488 2007-11-22 Stefan Kost <ensonic@users.sf.net>
5491 Try harder to use the return value from fgets().
5493 2007-11-21 Stefan Kost <ensonic@users.sf.net>
5496 For theses two fgets we handle the error below.
5498 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5500 * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5501 Only send upstream events upstream. Fixes #498746.
5503 2007-11-21 Wim Taymans <wim.taymans@gmail.com>
5505 Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5507 * plugins/elements/gstidentity.c: (gst_identity_class_init),
5508 (gst_identity_init), (gst_identity_transform_ip),
5509 (gst_identity_set_property), (gst_identity_get_property):
5510 * plugins/elements/gstidentity.h:
5511 Add property to disable handoff signal emission. Fixes #498694.
5512 API: GstIdentity::signal-handoffs
5514 2007-11-21 Julien Moutte <julien@fluendo.com>
5516 * docs/faq/gst-uninstalled: Yet another missing library for the
5517 uninstalled script (fft)
5519 2007-11-21 Jan Schmidt <jan.schmidt@sun.com>
5521 * docs/faq/developing.xml:
5522 Add a question about how to submit new translations.
5524 * docs/random/release:
5525 Update the contact email address for the Translation Project
5527 * plugins/elements/gstfdsrc.c:
5528 The parent_class for fdsrc is pushsrc, not GstElement.
5530 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5533 Plug a leak and fix saving.
5535 2007-11-20 Sebastian Dröge <slomo@circular-chaos.org>
5537 * docs/gst/gstreamer-sections.txt:
5538 Add new gst_preset__get_property_names() function to the docs
5541 2007-11-20 Stefan Kost <ensonic@users.sf.net>
5545 Change _get_preset_names API to return a strv with copies. Add
5546 _get_property_names to allow implementations to filter and provide
5547 good default implementation.
5549 2007-11-20 Julien MOUTTE <julien@moutte.net>
5551 * docs/faq/gst-uninstalled: Add another library to the uninstalled
5554 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5557 More cleanups, docs, and TODOs from comments that now slowly come in.
5559 2007-11-19 Julien MOUTTE <julien@moutte.net>
5561 * docs/faq/gst-uninstalled: Add new base libraries in the LD
5564 2007-11-19 Stefan Kost <ensonic@users.sf.net>
5567 Fix bogus warning and make the property type specific code more
5570 2007-11-19 Julien MOUTTE <julien@moutte.net>
5572 * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5575 2007-11-19 Wim Taymans <wim.taymans@gmail.com>
5577 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5578 (gst_bin_add_func), (gst_bin_remove_func),
5579 (gst_bin_change_state_func), (gst_bin_continue_func):
5580 Change email, cleanups add some more debug and comments.
5581 Also set bus and clock on new elements when the pipeline was in error.
5583 2007-11-18 Stefan Kost <ensonic@users.sf.net>
5586 * gst/gstdebugutils.c:
5587 Fix build with --disable-gst-debug. Fixes #497859.
5588 Spotted by Sameer Naik.
5590 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5593 Little documentation improvment.
5596 More TODO cleanups. Remove c++ comments.
5598 * libs/gst/controller/gstcontroller.c:
5599 Add TODO and use quark from static string.
5601 * tests/check/gst/gstmessage.c:
5602 * tests/check/gst/gststructure.c:
5603 Use quark from static string.
5605 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5608 Add some comments and TODOs.
5611 Add padding for future changes.
5613 * plugins/elements/gstqueue.c:
5614 Implement the iface.
5616 2007-11-17 Stefan Kost <ensonic@users.sf.net>
5618 * docs/gst/gstreamer-docs.sgml:
5619 * docs/gst/gstreamer-sections.txt:
5620 * docs/gst/gstreamer.types.in:
5625 Add the preset interface (Fixes #396779). Do some doc cleanups along.
5627 2007-11-16 Jan Schmidt <jan.schmidt@sun.com>
5633 === release 0.10.15 ===
5635 2007-11-15 Jan Schmidt <jan.schmidt@sun.com>
5638 releasing 0.10.15, "October"
5640 2007-11-14 Jan Schmidt <jan.schmidt@sun.com>
5642 * win32/vs6/libgstreamer.dsp:
5643 Convert line endings back to DOS.
5645 2007-11-13 Stefan Kost <ensonic@users.sf.net>
5647 * docs/design/draft-tagreading.txt:
5648 * docs/random/ensonic/profiling.txt:
5649 Update fast tagreading draft and performance profiling ideas.
5651 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5653 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5654 Don't hold the object lock when unreffing a buffer because it could
5655 cause a deadlock when the finalize function wants to grab the object
5656 lock too. Fixes #495133.
5658 2007-11-09 Wim Taymans <wim.taymans@gmail.com>
5660 * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5661 (gst_segment_to_stream_time), (gst_segment_to_running_time):
5662 Also accumulate time correctly when doing reverse playback. Fixes
5664 When converting to running and stream time, use default values for
5665 start/stop/time/accum when comparing different formats. Fixes #494245.
5667 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5668 Do running/stream time in TIME format.
5670 * tests/check/gst/gstsegment.c: (GST_START_TEST),
5671 (gst_segment_suite):
5672 2 new unit tests for segment accumulation.
5674 2007-11-07 Tim-Philipp Müller <tim at centricular dot net>
5676 * gst/gst.c: (init_pre):
5677 * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5678 (_gst_debug_bin_to_dot_file):
5679 Move getenv() back into gst_init, so everyone can live happily
5680 ever after. Make sure the symbol isn't exported though.
5682 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5684 Patch by: Sebastien Moutte <sebastien moutte net>
5686 * win32/common/gstenumtypes.c:
5687 * win32/common/gstenumtypes.h:
5690 * win32/vs6/libgstreamer.dsp:
5691 Update vs6 project files (#494343).
5693 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5695 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5696 (gst_base_src_perform_seek), (gst_base_src_default_event),
5697 (gst_base_src_set_flushing), (gst_base_src_activate_push),
5698 (gst_base_src_activate_pull):
5699 Unify flushing code, remove some old unlock code that is no longer used.
5700 Take the streaming lock when seeking to avoid races. Fixes #492729.
5701 Added some more comments.
5703 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5705 * gst/gst.c: (_gst_disable_segtrap):
5706 Make _gst_disable_segtrap static, it's only used in gstplugin.c and
5707 we can use gst_segtrap_is_enabled() there now that we have that API.
5708 Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5709 to do the getenv here (and export the variable).
5711 * gst/gstdebugutils.c: (debug_dump_element),
5712 (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5713 Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5715 * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5716 (gst_debug_log_default):
5717 Rename _gst_info_start_time to priv_gst_info_start_time so it
5718 doesn't get exported (was never in any header).
5720 * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5721 (gst_plugin_loading_mutex):
5722 Make static mutex gst_plugin_loading_mutex really static (was never
5723 in any header), and use gst_segtrap_is_enabled() instead of
5724 _gst_disable_segtrap.
5726 * gst/gsttrace.c: (_gst_trace_default):
5727 Make local _gst_trace_default static (was never in any header).
5729 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5731 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5733 * win32/common/libgstbase.def:
5734 * win32/common/libgstcontroller.def:
5735 * win32/common/libgstdataprotocol.def:
5736 * win32/common/libgstnet.def:
5737 * win32/common/libgstreamer.def:
5738 Add more missing symbols, remove some duplicates, and sort
5739 as the 'sort' command sorts it (partially fixes #493983).
5741 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5743 * gst/gstelement.c: (gst_element_set_state_func):
5744 Only change the state cookie if a different state was set on the
5745 element. See #492729.
5747 2007-11-06 Tim-Philipp Müller <tim at centricular dot net>
5750 Remove unused and uninitialised type variables that were still
5751 exported for some reason (they were never in any header files
5754 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5756 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5757 (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5758 (gst_base_sink_event), (gst_base_sink_get_position_last),
5759 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5760 (gst_base_sink_change_state):
5761 Don't try to report a 0 position when we don't know, return -1 and FALSE
5762 instead. This mostly happens when we are prerolling.
5763 Make sure we can report the right position before we post the ASYNC_DONE
5764 message so that a message handler can query position without races.
5766 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5767 (async_done_handoff), (async_done_func), (send_buffer),
5768 (async_done_eos_func), (gst_sinks_suite):
5769 Add two tests for the above.
5771 2007-11-06 Wim Taymans <wim.taymans@gmail.com>
5774 Update with new email address.
5776 * docs/design/part-TODO.txt:
5777 Add some more info about future pad-block and negotiation changes.
5779 * docs/design/part-buffering.txt:
5780 Add some ideas about buffering reporting.
5782 2007-11-06 Jan Schmidt <jan.schmidt@sun.com>
5784 * tests/check/gst/gstobject.c:
5785 Disable silly racy test that always fails on this combination of CPU
5788 2007-11-03 Tim-Philipp Müller <tim at centricular dot net>
5790 Patch by: Murray Cumming <murrayc@murrayc.com>
5793 Corrected the registration of the parent-set and parent-unset
5794 signals: The parameter is a GstObject, not a GObject (#493134).
5796 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5798 * gst/gst_private.h:
5807 Move declaration of private _gst_foo_initialize() functions into
5808 our private header file where they should have been all along.
5810 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5812 * docs/plugins/gstreamer-plugins-sections.txt:
5813 * gst/gstdebugutils.h:
5815 * plugins/elements/gstqueue.c:
5816 gtk-doc fixes; trailing-comma-in-enum fix.
5818 2007-11-02 Tim-Philipp Müller <tim at centricular dot net>
5820 * gst/gst.c: (gst_deinit):
5821 Clean up on deinit (not the external ones though, doesn't seem to be
5822 needed for some reason).
5824 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5826 * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5827 Remove __declspec(dllimport) for MSVC that was copied over into core
5828 from a plugin, obviously without ever having been tested (note the
5829 single underscore in _declspec in the initial commit), and that doesn't
5830 really make sense. See #492077.
5832 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5834 * gst/gst.c: (init_post):
5835 * gst/gstevent.c: (_gst_event_initialize):
5836 * gst/gstquery.c: (_gst_query_initialize):
5837 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5838 g_type_class_ref() other types as well, see #349410 and #64764.
5840 * gst/gstbuffer.c: (_gst_buffer_initialize):
5841 * gst/gstmessage.c: (_gst_message_initialize):
5842 Simplify existing g_type_class_ref().
5844 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5846 * gst/gstformat.c: (_gst_format_initialize):
5847 g_type_class_ref() our GstFormat type to make sure we avoid the
5848 thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5849 bug #64764. Should fix intermittent tee unit test failures (#474823).
5851 2007-11-01 Tim-Philipp Müller <tim at centricular dot net>
5853 * tests/check/elements/tee.c: (test_num_buffers):
5854 Simplify, simplify, simplify - or not. Rewrite unit test
5855 not to use gst_parse_launch(); allow N sub-streams. Increasing
5856 the number of sub-streams seems to reproduce #474823 more easily.
5858 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5860 Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
5863 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5864 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5865 * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5866 Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5867 starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5868 so use _pipe() directly (#492077).
5870 * win32/common/dirent.c: (_treaddir):
5871 Add a couple of casts to make it build without warnings with MSVC.
5873 * win32/common/libgstreamer.def:
5874 Add some more symbols that need to be exported.
5876 2007-10-31 Tim-Philipp Müller <tim at centricular dot net>
5878 * tests/examples/metadata/read-metadata.c: (message_loop):
5879 Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5880 arriving in a second or third tag message are added to
5881 the tag list as well.
5883 2007-10-31 Stefan Kost <ensonic@users.sf.net>
5885 * libs/gst/base/gstbasesrc.c:
5886 Its "Since:" and not "@Since:". And remove an superflous cast.
5888 2007-10-30 Wim Taymans <wim.taymans@gmail.com>
5890 * docs/libs/gstreamer-libs-sections.txt:
5891 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5892 (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5893 (gst_base_sink_get_property), (gst_base_sink_render_object),
5894 (gst_base_sink_preroll_object),
5895 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5896 (gst_base_sink_change_state):
5897 * libs/gst/base/gstbasesink.h:
5898 Add a new last-buffer property that contains the last buffer used in
5899 basesink for preroll or rendering. useful for making snapshots.
5900 API: gst_base_sink_get_last_buffer()
5901 API: GstBaseSink::last-buffer
5903 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5905 * docs/gst/running.xml:
5907 * gst/gstdebugutils.c:
5908 * gst/gstdebugutils.h:
5909 * tools/gst-launch.c:
5910 Improve bin graph dumping, by using the envvar to specify a path.
5911 Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5913 2007-10-29 Tim-Philipp Müller <tim at centricular dot net>
5915 * plugins/elements/gsttypefindelement.c:
5916 (gst_type_find_element_handle_event),
5917 (gst_type_find_element_activate):
5918 Post special error message if we can't determine the type of a stream
5921 2007-10-29 Stefan Kost <ensonic@users.sf.net>
5923 * docs/gst/running.xml:
5924 * gst/gstdebugutils.c:
5925 Document new env-var. Add one log-line after dumpng a graph.
5927 2007-10-26 Tim-Philipp Müller <tim at centricular dot net>
5930 Ugly hack to put the (recently removed and non-portable, apparently)
5931 -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5932 GNU ld, because without that 'make check' fails miserably on my debian
5933 stable box. Someone with more knowledge of linker intricacies and
5934 portability issues than me fix this properly please.
5936 2007-10-25 Wim Taymans <wim.taymans@gmail.com>
5938 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5939 Reset last seen position after flushing so that we don't report the old
5942 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5944 * gst/gstelementfactory.c: (gst_element_register):
5946 Patch from Alessandro Decina adding get_type_full and
5947 get_protocols_full private vfuncs to the URIHandler interface
5948 to allow bindings to support creating URI handlers.
5949 Partially fixes: #339279
5950 API: GstURIHandlerInterface::get_type_full
5951 API: GstURIHandlerInterface::get_protocols_full
5953 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5955 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5956 (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5957 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5958 Make it so that pads are considered linked until a buffer is pushed
5959 and discovered otherwise. This avoids problems with decodebin2 hanging
5960 after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5963 Make sure we lock the multiqueue when updating the max-size properties.
5965 Fix a crash on Solaris in a debug statement in get_request_pad that
5966 passes a NULL string to GST_DEBUG.
5968 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5969 (run_output_order_test):
5970 Fix the test to allow the first buffer on not-linked pads to come out
5971 of sequence while multiqueue discovers that they are not-linked.
5973 2007-10-25 Jan Schmidt <Jan.Schmidt@sun.com>
5976 * libs/gst/check/Makefile.am:
5977 Use a custom export symbol regex for libgstcheck, as it needs
5978 to export symbols that don't match the standard GStreamer gst_*
5979 pattern, and --export-dynamic is not portable (only works on
5982 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5983 (gst_check_setup_sink_pad):
5984 Make sure to pass a message parameter to the fail_* macros.
5986 * tests/check/gst/gstinfo.c: (GST_START_TEST):
5987 Fix some compiler warnings.
5989 2007-10-25 Tim-Philipp Müller <tim at centricular dot net>
5991 * tests/check/gst/gststructure.c: (test_to_string):
5992 Disable test that checks that white spaces are not allowed
5993 in structure names or field names, since we need to
5994 support that for now for backwards compatibility reasons.
5996 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
5998 * docs/gst/gstreamer-sections.txt:
6001 API: add GST_TAG_ARTIST_SORTNAME
6002 API: add GST_TAG_ALBUM_SORTNAME
6003 API: add GST_TAG_TITLE_SORTNAME
6004 Add tag variants for sorting (#414539).
6006 2007-10-24 Tim-Philipp Müller <tim at centricular dot net>
6008 * gst/gststructure.c:
6009 Also allow white space for names so we don't break
6010 backwards compatibility.
6012 2007-10-22 Wim Taymans <wim.taymans@gmail.com>
6014 * docs/design/part-TODO.txt:
6015 * docs/design/part-segments.txt:
6016 * docs/design/part-streams.txt:
6019 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6021 * docs/gst/gstreamer-sections.txt:
6022 Fixed documentation from my previous commit (added new API add
6023 gst_value_set_structure(), add gst_value_get_structure() and
6024 GST_VALUE_HOLDS_STRUCTURE).
6026 2007-10-22 Stefan Kost <ensonic@users.sf.net>
6028 * gst/gstdebugutils.c:
6029 Reflow code to fix uninitialized variable warning.
6031 2007-10-22 Edgard Lima <edgard.lima@indt.org.br>
6033 * gst/gstcaps.c: (gst_caps_to_string),
6034 (gst_caps_from_string_inplace):
6035 * gst/gststructure.c: (gst_structure_get_abbrs),
6036 (gst_structure_to_string), (gst_structure_from_string):
6037 * gst/gstvalue.c: (gst_value_set_structure),
6038 (gst_value_get_structure), (gst_value_serialize_structure),
6039 (gst_value_deserialize_structure), (_gst_value_initialize):
6041 * tests/check/gst/gststructure.c: (GST_START_TEST),
6042 (gst_structure_suite):
6043 * tests/check/gst/gstvalue.c: (GST_START_TEST):
6044 Added GstStructure to gst_value_table and its related functions.
6045 Changed gst_structure_to_string to print ';' in the end.
6046 Changed gst_caps_to_string to not print ';' beteween its
6047 fields (structures) anymore and remove the lastes ';' from latest
6048 structure. Now it is possible to have nested structures.
6049 In addition, backward compatibilty is assured by accepting '\0' as
6050 end delimiter. Fixes: #487969.
6051 API: add gst_value_set_structure()
6052 API: add gst_value_get_structure()
6053 API: add GST_VALUE_HOLDS_STRUCTURE
6055 2007-10-19 Tim-Philipp Müller <tim at centricular dot net>
6058 When no GSource callback has been set up, tell developer
6059 to use a function that actually exists.
6061 2007-10-17 Stefan Kost <ensonic@users.sf.net>
6063 * docs/gst/gstreamer-sections.txt:
6067 * gst/gstdebugutils.c:
6068 * gst/gstdebugutils.h:
6071 * tools/gst-launch.c:
6072 Allow dumping pipelines as dot graphs. Fixes #456573.
6074 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6076 * gst/gststructure.c:
6077 Allow '+' as well, it can be part of media or mime types
6078 such as image/svg+xml.
6080 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6082 * docs/gst/gstreamer-sections.txt:
6085 API: add gst_bus_pop_filtered
6086 API: add gst_bus_timed_pop_filtered
6087 Two new functions for waiting for specific message types on the
6088 bus for a specified amount of time without iterating any main
6089 loops or main contexts.
6091 * tests/check/gst/gstbus.c:
6092 Some tests for the new functions.
6094 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6096 * docs/libs/gstreamer-libs-sections.txt:
6097 Make gtk-doc ignore stuff it should ignore.
6099 2007-10-16 Tim-Philipp Müller <tim at centricular dot net>
6101 * libs/gst/check/gstcheck.c:
6102 * libs/gst/check/gstcheck.h:
6103 Allow runtime selection of unit tests to run via the GST_CHECKS
6104 environment variable (test case function names, comma-separated).
6106 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6108 * gst/gststructure.c:
6109 * tests/check/gst/gststructure.c:
6110 Revert serialisation change and constrain structure-names after
6111 consensus on irc. Update api documentation to reflect the change.
6113 2007-10-16 Stefan Kost <ensonic@users.sf.net>
6115 * gst/gststructure.c:
6116 Improve serialization and fix tests.
6118 * tests/check/gst/gststructure.c:
6119 Add another test that covers why I actually did the previous structure
6122 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6124 * tools/gst-inspect.c: (print_element_info):
6125 Don't crash when inspecting an element.
6127 2007-10-15 Tim-Philipp Müller <tim at centricular dot net>
6129 * tests/check/gst/gststructure.c:
6130 Add unit test for escaping of structure name when serialising
6131 and deserialising to/from strings.
6133 2007-10-15 Wim Taymans <wim.taymans@gmail.com>
6135 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6136 (gst_single_queue_new):
6137 * plugins/elements/gstqueue.c: (gst_queue_init),
6138 (gst_queue_push_one):
6139 Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6140 upstream is tricked into thinking it can suggest a format downstream
6141 while downstream does not support that format. The real problem is that
6142 core calls acceptcaps when pushing a buffer with new caps, for which we
6143 do a little workaround by setting the caps on the srcpad ourselves
6144 before pushing the buffer (until this is figured out). Fixes #486758.
6146 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6148 * gst/gststructure.c:
6150 Add some more comments and debug output. Quote structure name to fix
6151 deserialisation of some strings.
6153 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6156 Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6157 on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6159 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6161 * tools/gst-inspect.c:
6162 Save approx. 400 1 byte allocs when printing. Use API to acces element
6168 * tools/gst-xmlinspect.c:
6169 Use API to acces element details.
6171 2007-10-15 Stefan Kost <ensonic@users.sf.net>
6174 Fix some spelling errors.
6176 2007-10-14 Wim Taymans <wim.taymans@gmail.com>
6178 * gst/gstbin.c: (bin_handle_async_done):
6179 Correctly set the next state if all of our async children commited their
6180 state. This makes sure we can actually cancel the state change in
6181 progress. Fixes a regression in Rhythmbox when seeking.
6183 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6186 Don't shadow local variable.
6189 Don't shadow global function name.
6191 2007-10-13 Tim-Philipp Müller <tim at centricular dot net>
6193 * gst/gstelementfactory.c:
6194 * gst/gstpluginfeature.c:
6195 * gst/gstpluginfeature.h:
6196 * gst/gstregistrybinary.c:
6197 * gst/gstregistryxml.c:
6198 * gst/gsttypefind.c:
6199 Use already-interned string for the private GstPluginFeature
6202 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6204 * docs/libs/gstreamer-libs-sections.txt:
6205 Add new API to docs; fixes the build.
6207 2007-10-10 Wim Taymans <wim.taymans@gmail.com>
6209 Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6211 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6212 (gst_base_sink_event):
6213 * libs/gst/base/gstbasesink.h:
6214 Add function to wait for EOS, subclasses can use this to correctly wait
6215 for devices to drain before performing the EOS logic. Fixes #485343.
6216 API: gst_base_sink_wait_eos()
6218 2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
6221 Cast description string constants in GST_PLUGIN_DEFINE macros
6222 to a (gchar*) to make C++ code using these macros compile
6223 without warning with g++-4.2 (see #462737). Even if slightly
6224 ugly, this seems preferable to putting the description strings
6225 into the GLib quark table or making the structure member a
6226 const gchar * and doing casts in core code that allocs and
6227 frees these strings, or requiring a cast in the C++ code.
6229 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6232 Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6233 to print the entire class/function signature into the log
6234 file for C++ code. This only affects C++ code, for C code
6235 everything remains the same.
6237 2007-10-09 Wim Taymans <wim.taymans@gmail.com>
6239 * gst/gstbin.c: (remove_from_queue):
6240 Work around a problem with pipelines containing (semi)loops until a
6241 proper, more complicated solution is ready. See #475455.
6243 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6247 * gst/gstregistrybinary.c:
6248 * gst/gstregistryxml.c:
6249 Put more strings into the GLib quark table. No need to keep
6250 a hundred-something copies of identical version strings,
6251 license strings, package name strings and package origin
6254 2007-10-09 Tim-Philipp Müller <tim at centricular dot net>
6256 * docs/manual/advanced-dataaccess.xml:
6257 Don't imply that it's okay to unconditionally change
6258 buffer data or buffer metadata in a pad probe callback,
6259 and a bunch of other comments. Fixes #430031.
6261 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6263 * win32/common/gstenumtypes.c:
6264 * win32/common/gstenumtypes.h:
6265 * win32/common/gstversion.h:
6266 Update generated files.
6268 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6270 * docs/manual/advanced-autoplugging.xml:
6271 Prefix section with broken code with a warning (see #342432).
6273 2007-10-08 Tim-Philipp Müller <tim at centricular dot net>
6275 * docs/manual/appendix-integration.xml:
6276 * docs/manual/basics-init.xml:
6277 Call g_thread_init() before g_option_context_new() to
6278 avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6280 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6282 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6283 (gst_base_sink_queue_object_unlocked),
6284 (gst_base_sink_queue_object), (gst_base_sink_event),
6285 (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6286 When we received EOS and are waiting for when to post the EOS message,
6287 our state is prerolled and we should not return ASYNC.
6288 Reorganize some code paths to implement this behavior.
6290 * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6292 Add unit test to verify above EOS fix.
6294 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6296 * plugins/elements/gsttypefindelement.c:
6297 (gst_type_find_element_have_type), (gst_type_find_element_init),
6298 (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6299 Move detecting the input caps of the sinkpad to the setcaps function.
6300 This allows us to update the output caps when we receive new input caps
6301 instead of always using the first detected caps.
6303 2007-10-08 Wim Taymans <wim.taymans@gmail.com>
6305 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6306 (gst_base_sink_get_position):
6307 Don't try to preroll non-async elements after a flush.
6308 Subtract latency form clock times when reporting position.
6310 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6312 * gst/gstpad.c: (gst_pad_pause_task):
6314 Small comment and documentation update.
6316 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6318 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6319 (gst_base_src_set_live), (gst_base_src_is_live),
6320 (gst_base_src_query_latency), (gst_base_src_perform_seek),
6321 (gst_base_src_default_event), (gst_base_src_wait),
6322 (gst_base_src_do_sync), (gst_base_src_get_range),
6323 (gst_base_src_pad_get_range), (gst_base_src_loop),
6324 (gst_base_src_unlock), (gst_base_src_unlock_stop),
6325 (gst_base_src_set_flushing), (gst_base_src_set_playing),
6326 (gst_base_src_activate_push), (gst_base_src_activate_pull),
6327 (gst_base_src_change_state):
6328 Rework the locking of basesrc in a similar fashion to basesink. We
6329 basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6330 us to handle live sources and semi live ones much better.
6332 Fix unlocking when seeking, shutting down and pausing in live sources.
6334 2007-10-05 Wim Taymans <wim.taymans@gmail.com>
6336 * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6337 Fix compilation again.
6339 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6342 Use meaningful categories for the logs to clean the default one.
6344 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6346 * tests/check/pipelines/cleanup.c:
6347 Print message name and not just number.
6349 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6351 * docs/design/draft-tagreading.txt:
6352 Add some more thoughts.
6354 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6356 * tests/check/pipelines/simple-launch-lines.c:
6357 Print message name and not just number.
6359 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6361 * libs/gst/base/gsttypefindhelper.c:
6362 Speedup typefinding. This is work in progress (see #459862).
6364 2007-10-03 Stefan Kost <ensonic@users.sf.net>
6367 Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6368 Spotted by Josep Torra Valles <josep@fluendo.com>.
6370 2007-10-03 Tim-Philipp Müller <tim at centricular dot net>
6373 Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6374 field has moved to GstObject.
6376 2007-10-02 Wim Taymans <wim.taymans@gmail.com>
6378 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6379 (gst_base_src_get_range), (gst_base_src_change_state):
6380 Call unlock for live sources so that they can't get stuck in _create and
6381 produce a buffer before they are set back to PLAYING.
6383 2007-10-02 Edward Hervey <bilboed@bilboed.com>
6385 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6386 (gst_queue_locked_dequeue):
6387 Comment the segment-related code... in the PROPER function.
6388 See #482147 and my commit from yesterday.
6390 2007-10-01 Wim Taymans <wim.taymans@gmail.com>
6392 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6393 Also initialize the counter that calculates the first timestamp on a
6394 buffer correctly for non-live sources.
6396 2007-10-01 Edward Hervey <bilboed@bilboed.com>
6398 * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6399 Disable code that's breaking the current-time-level reporting.
6402 2007-09-30 Sebastian Dröge <slomo@circular-chaos.org>
6404 * docs/gst/gstreamer-sections.txt:
6405 Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6406 as they shouldn't show up. Fixes the docs build.
6408 2007-09-29 Sebastien Moutte <sebastien@moutte.net>
6411 Add an explicit variable importation needed on VS6 (only for MSC_VER)
6412 Define M_PI which is used in files which are including gstinfo.h.
6413 VS6 includes doesn't define it.
6414 * win32/common/libgstbase.def:
6415 * win32/common/libgstcontroller.def:
6416 * win32/common/libgstreamer.def:
6417 Add new exported functions and variables.
6418 * win32/vs6/libgstcontroller.dsp:
6419 * win32/vs6/libgstreamer.dsp:
6420 Update the list of files to build.
6422 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6424 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6426 * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6427 (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6428 (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6429 Improve debugging. Fixes #480858.
6431 2007-09-28 Wim Taymans <wim.taymans@gmail.com>
6433 Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6435 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6436 First patch of code cleanups, use the macros and right arguments in the
6437 macros to signal and lock the queue. See #480858.
6439 2007-09-26 Wim Taymans <wim.taymans@gmail.com>
6441 * gst/gstbus.c: (poll_func):
6442 Improve debugging when dealing with _poll().
6444 2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
6446 * gst/gstregistryxml.c:
6447 Fix memory leak I introduced a few days ago.
6449 2007-09-26 Michael Smith <msmith@fluendo.com>
6451 * gst/gstbuffer.c: (gst_buffer_finalize):
6452 Make it once again possible to free GstBuffers in the default
6454 The poisoning scribbles on parts of the miniobject we need in
6458 2007-09-25 Tim-Philipp Müller <tim at centricular dot net>
6460 * docs/gst/gstreamer-sections.txt:
6463 API: add GST_TAG_COMPOSER, fixes #459809.
6465 2007-09-24 Sebastian Dröge <slomo@circular-chaos.org>
6469 Add the 3-clause BSD license and the MIT/X11 license to the license
6470 list. Fixes #479784.
6472 2007-09-24 Tim-Philipp Müller <tim at centricular dot net>
6474 * docs/faq/getting.xml:
6475 Add Q+A about different GStreamer versions (#364056).
6477 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6479 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6480 (gst_base_sink_event), (gst_base_sink_change_state):
6481 Return correct gboolean from query function.
6483 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6485 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6486 (gst_base_sink_event), (gst_base_sink_query),
6487 (gst_base_sink_change_state):
6488 Simplify latency query.
6489 When not synchronizing, we can report latency without querying the peer
6492 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6496 Fix small typos in the docs.
6498 2007-09-24 Wim Taymans <wim.taymans@gmail.com>
6500 * docs/design/draft-latency.txt:
6501 * docs/design/draft-push-pull.txt:
6502 * docs/design/draft-tagreading.txt:
6503 * docs/design/part-MT-refcounting.txt:
6504 * docs/design/part-activation.txt:
6505 * docs/design/part-block.txt:
6506 * docs/design/part-element-source.txt:
6507 * docs/design/part-events.txt:
6508 * docs/design/part-gstbin.txt:
6509 * docs/design/part-gstelement.txt:
6510 * docs/design/part-gstobject.txt:
6511 * docs/design/part-gstpipeline.txt:
6512 * docs/design/part-messages.txt:
6513 * docs/design/part-preroll.txt:
6514 * docs/design/part-push-pull.txt:
6515 * docs/design/part-qos.txt:
6516 * docs/design/part-query.txt:
6517 * docs/design/part-scheduling.txt:
6518 * docs/design/part-seeking.txt:
6519 * docs/design/part-segments.txt:
6520 * docs/design/part-states.txt:
6521 Documentation updates and typo fixes.
6523 2007-09-23 Tim-Philipp Müller <tim at centricular dot net>
6525 * plugins/elements/gstfakesink.c:
6526 Add some debug text to error message to indicate that
6527 we errored out on request.
6529 * tools/gst-launch.c:
6530 When the state change to PLAYING fails, check for an
6531 error message on the bus and print it.
6533 2007-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
6535 translated by: Jorge González González <aloriel@gmail.com>
6539 Added Spanish translation.
6541 2007-09-21 Wim Taymans <wim.taymans@gmail.com>
6543 * plugins/elements/gstqueue.c: (gst_queue_push_one):
6544 Fix printf arguments.
6546 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6548 * tests/check/generic/states.c:
6549 Improved state change unit test.
6551 2007-09-20 Stefan Kost <ensonic@users.sf.net>
6554 Move priv to the right place.
6556 * gst/gstsystemclock.c:
6557 Add FIXME: and improve log.
6559 * tests/check/Makefile.am:
6560 * tests/examples/manual/Makefile.am:
6561 Work with all types of registries.
6563 2007-09-19 Wim Taymans <wim.taymans@gmail.com>
6565 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6566 Don't unref the event after pushing it. Fixes #478401.
6568 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6571 * tests/examples/manual/.cvsignore:
6572 Ignore registries in any format.
6574 2007-09-19 Tim-Philipp Müller <tim at centricular dot net>
6576 * gst/glib-compat-private.h:
6577 Add compatibility macro for g_intern_string() for
6578 GLib-2.8 (any reason we can't just bump the
6579 requirement to at least 2.10?)
6581 * gst/gstpadtemplate.h:
6582 * gst/gstelementfactory.c:
6583 * gst/gstregistryxml.c:
6584 * gst/gstregistrybinary.c:
6585 Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6586 up the internal code accordingly. This shouldn't be a problem, since
6587 there is no reason external code could ever assume the string in such
6588 a structure is dynamically allocated unless it did that itself; the
6589 use of g_strdup() is private to element factories. The new code also
6590 saves some memory by putting pad template name strings into the GLib
6591 quark table instead of allocating them dynamically.
6592 Declaring this field constant fixes warnings with g++-4.2 when using
6593 the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6595 2007-09-19 Stefan Kost <ensonic@users.sf.net>
6597 * gst/gstelementfactory.c:
6598 Release static caps. Fixes #475723.
6600 2007-09-18 Tim-Philipp Müller <tim at centricular dot net>
6604 Make some internal API take const gchar * instead of just
6605 gchar * to avoid compiler warnings with g++-4.2.2 when
6606 passing string constants (partially fixes #478092).
6608 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6610 * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6611 A latency query fails when one of the sinks fail.
6613 * gst/gstelement.c: (gst_element_set_base_time):
6616 2007-09-17 Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6618 * gst/gstbin.c: (gst_bin_continue_func):
6619 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6620 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6621 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6623 Fix minor compilation warnings shown with Forte.
6625 2007-09-17 Wim Taymans <wim.taymans@gmail.com>
6627 * plugins/elements/gstqueue.c: (apply_buffer),
6628 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6629 Measure queue level based on the diff between head and tail timestamps
6630 even when pushing the first buffer.
6632 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6634 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6635 (gst_base_sink_event), (gst_base_sink_change_state):
6636 Sinks that don't preroll can always be queried for the latency.
6637 Don't post ASYNC start when we are not async.
6639 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6641 * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6642 (gst_queue_handle_sink_event), (gst_queue_chain),
6643 (gst_queue_push_one), (gst_queue_handle_src_query),
6644 (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6645 * plugins/elements/gstqueue.h:
6646 When downstream returns UNEXPECTED from pushing a buffer, don't try to
6647 push more buffers but allow pushing of EOS and NEWSEGMENT.
6648 Add some more debug info here and there. Fixes #476514.
6650 2007-09-14 Wim Taymans <wim.taymans@gmail.com>
6652 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6653 (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6654 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6655 (gst_base_sink_set_flushing), (gst_base_sink_query),
6656 (gst_base_sink_change_state):
6657 Latency query is allowed after we are prerolled. Introduce a new flag
6658 for this and stop abusing other variables.
6660 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6662 * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6663 Push OOB events downstream when we get them in send_event. This allows
6664 the application to insert events in the pipeline.
6665 Add some more comments.
6667 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6669 * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6670 (do_bin_latency), (gst_bin_change_state_func):
6671 * gst/gstpipeline.c: (gst_pipeline_change_state):
6672 Move latency query from GstPipeline to GstBin so that we can also
6673 use it when async-handling is enabled on bins.
6675 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6677 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6678 (gst_base_src_do_sync), (gst_base_src_change_state):
6680 Clean up the timestamping and syncing code for pseudo live sources.
6682 2007-09-13 Tim-Philipp Müller <tim at centricular dot net>
6684 Patch by: Steve Fink <sphink gmail com>
6686 * docs/manual/appendix-checklist.xml:
6687 Mention less -R switch in the section about debug output (#474055).
6689 2007-09-13 Wim Taymans <wim.taymans@gmail.com>
6691 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6692 Queue can latency to the pipeline up to the configured max size in time.
6693 Report this fact in the latency query.
6695 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6697 Patch by: Sebastien Moutte <sebastien at moutte dot net>
6699 * libs/gst/controller/gstinterpolation.c:
6700 * libs/gst/controller/gstlfocontrolsource.c:
6701 Use gst_guint64_to_gdouble() when converting from a uint64 or
6702 GstClockTime to double to fix the build on win32. Fixes #474371.
6704 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6706 * gst/gstbuffer.c: (gst_buffer_finalize):
6707 Implement poisoning for GstBuffer if --enable-poisoning is specified.
6708 When finalizing a buffer the complete struct is filled with 0xff,
6709 thus making a use of the buffer after the final unref impossible.
6711 2007-09-13 Sebastian Dröge <slomo@circular-chaos.org>
6713 * tests/check/libs/controller.c: (GST_START_TEST):
6714 Use fail_unless_equals_int(a, b) instead of
6715 fail_unless_equals (a == b) to get better output on failures.
6717 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6719 * tests/check/gst/gsturi.c:
6720 Also check for the other file URI variant on win32.
6722 2007-09-12 Tim-Philipp Müller <tim at centricular dot net>
6724 * gst/gsturi.c: (gst_uri_get_location):
6725 If there's no hostname, we want to return 'c:/foo/bar.txt'
6726 and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6728 * tests/check/gst/gsturi.c:
6729 Unit test for the above and a few more things.
6731 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6733 * docs/design/part-live-source.txt:
6734 Add docs on how live sources should timestamp.
6736 * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6737 Add some more debug info.
6738 For subclasses that are live and like to sync, add aditional startup
6739 latency to sync time and timestamps so that we timstamp according to the
6742 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6745 Also do a g_type_class_ref() for the subbuffer type in
6748 2007-09-11 Wim Taymans <wim.taymans@gmail.com>
6750 * docs/gst/gstreamer-sections.txt:
6751 * gst/gstpad.c: (gst_pad_peer_query):
6753 Add function to perform a query on the peer of a pad.
6754 API: gst_pad_peer_query()
6756 2007-09-11 Stefan Kost <ensonic@users.sf.net>
6758 * tests/check/gst/gstsystemclock.c:
6759 Cleanup the test a little (use gst-logging and not g_message). Improve
6760 test to check if a wait reached the target.
6762 2007-09-11 Tim-Philipp Müller <tim at centricular dot net>
6764 * docs/libs/gstreamer-libs-sections.txt:
6765 Add new API to docs and fix the build.
6767 2007-09-10 Wim Taymans <wim.taymans@gmail.com>
6769 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6770 (gst_base_src_init), (gst_base_src_set_do_timestamp),
6771 (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6772 (gst_base_src_get_property), (gst_base_src_do_sync):
6773 * libs/gst/base/gstbasesrc.h:
6774 Add property to make the basesrc timestamp buffers based on the current
6776 API: GstBaseSrc::do-timestamp
6777 API: gst_base_src_set_do_timestamp()
6778 API: gst_base_src_get_do_timestamp()
6780 2007-09-08 Tim-Philipp Müller <tim at centricular dot net>
6782 * docs/random/release:
6783 Really make sure translations are up-to-date before
6784 a release (#465010).
6786 2007-09-07 Sebastian Dröge <slomo@circular-chaos.org>
6788 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6789 Always destroy the timer, also in error cases.
6791 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6793 * docs/manual/highlevel-xml.xml:
6794 Fix XML example code. Fixes #472714.
6796 2007-09-05 Wim Taymans <wim.taymans@gmail.com>
6798 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6799 (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6800 (gst_base_sink_query):
6801 Protect eos and have_preroll with the OBJECT lock so we don't need to
6802 take the PREROLL lock when querying the latency. Fixes #473846.
6804 2007-09-05 Stefan Kost <ensonic@users.sf.net>
6807 Give some log-messages a category.
6809 2007-09-04 Wim Taymans <wim.taymans@gmail.com>
6811 * gst/gststructure.c:
6812 (gst_structure_fixate_field_nearest_fraction):
6813 Fix fraction list fixation code. Take the fraction with the smallest
6814 difference with the target instead of the first one in the list.
6816 * tests/check/gst/gststructure.c: (GST_START_TEST),
6817 (gst_structure_suite):
6818 Added test to verify correct fraction list fixation behaviour.
6820 2007-09-02 Tim-Philipp Müller <tim at centricular dot net>
6822 * win32/common/libgstreamer.def:
6823 Export gst_bus_add_signal_watch too.
6825 2007-08-30 Wim Taymans <wim.taymans@gmail.com>
6827 * docs/libs/gstreamer-libs-sections.txt:
6828 Add new methods to docs.
6830 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6831 (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6832 (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6833 (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6834 * libs/gst/base/gstbasesink.h:
6835 Add ts-offset property to fine-tune the synchronisation.
6836 API: GstBaseSink::ts-offset property
6837 API: gst_base_sink_set_ts_offset()
6838 API: gst_base_sink_get_ts_offset()
6840 2007-08-29 Wim Taymans <wim.taymans@gmail.com>
6842 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6843 (gst_base_sink_init), (gst_base_sink_set_sync),
6844 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6845 (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6846 (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6847 (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6848 (gst_base_sink_get_property), (gst_base_sink_change_state):
6849 * libs/gst/base/gstbasesink.h:
6850 Add async property to instruct the sink never to inform the parent about
6851 ASYNC state changes, update docs.
6852 Check argument with g_return_* for the public functions.
6853 API: GstBaseSink::async property
6854 API: gst_base_sink_set_async_enabled()
6855 API: gst_base_sink_is_async_enabled()
6857 2007-08-28 Wim Taymans <wim.taymans@gmail.com>
6859 * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6862 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6863 (gst_base_src_default_query), (gst_base_src_wait),
6864 (gst_base_src_do_sync), (gst_base_src_change_state):
6865 Rearrange some code so that we can add support for measuring the
6868 2007-08-27 Stefan Kost <ensonic@users.sf.net>
6870 * docs/random/ensonic/dynlink.txt:
6871 More thoughs on this.
6873 * plugins/elements/gstcapsfilter.c:
6874 Add bugzilla ticket number to FIXME comment.
6876 2007-08-24 Wim Taymans <wim.taymans@gmail.com>
6878 * docs/design/part-TODO.txt:
6879 * docs/design/part-block.txt:
6882 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6885 Revert patch which uses $(gst_headers) instead of $^ because it
6888 2007-08-24 Jan Schmidt <thaytan@mad.scientist.com>
6890 * tests/check/gst/gstbin.c: (GST_START_TEST):
6891 Fix leaks in the new unit test.
6893 2007-08-23 Tim-Philipp Müller <tim at centricular dot net>
6896 Don't use GST_INFO before the debug system is actually initialised
6897 (shouldn't do any harm, but won't print anything either, so we can
6898 just as well remove it).
6901 GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6902 compilers that don't support variadic macros (such as MSVC), should
6903 check for debug_level <= __gst_debug_min as well, since that's the
6904 function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6905 inline helper functions. Should improve performance a bit, but also
6906 makes sure uses of GST_INFO et.al are ignored if the debugging
6907 system isn't initialised yet (instead of printing an assertion
6910 2007-08-23 Stefan Kost <ensonic@users.sf.net>
6912 patch by: David Nečas <yeti@physics.muni.cz>
6915 Replace some non portable makefile constructs.
6917 2007-08-21 Stefan Kost <ensonic@users.sf.net>
6919 * common/gtk-doc-plugins.mak:
6920 Grrrrr. Don't remove the types file on make clean.
6922 2007-08-20 Wim Taymans <wim.taymans@gmail.com>
6924 * tools/gst-launch.1.in:
6925 Add colorspace to example pipeline. Fixes #458274.
6927 2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
6929 * docs/random/release:
6930 The release manager should run 'make download-po' before making a
6931 release to make sure translations are up-to-date.
6937 Add some new translations.
6939 2007-08-17 Wim Taymans <wim.taymans@gmail.com>
6941 * tools/gst-launch.c: (event_loop), (main):
6942 Don´t try to do any state management when a live pipeline posts
6944 Also make the buffering string translatable.
6946 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6948 * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6949 (bin_handle_async_start), (gst_bin_handle_message_func):
6951 When adding elements, insert messages into the bus of the newly added
6952 element and make sure the element is the source of the message. This
6953 allows the parent bin to intercept the message and do the
6954 right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6955 messages to the app (which is not allowed).
6958 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6959 Fix testsuite so that is does not work around messages that should not
6960 have been posted in the first place.
6962 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6964 * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6965 (update_degree), (gst_bin_sort_iterator_next):
6966 Fix annoying bug in the sorted iterator where a sink that is not really
6967 a sink (when it has downstream links) screwed up the iterator.
6969 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6970 Unit test to verify the fix.
6972 2007-08-16 Wim Taymans <wim.taymans@gmail.com>
6975 Add some more docs for the messages.
6977 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6978 (gst_base_sink_query):
6979 Add some more debugging.
6981 * tools/gst-launch.c: (event_loop):
6982 When interrupting, don't try to set pipeline to PAUSED twice.
6984 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
6987 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6988 (bin_handle_async_start), (gst_bin_handle_message_func):
6989 Move ASYNC_START message posting to where it belongs, similar to
6991 Don't post ASYNC_START when we are in error.
6992 Post ASYNC_START when we added an async element to a bin.
6994 2007-08-14 Julien MOUTTE <julien@moutte.net>
6996 * gst/gstindex.c: (gst_index_add_association): Fix index entry
6997 generation from vargs. Fixes #466595.
6999 2007-08-14 Wim Taymans <wim.taymans@gmail.com>
7001 * gst/gstbin.c: (gst_bin_element_set_state):
7002 Always change the state of a NO_PREROLL element even if it has ASYNC
7003 elements inside (in case of a bin).
7005 * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7006 Unit test for this case.
7008 2007-08-13 Stefan Kost <ensonic@users.sf.net>
7010 * libs/gst/check/gstbufferstraw.c:
7011 * libs/gst/check/gstcheck.h:
7012 * libs/gst/controller/gstcontroller.c:
7013 * libs/gst/controller/gstcontrolsource.h:
7014 * libs/gst/controller/gstlfocontrolsource.h:
7015 * plugins/elements/gstcapsfilter.h:
7016 * plugins/elements/gstfdsink.h:
7017 * plugins/elements/gstfdsrc.h:
7018 Add more missing docs.
7020 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7022 * gst/gststructure.c:
7023 Add Since tag to docs.
7025 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7027 * docs/gst/gstreamer-sections.txt:
7028 * gst/gststructure.c: (gst_structure_get_uint):
7029 * gst/gststructure.h:
7030 Add function to get uint from a structure.
7031 API: gst_structure_get_uint()
7033 2007-08-12 Wim Taymans <wim.taymans@gmail.com>
7035 * gst/gstcaps.c: (gst_caps_set_simple_valist),
7036 (gst_caps_intersect):
7037 Fix proper check for simple caps.
7039 2007-08-10 Stefan Kost <ensonic@users.sf.net>
7041 * docs/gst/Makefile.am:
7042 * docs/libs/Makefile.am:
7043 Remove cruft and do some cleanups.
7045 * docs/gst/gstreamer-docs.sgml:
7046 * docs/libs/gstreamer-libs-docs.sgml:
7047 Prepare for comming gtkdoc features (rebase against online docs).
7049 2007-08-10 Michael Smith <msmith@fluendo.com>
7051 * docs/gst/gstreamer-sections.txt:
7052 Add gst_registry_add_path to docs.
7054 2007-08-10 Michael Smith <msmith@fluendo.com>
7056 * gst/gstregistry.h:
7057 Add gst_registry_add_path, which was missing from this header.
7059 2007-08-10 Tim-Philipp Müller <tim at centricular dot net>
7061 * libs/gst/controller/gstlfocontrolsource.c:
7064 2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7066 * libs/gst/base/gstbasesink.c:
7067 Don't send an async_start message during downwards state change if
7068 target state is less than READY
7070 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7072 translated by: Gabor Kelemen <kelemeng@gnome.hu>
7076 Added Hungarian translation.
7078 2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
7085 Updated translations.
7087 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7089 * libs/gst/controller/Makefile.am:
7090 Dist gstlfocontrolsourceprivate.h
7092 2007-08-07 Jan Schmidt <thaytan@mad.scientist.com>
7094 * docs/libs/gstreamer-libs.types:
7095 Don't register the enum type gst_lfo_waveform_get_type() in the
7096 .types file - only GObject derived types belong.
7098 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7100 Patch by: <arenevier at fdn dot fr>
7103 Remove comma from last element in enum to avoid compile errors when
7104 using -pendantic. Fixes #464366.
7106 2007-08-07 Wim Taymans <wim.taymans@gmail.com>
7108 * docs/design/part-TODO.txt:
7109 Add some more TODO items
7111 * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7114 * gst/gstcaps.c: (gst_caps_intersect):
7115 Optimize trivial intersection case between identical caps pointers.
7117 * gst/gstelement.c: (gst_element_continue_state),
7118 (gst_element_set_state_func):
7120 Fix spelling and grammar mistakes.
7122 2007-08-05 Stefan Kost <ensonic@users.sf.net>
7126 Update POTFILES. Fixes #461599.
7128 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7131 Fix confusing typo in debug output.
7133 2007-08-03 Sebastian Dröge <slomo@circular-chaos.org>
7135 reviewed by: Stefan Kost <ensonic@users.sf.net>
7137 * libs/gst/controller/Makefile.am:
7138 * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7139 (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7140 (gst_lfo_control_source_new),
7141 (gst_lfo_control_source_set_waveform),
7142 (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7143 (gst_lfo_control_source_finalize),
7144 (gst_lfo_control_source_dispose),
7145 (gst_lfo_control_source_set_property),
7146 (gst_lfo_control_source_get_property),
7147 (gst_lfo_control_source_class_init):
7148 * libs/gst/controller/gstlfocontrolsource.h:
7149 * libs/gst/controller/gstlfocontrolsourceprivate.h:
7150 API: Add GstLFOControlSource, a control source that gives values
7151 for specific timestamps based on several periodic waveforms.
7154 * tests/check/libs/controller.c: (GST_START_TEST),
7155 (gst_controller_suite):
7156 * docs/libs/gstreamer-libs-docs.sgml:
7157 * docs/libs/gstreamer-libs-sections.txt:
7158 * docs/libs/gstreamer-libs.types:
7159 Add documentation and unit tests for GstLFOControlSource.
7161 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7166 === release 0.10.14 ===
7168 2007-08-03 Jan Schmidt <thaytan@mad.scientist.com>
7171 releasing 0.10.14, "Breathing Vacuum"
7173 2007-08-02 Tim-Philipp Müller <tim at centricular dot net>
7175 * gst/gstelement.c: (gst_element_class_set_details_simple):
7177 Make strings passed to gst_element_class_set_details_simple()
7178 constant, as they should be (#462752).
7180 2007-08-02 Wim Taymans <wim.taymans@gmail.com>
7182 * gst/gstbin.c: (gst_bin_change_state_func),
7183 (bin_handle_async_done), (gst_bin_handle_message_func):
7184 Don't forget about the fact that some element went ASYNC even after a
7185 resync. This makes us post the ASYNC_DONE message correctly.
7188 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7190 * gst/gstregistry.c: (gst_registry_add_feature):
7191 When replacing an existing feature in the registry, make sure to
7192 continue holding a reference until we've replaced the name string
7193 within our feature hash table. Make sure to use g_hash_table_replace
7194 instead of g_hash_table_insert to ensure the new name string is used
7195 as a key instead of the old one that we're about to free.
7198 2007-07-31 Jan Schmidt <thaytan@mad.scientist.com>
7200 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7201 (gst_plugin_feature_set_name):
7202 Revert patch from #459466 until after the release and we can work
7203 out exactly what the problem is (if any).
7205 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7207 * docs/gst/gstreamer-sections.txt:
7210 API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7212 2007-07-26 Jan Schmidt <thaytan@mad.scientist.com>
7214 * docs/libs/Makefile.am:
7215 Include our build-prefix libs and includes before the generic ones to
7216 avoid linking against the installed libs when we want the build-tree
7219 2007-07-26 Tim-Philipp Müller <tim at centricular dot net>
7221 Patch by: Steve Fink <sphink gmail com>
7223 * docs/pwg/building-testapp.xml:
7224 Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7225 if people try to build or install the example from the plugin
7226 template against a GStreamer from package using the configure
7229 2007-07-25 Tim-Philipp Müller <tim at centricular dot net>
7231 Patch by: Steve Fink <sphink gmail com>
7233 * tools/gst-inspect.1.in:
7234 Document --print-all and --print-plugin-auto-install-info command
7235 line options in man page.
7237 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7239 * docs/gst/gstreamer-sections.txt:
7240 Add docs for new api function.
7242 2007-07-25 Wim Taymans <wim.taymans@gmail.com>
7244 * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7245 * gst/gstelementfactory.h:
7246 API: gst_element_factory_has_interface()
7247 Added method to check if an element factory implements a named
7250 2007-07-25 Stefan Kost <ensonic@users.sf.net>
7253 * docs/gst/gstreamer.types.in:
7254 Another conditional doc check.
7257 * gst/gstparamspecs.h:
7258 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7263 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7265 * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7266 (gst_registry_binary_load_feature),
7267 (gst_registry_binary_load_plugin),
7268 (gst_registry_binary_read_cache):
7269 Print error just once and with additional info.
7271 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7273 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7274 (helper_find_suggest), (helper_find_get_length),
7275 (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7276 (gst_type_find_helper_for_buffer):
7277 Cleanup the typefindhelper code and add private doc comments.
7279 2007-07-24 Edward Hervey <bilboed@bilboed.com>
7281 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7282 (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7283 Fix capsfilter for cases where the caps set on capsfilter will provide
7284 additional information.
7287 2007-07-24 Stefan Kost <ensonic@users.sf.net>
7289 * gst/gsttypefindfactory.c:
7290 Fix docs that recommened wrong function to use.
7292 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7294 * tools/gst-inspect.c: (print_plugin_features):
7295 Also give media-type for typefinders in element output.
7297 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7299 * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7300 (gst_registry_remove_features_for_plugin_unlocked),
7301 (gst_registry_add_feature), (gst_registry_remove_feature),
7302 (gst_registry_lookup_feature_locked):
7303 * gst/gstregistry.h:
7304 Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7307 2007-07-23 Stefan Kost <ensonic@users.sf.net>
7309 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7310 (gst_plugin_feature_set_name):
7311 Avoid double memory usage for pluginfeature names. Fixes #459466.
7313 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7316 Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7317 driving the pipeline may need to explicitly check for NOT_LINKED as
7318 well, since IS_FATAL doesn't cover that.
7320 2007-07-22 Tim-Philipp Müller <tim at centricular dot net>
7322 * docs/pwg/advanced-types.xml:
7323 Fix typo and duplicate entry in video formats list.
7325 2007-07-22 Sebastian Dröge <slomo@circular-chaos.org>
7327 * libs/gst/controller/gstinterpolation.c:
7328 Also round to the nearest int when using cubic interpolation.
7330 2007-07-19 Jan Schmidt <thaytan@noraisin.net>
7332 * libs/gst/controller/gstinterpolation.c:
7333 When linearly interpolating integer types, round to the nearest int
7334 by adding 0.5. Don't do it for float/double types.
7335 Fixes the failing controller test on my machine, which is somehow
7336 rounding differently than on the buildbots.
7338 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7340 * tools/gst-plot-timeline.py:
7341 Better log parsing (categories can have -). Adjust text vs. lines, so
7342 that they span the same y-range.
7344 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7346 * docs/random/ensonic/audiobaseclasses.txt:
7347 * docs/random/ensonic/dynlink.txt:
7348 * docs/random/ensonic/profiling.txt:
7351 * docs/random/moving-plugins:
7352 Add note to use g_assert type macros.
7354 2007-07-20 Stefan Kost <ensonic@users.sf.net>
7357 * libs/gst/check/Makefile.am:
7358 Add libm check as we use in for plugins.
7360 2007-07-18 Jan Schmidt <thaytan@noraisin.net>
7362 * gst/gstbin.c: (gst_bin_continue_func):
7363 Check that the state_cookie hasn't changed since the continue_func
7364 was scheduled. Avoids problems where the state changes back to
7365 something it shouldn't be because it was changed in the meantime.
7367 2007-07-17 Stefan Kost <ensonic@users.sf.net>
7369 * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7370 (gst_registry_binary_save_string),
7371 (gst_registry_binary_save_pad_template),
7372 (gst_registry_binary_save_feature),
7373 (gst_registry_binary_save_plugin),
7374 (gst_registry_binary_load_feature),
7375 (gst_registry_binary_load_plugin),
7376 (gst_registry_binary_read_cache):
7377 Fix memory leak. Be less verbose in the log.
7379 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7381 * tests/check/elements/.cvsignore:
7382 Add file to cvsignore as commanded.
7384 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7386 * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7387 (mq_dummypad_event), (run_output_order_test):
7388 Use a GStaticMutex to protect all cases where libcheck
7389 fail_if/fail_unless macros might be called from multiple threads
7390 simultaneously to avoid errors like:
7391 "check_pack.c:107: :-1081725400:Bad message type arg"
7393 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7395 * tests/check/pipelines/stress.c: (GST_START_TEST):
7396 Make sure we set the pipeline back to the NULL state before
7397 dropping our final reference.
7399 2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
7401 * tests/check/elements/tee.c: (GST_START_TEST):
7402 Make the tee stress-test a little less stressful so it doesn't just
7403 time out on slow-machines, and remove a small race when it's starting
7404 up by adding a get_state() call.
7406 2007-07-16 Stefan Kost <ensonic@users.sf.net>
7409 Avoid reading registry twice on startup. Fixes #457322.
7411 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7413 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7414 * pkgconfig/gstreamer-check.pc.in:
7415 Substitute the CFLAGS for libcheck into our .pc file too so that
7416 dependent modules will pick it up properly if libcheck is installed
7417 into some other prefix.
7419 2007-07-13 Jan Schmidt <thaytan@mad.scientist.com>
7422 Revert the pkg-config check for libcheck, since it pulls in the
7423 wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7424 a proper solution, either from the check project, or something else.
7426 2007-07-12 Stefan Kost <ensonic@users.sf.net>
7429 Use pkg-config to locate check.
7431 2007-07-10 Stefan Kost <ensonic@users.sf.net>
7438 Add deprecation guards.
7440 * libs/gst/base/gstcollectpads.h:
7441 Don't document object (this is implicitly private).
7443 2007-07-08 Tim-Philipp Müller <tim at centricular dot net>
7445 * gst/gststructure.c: (gst_structure_parse_value):
7446 When deserialising foo=bar without a type cast, check if it's a
7447 boolean before falling back to a string type, otherwise things like
7448 audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7449 because the filtercaps end up having a signed=(string)true field,
7450 which causes problems later when intersection caps.
7452 * tests/check/gst/gststructure.c: (GST_START_TEST):
7453 Add a unit test for this.
7455 2007-07-06 Sebastian Dröge <slomo@circular-chaos.org>
7457 Reviewed by: Stefan Kost <ensonic@users.sf.net>
7459 * libs/gst/controller/Makefile.am:
7460 * libs/gst/controller/gstcontroller.c:
7461 (gst_controlled_property_add_interpolation_control_source),
7462 (gst_controlled_property_new), (gst_controlled_property_free),
7463 (gst_controller_find_controlled_property),
7464 (gst_controller_new_valist), (gst_controller_new_list),
7465 (gst_controller_new), (gst_controller_remove_properties_valist),
7466 (gst_controller_remove_properties_list),
7467 (gst_controller_remove_properties),
7468 (gst_controller_set_property_disabled),
7469 (gst_controller_set_disabled), (gst_controller_set_control_source),
7470 (gst_controller_get_control_source), (gst_controller_get),
7471 (gst_controller_sync_values), (gst_controller_get_value_array),
7472 (_gst_controller_dispose), (gst_controller_get_type),
7473 (gst_controlled_property_set_interpolation_mode),
7474 (gst_controller_set), (gst_controller_set_from_list),
7475 (gst_controller_unset), (gst_controller_unset_all),
7476 (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7477 * libs/gst/controller/gstcontroller.h:
7478 * libs/gst/controller/gstcontrollerprivate.h:
7479 * libs/gst/controller/gstcontrolsource.c:
7480 (gst_control_source_class_init), (gst_control_source_init),
7481 (gst_control_source_get_value),
7482 (gst_control_source_get_value_array), (gst_control_source_bind):
7483 * libs/gst/controller/gstcontrolsource.h:
7484 * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7485 (gst_object_get_control_source):
7486 * libs/gst/controller/gstinterpolation.c:
7487 (gst_interpolation_control_source_find_control_point_node),
7488 (gst_interpolation_control_source_get_first_value),
7489 (_interpolate_none_get), (interpolate_none_get),
7490 (interpolate_none_get_boolean_value_array),
7491 (interpolate_none_get_enum_value_array),
7492 (interpolate_none_get_string_value_array),
7493 (_interpolate_trigger_get), (interpolate_trigger_get),
7494 (interpolate_trigger_get_boolean_value_array),
7495 (interpolate_trigger_get_enum_value_array),
7496 (interpolate_trigger_get_string_value_array):
7497 * libs/gst/controller/gstinterpolationcontrolsource.c:
7498 (gst_control_point_free), (gst_interpolation_control_source_reset),
7499 (gst_interpolation_control_source_new),
7500 (gst_interpolation_control_source_set_interpolation_mode),
7501 (gst_interpolation_control_source_bind),
7502 (gst_control_point_compare), (gst_control_point_find),
7503 (gst_interpolation_control_source_set_internal),
7504 (gst_interpolation_control_source_set),
7505 (gst_interpolation_control_source_set_from_list),
7506 (gst_interpolation_control_source_unset),
7507 (gst_interpolation_control_source_unset_all),
7508 (gst_interpolation_control_source_get_all),
7509 (gst_interpolation_control_source_get_count),
7510 (gst_interpolation_control_source_init),
7511 (gst_interpolation_control_source_finalize),
7512 (gst_interpolation_control_source_dispose),
7513 (gst_interpolation_control_source_class_init):
7514 * libs/gst/controller/gstinterpolationcontrolsource.h:
7515 * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7516 API: Refactor GstController into the core controller which can take
7517 a GstControlSource for providing actual values for timestamps.
7518 Implement a interpolation control source and use this for backward
7519 compatibility, deprecate a bunch of functions that are now handled
7520 by GstControlSource or GstInterpolationControlSource.
7521 Make it possible to disable the controller completely or only for
7522 specific properties. Fixes #450711.
7523 * docs/libs/gstreamer-libs-docs.sgml:
7524 * docs/libs/gstreamer-libs-sections.txt:
7525 * docs/libs/gstreamer-libs.types:
7526 Add new functions and classes to the docs.
7527 * tests/check/libs/controller.c: (GST_START_TEST),
7528 (gst_controller_suite):
7529 * tests/examples/controller/audio-example.c: (main):
7530 Port unit test and example to the new API and add some new
7533 2007-07-05 Wim Taymans <wim.taymans@gmail.com>
7535 Patch by: Mark Nauwelaerts <manauw at skynet be>
7537 * plugins/elements/gstmultiqueue.c:
7538 (gst_multi_queue_get_internal_links), (apply_buffer),
7539 (single_queue_overrun_cb), (gst_single_queue_new):
7540 Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7541 the pipeline layout can be tracked correctly. Fixes #453732.
7543 2007-07-05 Stefan Kost <ensonic@users.sf.net>
7545 * docs/gst/Makefile.am:
7546 * docs/libs/Makefile.am:
7547 * docs/plugins/Makefile.am:
7548 Simplify --extra-dir as gtkdoc scans recursively.
7550 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7552 * tools/gst-launch.c: (main):
7553 When we got an error, there is no point in waiting for preroll when
7556 2007-07-03 Wim Taymans <wim.taymans@gmail.com>
7558 * plugins/elements/gsttee.c: (gst_tee_base_init),
7559 (gst_tee_request_new_pad), (gst_tee_release_pad),
7560 (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7561 (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7563 Be a lot smarter when deciding what srcpad to use for proxying
7564 the buffer_alloc. Also handle pad added/removed when doing so.
7566 Keep track of what pads we already pushed on in case we have pads
7567 added/removed while pushing. Fixes #374639
7569 * tests/check/Makefile.am:
7570 * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7572 Added unit test for pad resync.
7574 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7578 Updated translations.
7580 2007-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
7582 translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7586 Added new Finnish translation.
7588 2007-06-28 Wim Taymans <wim@fluendo.com>
7590 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7591 (single_queue_overrun_cb):
7592 When figuring out when a queue is filled, use our internal time estimate
7593 based on segments, just like check_full does.
7595 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7597 * gst/gstminiobject.c: (gst_mini_object_get_type):
7598 Remove 3 do-nothing methods.
7600 2007-06-27 Wim Taymans <wim@fluendo.com>
7602 Patch by: Tim Angus <tim at ngus dot net>
7604 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7605 (gst_capsfilter_set_property):
7606 Take a reference instead of a copy when setting "caps".
7607 Fix documentation to clarify this behaviour. Fixes #449414.
7609 2007-06-27 Stefan Kost <ensonic@users.sf.net>
7611 * gst/gstindexfactory.c: (gst_index_factory_get_type):
7612 * gst/gstplugin.c: (gst_plugin_init):
7613 * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7614 * gst/gstquery.c: (gst_query_get_type):
7615 * gst/gstregistry.c: (gst_registry_init):
7616 * gst/gsturi.c: (gst_uri_handler_base_init):
7617 Remove empty instance_init() functions to save relocs and lessen the
7618 noise. Remove some of the function prototypes that are doubled by
7621 2007-06-27 Wim Taymans <wim@fluendo.com>
7623 Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7625 * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7626 Add peer and direction in the XML serialisation of ghostpads.
7629 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7632 Preserve useful information, thanks Tim.
7634 2007-06-26 Jan Schmidt <thaytan@noraisin.net>
7636 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7637 (gst_single_queue_flush), (apply_segment), (apply_buffer),
7638 (gst_single_queue_push_one), (gst_multi_queue_loop),
7639 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7640 (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7641 (compute_high_id), (gst_single_queue_new):
7642 * plugins/elements/gstmultiqueue.h:
7643 Take the multiqueue lock when updating the fill level so we don't get
7646 After applying a buffer or event on the src pad segment, make sure to
7647 call gst_data_queue_limits_changed() to get the data queue to unblock
7648 and check the filled state again.
7650 Rework the not-linked pad handling so the logic is that not-linked
7651 pads can push as fast as they like, but only so they never get
7652 ahead of any linked pads.
7654 * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7655 (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7656 (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7658 Add a test to check that not-linked pads always stay behind
7663 2007-06-26 Jan Schmidt <thaytan@mad.scientist.com>
7665 * docs/random/release:
7666 Some updates to the release procedure.
7668 2007-06-26 Stefan Kost <ensonic@users.sf.net>
7670 * gst/gstelementfactory.c: (__gst_element_details_clear):
7671 Microoptimization that saves stunning 80 bytes.
7673 2007-06-25 Stefan Kost <ensonic@users.sf.net>
7675 * docs/plugins/gstreamer-plugins.args:
7676 * docs/plugins/inspect/plugin-coreelements.xml:
7677 * docs/plugins/inspect/plugin-coreindexers.xml:
7678 Update docs with caps info.
7680 2007-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
7683 Updated Italian translation.
7685 2007-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
7689 Update Vietnamese translations.
7691 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7693 * libs/gst/base/gstbasesink.c:
7694 Remove unused signal enum.
7696 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7698 * docs/gst/gstreamer-sections.txt:
7700 * gst/gstutils.c: (gst_type_register_static_full):
7701 Beef up and include the docs for gst_type_register_static_full and
7702 gst_element_class_set_details_simple and add the API keyword
7705 2007-06-21 Jan Schmidt <thaytan@mad.scientist.com>
7707 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7708 (update_time_level), (gst_single_queue_push_one),
7709 (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7710 (single_queue_overrun_cb), (single_queue_underrun_cb),
7711 (single_queue_check_full):
7712 Fix setting max-* properties after adding queues.
7713 Use IS_FILLED for checking visible items.
7714 Signal overrun if multiple queues overrun.
7715 Add extra debug output.
7716 Patch by: Wim Taymans <wim@fluendo.com>
7718 2007-06-21 Stefan Kost <ensonic@users.sf.net>
7720 * gst/gstelement.c: (gst_element_class_set_details_simple):
7722 * gst/gstutils.c: (gst_type_register_static_full):
7724 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7725 * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7726 * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7727 * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7728 * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7729 * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7730 * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7731 * plugins/elements/gstidentity.c: (gst_identity_base_init):
7732 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7733 * plugins/elements/gstqueue.c: (gst_queue_base_init),
7734 (apply_buffer), (gst_queue_chain):
7735 * plugins/elements/gsttee.c: (gst_tee_base_init):
7736 * plugins/elements/gsttypefindelement.c:
7737 (gst_type_find_element_base_init),
7738 (gst_type_find_element_class_init):
7739 Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7740 API: add gst_type_register_static_full
7741 API: add gst_element_class_set_details_simple
7743 2007-06-21 Tim-Philipp Müller <tim at centricular dot net>
7745 * docs/pwg/advanced-types.xml:
7746 Fix typo in iana.org URI.
7748 2007-06-19 Andy Wingo <wingo@pobox.com>
7750 * tests/check/pipelines/simple-launch-lines.c
7751 (test_state_change_returns): Enable pull-mode tests now that
7752 basesink has been fixed.
7754 * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7755 Changed from gst_base_sink_is_prerolled, reversing the sense of
7756 the return value. Returns FALSE also if the sink is in pull mode,
7757 in which case it needs no preroll.
7758 (gst_base_sink_query, gst_base_sink_change_state): Update for
7759 needs_preroll change.
7760 (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7761 chaining up, in which we return SUCCESS directly if we activated
7762 in pull mode instead of ASYNC. Involves countering an async_start
7763 message sent before chaining up; not sure if this is correct, in
7764 an ideal world we only send async-start when activating in push
7767 * tests/check/pipelines/simple-launch-lines.c
7768 (test_state_change_returns): New test, partially disabled until
7771 2007-06-19 Wim Taymans <wim@fluendo.com>
7773 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7774 (gst_multi_queue_sink_event):
7777 2007-06-19 Wim Taymans <wim@fluendo.com>
7779 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7780 (gst_bin_change_state_func), (bin_push_state_continue),
7781 (bin_handle_async_start), (bin_handle_async_done),
7782 (gst_bin_handle_message_func):
7783 Move the common code for posting state-change messages into
7785 Broadcast the state signal after we posted the messages.
7786 Mark the bin as busy when it's doing a state-change.
7787 Make sure async-start/done messages don't interfere with the bin's
7788 state when it's busy.
7789 After the state change, let the bin check which elements completed the
7790 state change while it was busy so that it can update its state.
7792 2007-06-19 Jan Schmidt <thaytan@mad.scientist.com>
7794 * docs/random/release:
7795 Add a note about updating the doap file to the release checklist
7797 2007-06-18 Wim Taymans <wim@fluendo.com>
7799 * plugins/elements/gstmultiqueue.c: (apply_buffer),
7800 (gst_single_queue_push_one), (gst_multi_queue_chain),
7801 (gst_multi_queue_sink_event):
7802 Make sure we don't reference the buffer/event after we have given away
7803 ownership in the queue.
7805 2007-06-18 Wim Taymans <wim@fluendo.com>
7807 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7808 (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7809 Update queue state _after_ adding the item in the queue because else we
7810 could end up being full without the element added yet.
7812 2007-06-18 Wim Taymans <wim@fluendo.com>
7814 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7815 (gst_bin_remove_func), (gst_bin_get_state_func),
7816 (gst_bin_element_set_state), (gst_bin_continue_func),
7817 (bin_push_state_continue), (bin_handle_async_start),
7818 (bin_handle_async_done), (gst_bin_handle_message_func):
7820 Immediatly commit the toplevel bin state when receiving an async-done
7821 message. This enables us to avoid spawning a thread to commit the state
7822 in some common cases and it also avoids some races.
7823 Avoid spawning a state thread when adding/removing async elements to a
7824 toplevel bin. Instead we immediatly update the bin state.
7825 Get rid of iterating all the children when getting the state in the bin
7826 because it is now always up-to-date.
7827 Fix bug where locked elements would always return _SUCCESS even it they
7828 returned NO_PREROLL before being locked.
7829 Fix the order of the state_change, async-start/done messages that was
7830 sometimes incorrect.
7831 Mark the state_dirty field as deprecated, we don't need it anymore as we
7832 are always up-to-date.
7834 * gst/gstelement.c: (gst_element_get_state_func),
7835 (gst_element_continue_state):
7836 Small debug inprovements.
7837 Return the previous element state return when nothing is pending instead
7838 of blindly returning SUCCESS.
7840 * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7842 Add a whole bunch of new testcases.
7844 2007-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
7848 Update translations.
7850 2007-06-15 Jan Schmidt <thaytan@mad.scientist.com>
7853 Fix typo in the docs.
7855 2007-06-15 Wim Taymans <wim@fluendo.com>
7857 * docs/libs/gstreamer-libs-sections.txt:
7858 Add docs for new methods.
7860 2007-06-15 Wim Taymans <wim@fluendo.com>
7862 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7863 (gst_multi_queue_item_new):
7864 Don't use GSlice because we don't depend on >= 2.10 yet.
7866 2007-06-15 Wim Taymans <wim@fluendo.com>
7868 * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7869 (update_time_level), (apply_segment), (apply_buffer),
7870 (gst_single_queue_push_one), (gst_multi_queue_item_new),
7871 (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7872 (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7873 (single_queue_underrun_cb), (single_queue_check_full):
7874 Remove debug printf.
7876 2007-06-15 Wim Taymans <wim@fluendo.com>
7878 * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7879 (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7880 (gst_data_queue_set_flushing), (gst_data_queue_push),
7881 (gst_data_queue_pop), (gst_data_queue_drop_head),
7882 (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7883 * libs/gst/base/gstdataqueue.h:
7885 Added methods to get the current levels and to inform the queue that the
7886 'full' limits changed.
7888 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7889 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7890 (gst_single_queue_flush), (update_time_level), (apply_segment),
7891 (apply_buffer), (gst_single_queue_push_one),
7892 (gst_multi_queue_item_steal_object),
7893 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7894 (gst_multi_queue_loop), (gst_multi_queue_chain),
7895 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7896 (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7897 (gst_multi_queue_src_query), (single_queue_overrun_cb),
7898 (single_queue_underrun_cb), (single_queue_check_full),
7899 (gst_single_queue_new):
7900 Keep track of time in the queue by measuring the difference between
7901 running_time on input and output. This gives more accurate results and
7902 can compensate for segments correctly.
7903 Make a queue by default only 5 buffers deep. We will now increase the
7904 buffer size depending on the filledness of the other queues.
7905 Factor out commong flush code.
7906 Make sure we don't add additional refcounts to buffers when we can avoid
7908 Propagate GstFlowReturn differently.
7909 Use GSlice for intermediate GstMultiQueueItems.
7911 Resize queues on over and underruns based on filled level of other
7913 When checking if the queue is filled, prefer to measure in time if we
7914 can and fall back to bytes when no time is known.
7916 * plugins/elements/gstqueue.c:
7919 2007-06-15 Wim Taymans <wim@fluendo.com>
7921 * libs/gst/base/gstbasetransform.c:
7922 (gst_base_transform_sink_event):
7923 Work around the brokenness of the event vmethod in basetransform. Prefer
7924 to return TRUE when the subclass returned FALSE (meaning don't forward
7927 * libs/gst/base/gstbasetransform.h:
7930 2007-06-15 Wim Taymans <wim@fluendo.com>
7932 * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7933 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7934 (gst_base_src_default_query), (gst_base_src_get_range),
7935 (gst_base_src_start):
7936 * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7939 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7941 * docs/pwg/advanced-types.xml:
7942 Added more formats to caps table.
7944 2007-06-15 Stefan Kost <ensonic@users.sf.net>
7946 * tools/gst-launch.c: (main):
7947 Remove crufy code. GOption does not need this workaround.
7949 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7951 * libs/gst/controller/gstcontroller.c:
7952 (gst_controlled_property_set_interpolation_mode):
7953 Fix wrong getter for enums in controller.
7955 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7957 * libs/gst/check/gstcheck.c: (gst_check_init):
7958 Intercept criticals and warnings in the Gst-Phonon log domain, so
7959 ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7962 2007-06-14 Edward Hervey <edward@fluendo.com>
7964 * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7965 Since this file doesn't include "gst.h" it will not go through the
7966 macros that disable GST_LOG if debugging was disabled.
7968 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7970 * libs/gst/check/Makefile.am:
7971 * libs/gst/check/gstcheck.h:
7972 * pkgconfig/gstreamer-check-uninstalled.pc.in:
7973 * pkgconfig/gstreamer-check.pc.in:
7974 Ugly 'fix' for the controller unit test on the p5 bot: in
7975 fail_unless_equals_float() check whether the values are 'almost
7976 equal' by allowing a small absolute error, which should be good
7977 enough for our use cases (normal numbers and values close to 0).
7978 Proper fixage left to floating point arithmetic aficionados.
7980 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7982 * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7983 (gst_base_sink_render_object), (gst_base_sink_get_position):
7984 Add two breaks thats where missing.
7986 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
7988 * docs/libs/gstreamer-libs-sections.txt:
7989 * libs/gst/check/gstcheck.h:
7990 API: add fail_unless_equals_float() and assert_equals_float().
7991 Add documentation for some of the macros.
7993 * tests/check/libs/controller.c: (GST_START_TEST):
7994 Use newly-added asserts.
7996 2007-06-14 Stefan Kost <ensonic@users.sf.net>
7998 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7999 Show the caps change in the log to help spotting the case of not
8000 exactly matching caps.
8002 2007-06-14 Tim-Philipp Müller <tim at centricular dot net>
8004 * docs/pwg/building-boiler.xml:
8005 Fix typos, spotted by Thijs Vermeir (#447190).
8007 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8009 * docs/plugins/tmpl/.cvsignore:
8010 Ignore file to keep the buildbots happy
8012 2007-06-13 Jan Schmidt <thaytan@mad.scientist.com>
8014 * docs/plugins/Makefile.am:
8015 * docs/plugins/gstreamer-plugins-docs.sgml:
8016 * docs/plugins/gstreamer-plugins-sections.txt:
8017 Pull fdsink into the docs too.
8019 2007-06-11 Sebastian Dröge <slomo@circular-chaos.org>
8021 * libs/gst/controller/gstinterpolation.c:
8022 Actually use the new functions with min/max checks for the trigger and
8023 none interpolation modes for get() and get_value_array() instead of
8026 2007-06-10 Sebastian Dröge <slomo@circular-chaos.org>
8028 * libs/gst/controller/gstcontroller.c:
8029 (gst_controlled_property_free):
8030 Unset the minimum and maximum GValues when freeing the corresponding
8031 GstControllerProperty struct.
8033 2007-06-09 Sebastian Dröge <slomo@circular-chaos.org>
8035 * libs/gst/controller/gstcontroller.c:
8036 (gst_controlled_property_new):
8037 * libs/gst/controller/gstcontrollerprivate.h:
8038 * libs/gst/controller/gstinterpolation.c:
8039 (gst_controlled_property_find_control_point_node),
8040 (interpolate_none_get), (interpolate_none_get_enum_value_array),
8041 (interpolate_none_get_string_value_array),
8042 (interpolate_trigger_get),
8043 (interpolate_trigger_get_enum_value_array),
8044 (interpolate_trigger_get_string_value_array):
8045 Protect against values larger or smaller than the minimum or maximum
8046 allowed value for the property when using values that can be compared.
8048 Optimize trigger interpolator a bit by taking the last requested value
8049 into account instead of always looping through the complete list.
8051 Fix coding style a bit, everywhere else we use "return foo" instead
8054 * tests/check/libs/controller.c: (GST_START_TEST),
8055 (gst_controller_suite):
8056 Add unit test for the protection against too large or too small
8059 2007-06-08 Sebastian Dröge <slomo@circular-chaos.org>
8061 * docs/random/slomo/controller.txt:
8062 Add some thoughts about the future of the controller.
8064 2007-06-08 Wim Taymans <wim@fluendo.com>
8066 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8067 Don't overflow in retimestamping code.
8069 2007-06-07 Sebastien Moutte <sebastien@moutte.net>
8071 * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8072 Use gst_util_guint64_to_gdouble for conversions.
8073 * win32/common/libgstreamer.def:
8074 Add new exported functions.
8076 2007-06-07 Tim-Philipp Müller <tim at centricular dot net>
8079 Small docs addition.
8081 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8084 Remove that test line again.
8086 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8089 Test commit mail sending.
8091 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8094 Fix typo and test commit mail sending.
8096 2007-06-07 Stefan Kost <ensonic@users.sf.net>
8098 * tests/examples/controller/audio-example.c:
8099 Improve comment and test commit mail sending.
8101 2007-06-07 Wim Taymans <wim@fluendo.com>
8103 * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8104 (gst_bin_remove_func), (gst_bin_element_set_state),
8105 (bin_handle_async_start), (bin_handle_async_done),
8106 (gst_bin_handle_message_func):
8107 Add helper function to find messages.
8108 Generate the async-done messages together with the state change
8110 Small cleanups in handling toplevel bins.
8112 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8114 * libs/gst/base/gstdataqueue.c:
8115 * libs/gst/base/gstdataqueue.h:
8116 * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8117 (gst_multi_queue_item_new), (gst_multi_queue_chain),
8118 (gst_multi_queue_sink_event):
8119 * tests/check/elements/multiqueue.c: (multiqueue_suite):
8120 Fix multiqueue leaking buffers and events when downstream or the
8121 queue are flushing. Make refcounting assumptions explicit and
8122 document them (shouldn't break existing code that uses it other than
8123 maybe leak miniobjects, but that already happens anyway). Add unit
8124 test for the most common flushing case. Fixes #423700.
8126 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8128 * libs/gst/controller/gstcontroller.c:
8129 Clarify docs: The get_all, get_value_array(s) functions
8130 don't modify the GObject properties.
8132 2007-06-06 Sebastian Dröge <slomo@circular-chaos.org>
8134 * libs/gst/controller/gstcontroller.c:
8135 (gst_controlled_property_set_interpolation_mode),
8136 (gst_controlled_property_prepend_default),
8137 (gst_controlled_property_new), (gst_controller_set_unlocked),
8138 (gst_controller_set), (gst_controller_set_from_list),
8139 (gst_controller_unset), (gst_controller_unset_all):
8140 * libs/gst/controller/gstcontrollerprivate.h:
8141 * libs/gst/controller/gstinterpolation.c:
8142 Factor out the 'set' logic into gst_controller_set_unlocked for the
8143 gst_controller_set and gst_controller_set_from_list functions.
8145 To make life of the interpolators easier always add a control point
8146 at timestamp zero with the default value.
8148 In the linear interpolator make things more obvious by better variable
8151 Implement cubic interpolation mode (by using a natural cubic spline)
8152 and map the quadratic interpolation mode to this too (as quadratic
8153 doesn't make much sense, see discussion on the list).
8155 * tests/check/libs/controller.c: (GST_START_TEST),
8156 (gst_controller_suite):
8157 Add unit test for the cubic interpolation mode and check everywhere
8158 if the interpolation mode could be set as expected.
8160 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8162 * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8163 Don't use GLib-2.10 functions, we still depend on
8164 GLib-how-old-is-it-again-2.8.
8166 2007-06-06 Tim-Philipp Müller <tim at centricular dot net>
8168 * docs/gst/gstreamer-sections.txt:
8172 * gst/gstparamspecs.c: (_gst_param_fraction_init),
8173 (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8174 (_gst_param_fraction_values_cmp),
8175 (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8176 * gst/gstparamspecs.h:
8178 * tests/check/Makefile.am:
8179 * tests/check/gst/.cvsignore:
8180 * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8181 (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8182 (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8183 (GST_START_TEST), (gst_param_spec_suite):
8184 API: add GstParamSpecFraction, so elements can have fraction
8185 properties without lots of painful string parsing (#444648).
8187 2007-06-05 Wim Taymans <wim@fluendo.com>
8189 * gst/gstobject.c: (gst_object_class_init):
8190 Fix signal signature.
8193 Add small clarification in the api docs.
8195 * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8196 States are protected with object lock.
8198 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8201 I should probably be listed as an author by now.
8203 * docs/random/release:
8204 Update the release doc
8206 2007-06-05 Tim-Philipp Müller <tim at centricular dot net>
8209 Make docs for gst_value_compare() mention return enums that
8212 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8217 === release 0.10.13 ===
8219 2007-06-05 Jan Schmidt <thaytan@mad.scientist.com>
8222 releasing 0.10.13, "With or without you"
8224 2007-05-25 Wim Taymans <wim@fluendo.com>
8226 * gst/gstbin.c: (bin_handle_async_done):
8227 Make sure that the child bin stops after completing the async state
8228 change so that the parent can continue the state change to PLAYING.
8231 2007-05-25 Wim Taymans <wim@fluendo.com>
8233 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8234 (unref_data), (gst_collect_pads_remove_pad),
8235 (gst_collect_pads_check_pads):
8236 Use additional refcounting to avoid crashes when dynamically adding and
8237 removing pads. Fixes #420206.
8239 2007-05-24 Wim Taymans <wim@fluendo.com>
8241 * tools/gst-launch.c: (event_loop):
8242 When buffering goes from a two digit to a single digit number, make sure
8243 to remove the old second digit by writing a blank over it.
8245 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8247 * libs/gst/base/gstdataqueue.c:
8248 Eliminate tabs and trailing comma in enum list; fix some typos.
8250 2007-05-24 Wim Taymans <wim@fluendo.com>
8252 * tests/check/gst/gstbin.c: (GST_START_TEST):
8253 Allow refcount of 3 and 4 because some state thread might still be busy
8256 2007-05-24 Tim-Philipp Müller <tim at centricular dot net>
8258 * plugins/elements/Makefile.am:
8259 * plugins/elements/gstmultiqueue.h:
8260 * plugins/elements/gstqueue.h:
8261 These are not installed headers, no need for padding.
8263 2007-05-24 Wim Taymans <wim@fluendo.com>
8265 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8266 (gst_bin_continue_func):
8267 Enable latency for next release.
8268 Restore STATE_LOCK around recalc_state that was left out during the
8269 rewrite and could result in racy behaviour when _get_state and
8270 recalc_state are run concurrently. See #440463.
8272 2007-05-23 Wim Taymans <wim@fluendo.com>
8274 * tests/check/gst/gstsystemclock.c: (store_callback),
8276 Improve test_async_order to also work when both timers are already
8277 expired when we get scheduled to check it.
8279 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8281 * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8282 (gst_bin_set_property), (gst_bin_get_property),
8283 (gst_bin_remove_func), (gst_bin_handle_message_func):
8285 'private' is a c++ keyword, let's not use that in header files,
8286 otherwise c++ compilers will throw a tantrum.
8288 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8290 * plugins/elements/gstelements.c:
8291 * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8292 (gst_file_sink_get_current_offset):
8293 * plugins/indexers/gstindexers.c: (plugin_init):
8294 Use #ifdef for HAVE_XYZ for consistency.
8296 * tests/check/Makefile.am:
8297 * tests/check/elements/.cvsignore:
8298 * tests/check/elements/filesink.c: (setup_filesink),
8299 (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8300 Add some unit tests for filesink.
8302 2007-05-22 Tim-Philipp Müller <tim at centricular dot net>
8304 Patch by: Mark Nauwelaerts <manauw at skynet be>
8306 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8307 (gst_file_sink_query), (gst_file_sink_do_seek),
8308 (gst_file_sink_get_current_offset), (gst_file_sink_render):
8309 * plugins/elements/gstfilesink.h:
8310 Fix position reporting; rename data_written member to current_pos to
8311 reflect its real meaning (fixes #412648).
8313 2007-05-22 Edward Hervey <edward@fluendo.com>
8315 * docs/gst/gstreamer-sections.txt:
8316 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8317 (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8318 (gst_bin_remove_func), (gst_bin_handle_message_func):
8320 Add a property for bins that handle the state change of their childs.
8323 2007-05-22 Sebastian Dröge <slomo@circular-chaos.org>
8325 * libs/gst/controller/gstinterpolation.c:
8326 Use an array of the correct type when using _get_value_array with
8327 linear interpolation.
8329 2007-05-22 Stefan Kost <ensonic@users.sf.net>
8331 * gst/gstelement.c (gst_element_requires_clock,
8332 gst_element_provides_clock, gst_element_request_pad,
8333 gst_element_class_set_details, gst_element_class_set_details_simple,
8334 gst_element_default_send_event, gst_element_abort_state,
8335 gst_element_continue_state, gst_element_set_state,
8336 gst_element_set_state_func, iterator_activate_fold_with_resync):
8337 * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8338 gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8339 gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8340 gst_pad_get_range, gst_pad_pull_range):
8341 * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8342 GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8343 GstPadActivateModeFunction, GstPadChainFunction,
8344 GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8345 GstPadFixateCapsFunction, GstPadTemplate):
8346 * gst/gstpipeline.c (gst_pipeline_change_state,
8347 gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8348 gst_pipeline_set_clock, gst_pipeline_auto_clock,
8349 gst_pipeline_get_delay):
8350 Whitespace and docs fixes.
8352 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8354 * libs/gst/controller/gstinterpolation.c:
8355 (interpolate_trigger_get_enum_value_array),
8356 (interpolate_trigger_get_string_value_array):
8357 Add support for retrieving value arrays when using the trigger
8360 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8362 * libs/gst/controller/gstcontroller.c:
8363 (gst_controller_get_value_array):
8364 * libs/gst/controller/gstcontroller.h:
8365 Clarify the docs of gst_controller_get_value_array(): The array where
8366 the values should be written to must be allocated as there seems to be
8367 no way to get the size of a random GType. This doesn't change any
8368 behaviour. Also fix some typos all over the place and remove an unused,
8369 commented function that is not necessary as g_object_set() could be
8371 * tests/check/libs/controller.c: (GST_START_TEST),
8372 (gst_controller_suite):
8373 Add unit test for gst_controller_get_value_array().
8375 2007-05-21 Jan Schmidt <thaytan@mad.scientist.com>
8377 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8379 Disable part of the gst_buffer_try_new_and_alloc test, because
8380 it can happily succeed on 64-bit systems where there's more address
8383 2007-05-21 Sebastian Dröge <slomo@circular-chaos.org>
8385 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8386 Add unit test for the improved caps checking from bug #421543.
8388 2007-05-21 Wim Taymans <wim@fluendo.com>
8390 * docs/design/part-synchronisation.txt:
8393 * gst/gstbin.c: (gst_bin_query):
8394 * plugins/elements/gstqueue.c: (apply_segment):
8400 2007-05-21 Wim Taymans <wim@fluendo.com>
8402 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8403 (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8404 (gst_pad_configure_src):
8405 Added simple version of improved caps checking. It was previously
8406 assumed that a setcaps function would check the validity of the caps but
8407 people prefer us to check caps against the template automatically.
8410 2007-05-21 Wim Taymans <wim@fluendo.com>
8412 * libs/gst/base/gstbasetransform.h:
8413 Fix macro for locking/unlocking the transform lock.
8415 2007-05-19 Tim-Philipp Müller <tim at centricular dot net>
8417 * docs/plugins/tmpl/.cvsignore:
8420 2007-05-18 Edward Hervey <edward@fluendo.com>
8422 * plugins/elements/gstqueue.c: (gst_queue_loop):
8423 Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8424 for the subtle art of warning a potentially blocking thread that it
8425 should check the source pad return value, and relay the information
8428 2007-05-18 Edward Hervey <edward@fluendo.com>
8430 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8431 Release the queue lock !
8433 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8435 * docs/libs/gstreamer-libs-sections.txt:
8436 Add the two new controller functions to the appropiate places.
8438 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8440 reviewed by: Stefan Kost <ensonic@users.sf.net>
8442 * libs/gst/controller/gstcontroller.c:
8443 (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8444 (_gst_controller_get_property), (_gst_controller_set_property),
8445 (_gst_controller_init), (_gst_controller_class_init):
8446 * libs/gst/controller/gstcontroller.h:
8447 * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8448 (gst_object_get_control_rate), (gst_object_set_control_rate):
8449 API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8450 Add API that provides sync suggestion timestamps for elements that
8451 call gst_object_sync_values() from which those elements can subdivide
8452 their processing loop to get the best results for the controlled
8453 properties. For now it just suggests last_sync + control_rate as
8454 new timestamp but this will be improved in the future.
8456 While doing that change the control-rate property to a GstClockTime
8457 from guint and change it's meaning from samples to nanoseconds as
8458 the GstController doesn't know anything about sampling rate. Strictly
8459 speaking this breaks ABI but as the control-rate property didn't do
8460 anything in the past and as such couldn't be used this should be no
8463 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8465 reviewed by: Stefan Kost <ensonic@users.sf.net>
8467 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8468 (gst_controller_unset_all):
8469 * libs/gst/controller/gstcontrollerprivate.h:
8470 * libs/gst/controller/gstinterpolation.c:
8471 (gst_controlled_property_find_control_point_node):
8472 Save last synced value from the list to continue searching from there
8473 in future syncs. This speeds everything up a bit.
8475 2007-05-17 Sebastian Dröge <slomo@circular-chaos.org>
8477 reviewed by: Stefan Kost <ensonic@users.sf.net>
8479 * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8480 (gst_control_point_find), (gst_controlled_property_new),
8481 (gst_control_point_free), (gst_controlled_property_free),
8482 (gst_controller_set), (gst_controller_set_from_list),
8483 (gst_controller_unset), (gst_controller_unset_all),
8484 (gst_controller_sync_values):
8485 * libs/gst/controller/gstcontroller.h:
8486 * libs/gst/controller/gstcontrollerprivate.h:
8487 * libs/gst/controller/gstinterpolation.c:
8488 (gst_controlled_property_find_control_point_node),
8489 (interpolate_none_get), (interpolate_trigger_get):
8490 Add a new private GstControlPoint struct which "inherits" from
8491 GstTimedValue to allow different interpolators to store internal
8492 values next to each control point. From the outside everything is
8493 still a GstControlPoint so we don't loose binary compatibility.
8494 Also fixup all the GValue handling to not leak GValues or list nodes.
8495 * tests/check/libs/controller.c: (GST_START_TEST):
8496 Free the list nodes and GValues in the controller_misc test.
8498 2007-05-17 Edward Hervey <edward@fluendo.com>
8503 2007-05-16 Tim-Philipp Müller <tim at centricular dot net>
8505 * gst/gstplugin.c: (gst_plugin_load_file):
8506 If we fail to load a plugin because of unresolved symbols or missing
8507 libraries and spew a warning to stderr, we may just as well mention
8508 which plugin it was that failed to load.
8510 2007-05-13 David Schleef <ds@schleef.org>
8512 * docs/Makefile.am: the gtk-doc makefile snippet correctly
8513 handles the case when ENABLE_GTK_DOC is false, and installs
8514 the prebuilt documentation. So gtk-doc subdirs are
8515 unconditionally enabled. Fixes: #349099.
8517 2007-05-13 David Schleef <ds@schleef.org>
8519 * gst/gstutils.h: Reword some documentation.
8521 2007-05-12 David Schleef <ds@schleef.org>
8523 * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8524 do anything with the passed "module" parameter, so remove it.
8525 Allows removal of additional vestigal code.
8527 2007-05-12 David Schleef <ds@schleef.org>
8530 Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8531 Switch to using g_stat() because it's more portable.
8533 2007-05-12 David Schleef <ds@schleef.org>
8536 Add GST_DISABLE_OPTION_PARSING, in order to disable option
8537 parsing for embedded systems.
8538 * gst/gstelementfactory.c:
8539 Allow gst_element_register() to be called with plugin==NULL.
8540 Did nobody notice that static elements were broken?
8542 2007-05-12 Wim Taymans <wim@fluendo.com>
8544 * tools/gst-launch.c: (event_loop):
8545 Give more interesting info when buffering starts and stops.
8546 Fix case where buffering starts but we fail to update the buffering flag
8547 because the target state is not PLAYING.
8549 2007-05-12 Wim Taymans <wim@fluendo.com>
8551 * plugins/elements/gstqueue.c: (gst_queue_init),
8552 (gst_queue_finalize), (update_time_level), (apply_segment),
8553 (apply_buffer), (gst_queue_locked_flush),
8554 (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8555 (gst_queue_handle_sink_event), (gst_queue_chain),
8556 (gst_queue_push_one), (gst_queue_loop):
8557 * plugins/elements/gstqueue.h:
8558 Refactor an cleanup queue a bit.
8559 Do better time level calculations that also work when the srcpad is not
8561 Remove some unneeded debug lines.
8563 * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8564 Added testcase for time level measurement.
8565 Try to make some stuff more racefree.
8567 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8569 * gst/gsturi.c: (gst_element_make_from_uri):
8570 Don't leak plugin feature.
8572 * tests/check/Makefile.am:
8573 * tests/check/gst/.cvsignore:
8574 * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8575 Add brain-dead unit test.
8577 2007-05-11 Tim-Philipp Müller <tim at centricular dot net>
8579 Patch by: Jeroen Wouters <woutersj at gmail com>
8581 * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8582 Treat protocol strings in a case-insensitive way (#437563).
8584 2007-05-11 Michael Smith <msmith@fluendo.com>
8586 * gst/gstplugin.c: (gst_plugin_load_file):
8587 * gst/gstregistry.c: (gst_registry_scan_path_level):
8588 Don't print a g_warning for any failure to load a shared object.
8589 Instead, push this down into gstplugin.c, and warn _only_ if we
8590 failed to open the module (i.e. failure to link).
8591 Avoids warnings on normal, working, non-plugin .so files.
8593 2007-05-11 Stefan Kost <ensonic@users.sf.net>
8595 * gst/gstplugin.c (gst_plugin_load_file):
8596 * gst/gstregistry.c (GST_CAT_DEFAULT,
8597 gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8598 Print a g_warning if there was an error when loading a plugins during
8599 registry scan. The shuld help beginners starting with gst-plugin
8602 2007-05-10 Wim Taymans <wim@fluendo.com>
8604 * plugins/elements/gstqueue.c: (gst_queue_class_init),
8605 (update_time_level), (gst_queue_locked_flush),
8606 (gst_queue_handle_sink_event), (gst_queue_chain),
8607 (gst_queue_push_one), (gst_queue_loop):
8608 * plugins/elements/gstqueue.h:
8609 Be smarter when calculating the current amount of data in the queue by
8610 measuring the difference between start and end timestamps (in running
8611 time) inside the queue. Fixes #432876.
8612 API: GstQueue::pushing to notify elements that we are pushing data again
8613 since the running signal is rather broken for this purpose.
8615 2007-05-10 Stefan Kost <ensonic@users.sf.net>
8617 * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8618 gst_queue_base_init, gst_queue_init):
8621 2007-05-09 Sebastien Moutte <sebastien@moutte.net>
8623 * win32/common/libgstreamer.def:
8624 Add new exported functions.
8625 * win32/vs6/grammar.dsp:
8626 Use grammar pre-generated files.
8628 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8630 Based on patch by: Peter Kjellerstedt <pkj at axis com>
8633 * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8635 * gst/gstutils.c: (gst_parse_bin_from_description):
8637 Maintain API and ABI when --disable-parse is used. Now that
8638 we have an appropriate error code, we can just return NULL and the
8639 appropriate error when gst_parse_launch() is used despite it having
8640 been disabled (#342564).
8642 * tests/check/Makefile.am:
8643 * tests/check/pipelines/.cvsignore:
8644 * tests/check/pipelines/parse-disabled.c:
8645 Make sure these functions exist and return NULL plus a GError when
8646 --disable-parse is used.
8648 2007-05-09 Tim-Philipp Müller <tim at centricular dot net>
8650 * tests/benchmarks/complexity.c: (main):
8651 * tests/benchmarks/mass-elements.c: (main):
8652 Set a good example and don't leak messages.
8654 2007-05-06 Stefan Kost <ensonic@users.sf.net>
8656 * docs/gst/Makefile.am:
8657 * docs/libs/Makefile.am:
8658 Correct fixxrefs options.
8660 * docs/plugins/Makefile.am:
8661 * docs/plugins/gstreamer-plugins-docs.sgml:
8662 * docs/plugins/gstreamer-plugins-sections.txt:
8663 * plugins/elements/Makefile.am:
8664 * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8665 * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8666 GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8667 GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8668 GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8669 _GstCapsFilterClass, trans_class):
8670 * plugins/elements/gstelements.c (name, rank, type, _elements):
8671 * plugins/elements/gstidentity.c
8672 (gst_identity_check_imperfect_timestamp,
8673 gst_identity_check_imperfect_offset):
8674 Document capsfilter and add doc-blurb to identity.
8676 2007-05-04 Tim-Philipp Müller <tim at centricular dot net>
8678 * libs/gst/controller/gstcontroller.c:
8679 (gst_controlled_property_set_interpolation_mode):
8680 * libs/gst/controller/gstinterpolation.c:
8681 Don't crash if someone tries to set an interpolation mode that
8682 is invalid or that isn't supported yet. Fixes #422295.
8684 * tests/check/libs/controller.c: (GST_START_TEST),
8685 (gst_controller_suite):
8686 Add a test case for the above.
8688 2007-05-03 Edward Hervey <edward@fluendo.com>
8690 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8691 Properly set the last_stop position on GstSegment. This will only happen
8692 if there is a buffer to push out.
8694 2007-05-03 Wim Taymans <wim@fluendo.com>
8696 * libs/gst/base/gstbasetransform.c:
8697 (gst_base_transform_buffer_alloc):
8698 always_in_place does not mean that the sink and source caps are the
8699 same! Make sure we don't blindly proxy the buffer_alloc in this case.
8701 2007-05-03 Wim Taymans <wim@fluendo.com>
8703 * docs/libs/gstreamer-libs-sections.txt:
8704 * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8705 (gst_base_src_default_query), (gst_base_src_get_range):
8706 * libs/gst/base/gstbasesrc.h:
8707 API: gst_base_src_query_latency(). Added method so that subclasses can
8708 easily get the latency values of the base source class.
8710 2007-05-02 Zaheer Abbas Merali <<zaheerabbas at merali dot org>>
8712 * tools/gst-inspect.c (print_implementation_info):
8715 2007-05-02 Tim-Philipp Müller <tim at centricular dot net>
8717 * tools/Makefile.am:
8718 * tools/gst-launch.1.in:
8719 Don't create a customised man page based on the host architecture,
8720 describe the default registry path generically. That way the man
8721 page is the same for all architectures and packagers have one
8722 multilib issue less to deal with. Fixes #434926.
8724 2007-05-02 Wim Taymans <wim@fluendo.com>
8727 Fix documentation as spotted by rg on IRC.
8729 2007-04-29 Stefan Kost <ensonic@users.sf.net>
8732 Improve docs for gst_element_{link,unlink}.
8734 2007-04-28 Tim-Philipp Müller <tim at centricular dot net>
8736 * docs/design/part-events.txt:
8737 * docs/design/part-overview.txt:
8741 * libs/gst/base/gstbasesink.c:
8742 Typo fixes; minor docs addition.
8744 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8746 * docs/gst/gstreamer-sections.txt:
8747 * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8748 (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8750 API: Add gst_uri_protocol_is_supported(), which checks if a sink
8751 or src that supports a given URI protocol exists.
8753 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8755 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8756 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8757 Set the location to NULL if "file://" is set as URI. Otherwise
8758 some random previous URI would still be set if "file://" is
8759 set on an already used filesink/filesrc.
8761 2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
8763 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8764 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8765 Special case the "file://" URI as as this is used by some
8766 applications to test with gst_element_make_from_uri if there's
8767 an element that supports the URI protocol.
8768 Also move the g_path_is_absolute() check for the location part
8769 of the URI to also check this for "file://localhost/bla" URIs.
8771 2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
8773 * docs/gst/gstreamer-sections.txt:
8774 * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8776 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8778 API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8780 2007-04-26 Stefan Kost <ensonic@users.sf.net>
8782 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8783 (gst_registry_binary_load_pad_template),
8784 (gst_registry_binary_load_plugin),
8785 (gst_registry_binary_read_cache):
8786 * gst/gstregistrybinary.h:
8787 Implement no-mmap alternative for registry reading. Do code cleanups.
8788 Add more comments about avoiding strdups for all text data. Comments
8791 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8793 * gst/gstregistrybinary.h (GstBinaryPluginElement,
8794 GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8795 GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8796 Comment structs and reformat to fix the build (that stuff should go
8797 into a priv. header).
8799 2007-04-25 Stefan Kost <ensonic@users.sf.net>
8801 * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8802 (gst_registry_binary_load_feature):
8803 * gst/gstregistrybinary.h:
8804 Refactor so that we can implement multiple features. Add support for
8805 TypeFindFactory features.
8807 2007-04-24 Stefan Kost <ensonic@users.sf.net>
8809 Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8812 Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8814 2007-04-23 Stefan Kost <ensonic@users.sf.net>
8816 * gst/gstbin.c: (gst_bin_element_set_state),
8817 (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8818 (bin_handle_async_done), (gst_bin_handle_message_func):
8819 Fix build with --gst-disable-gst-debug
8821 2007-04-21 Tim-Philipp Müller <tim at centricular dot net>
8823 * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8824 Make sure streaming has finished before calling the ::stop() vfunc,
8825 since that vfunc might clear state which is being used in the
8826 streaming thread. This fixes a race that caused crashes in
8827 audioresample when shutting down a pipeline (#420106).
8829 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8831 * docs/gst/gstreamer-sections.txt:
8832 That was one byte missing.
8834 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8837 * docs/gst/gstreamer-sections.txt:
8839 * gst/gstconfig.h.in:
8840 * gst/gstobject.c: (gst_object_class_init),
8841 (gst_signal_object_class_init):
8843 2nd attempt to have a xml-less build as a joined effort of #413123
8846 2007-04-20 Stefan Kost <ensonic@users.sf.net>
8848 * docs/design/draft-tagreading.txt:
8849 Added open issues/thoughts to draft.
8851 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8853 * gst/parse/grammar.tab.pre.c:
8854 * gst/parse/grammar.tab.pre.h:
8855 * gst/parse/lex._gst_parse_yy.pre.c:
8856 Update the prebuild parser sources.
8858 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8860 * gst/parse/Makefile.am:
8861 And now fix the building of the flex sources. Now everything should
8864 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8866 * gst/parse/Makefile.am:
8867 Now hopefully fix the build failures by setting proper rule
8868 dependencies and moving instead of copying.
8870 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8872 * tests/benchmarks/complexity.gnuplot:
8873 * tests/benchmarks/complexity.scm:
8874 * tests/benchmarks/mass-elements.gnuplot:
8875 * tests/benchmarks/mass-elements.scm:
8876 Total licensification.
8878 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8880 * gst/parse/Makefile.am:
8881 Fix the build by correcting the rule that gave wrong files to flex.
8883 2007-04-19 Stefan Kost <ensonic@users.sf.net>
8885 * tests/benchmarks/complexity.c:
8886 * tests/benchmarks/mass-elements.c:
8887 Change licence to LGPL as granted by Benjamin and Andy.
8889 2007-04-19 Sebastian Dröge <slomo@circular-chaos.org>
8891 * gst/parse/Makefile.am:
8892 Add correct grammar.tab.h dependency if compiling without new enough
8893 flex. Fixes #431150.
8895 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8897 * gst/parse/Makefile.am:
8898 Fix typo and use outdated sources if the flex/bison sources are newer
8899 than the pregenerated ones but flex is too old. Print a warning in
8900 that case. This should fix the build on the build bot.
8902 2007-04-18 Sebastian Dröge <slomo@circular-chaos.org>
8904 Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8905 * gst/parse/Makefile.am:
8906 * gst/parse/grammar.y:
8907 * gst/parse/parse.l:
8908 Make the parser reentrant and recursively callable. This requires flex
8909 >= 2.5.31, for older versions pregenerated sources are used as we
8910 can't bump the build dependency. Finally fixes #349180.
8912 * gst/gstparse.c: (gst_parse_launch):
8913 Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8916 * docs/gst/Makefile.am:
8917 * docs/gst/Makefile.am:
8918 * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8919 (__gst_parse_strfree), (__gst_parse_link_new),
8920 (__gst_parse_link_free), (__gst_parse_chain_new),
8921 (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8922 (gst_parse_element_set), (gst_parse_free_link),
8923 (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8924 (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8925 (_gst_parse_launch):
8926 * gst/parse/grammar.tab.pre.h:
8927 * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8928 (yy_get_previous_state), (yy_try_NUL_trans), (input),
8929 (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8930 (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8931 (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8932 (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8933 (_gst_parse_yypop_buffer_state),
8934 (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8935 (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8936 (yy_fatal_error), (_gst_parse_yyget_extra),
8937 (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8938 (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8939 (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8940 (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8941 (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8942 (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8943 (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8944 (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8945 (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8946 (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8947 (_gst_parse_yyfree):
8948 If the installed flex version is too old use pre-generated parser
8949 sources. These pre-generated parser sources are always updated when
8950 the actual flex/bison sources change but require everybody who wants
8951 to change something in the parser to have flex >= 2.5.31 installed.
8953 2007-04-18 Stefan Kost <ensonic@users.sf.net>
8955 * common/m4/gst-gettext.m4:
8956 * gst/gst-i18n-lib.h:
8957 Make --disable-nls to work
8959 2007-04-17 Wim Taymans <wim@fluendo.com>
8961 * gst/gstconfig.h.in:
8962 Revert previous change that broke the build.
8964 2007-04-17 Stefan Kost <ensonic@users.sf.net>
8968 * gst/gstconfig.h.in:
8969 Drop libxml2 dependency when building with
8970 --enable-binary-registry --disable-loadsave
8972 2007-04-16 Tim-Philipp Müller <tim at centricular dot net>
8974 * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8975 (gst_registry_binary_read_cache):
8976 * gst/gstregistrybinary.h:
8977 Remove unnecessary <sys/mman.h> include which broke the win32 build
8978 with MingW; move includes from header file to .c file, even if the
8979 header file isn't installed; use g_strerror() where UTF-8 strings
8980 are expected, such as in GST_DEBUG messages.
8982 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8984 * docs/libs/gstreamer-libs-sections.txt:
8985 Remove bogus addition for API I didn't end up keeping.
8987 * libs/gst/base/gstbasesrc.h:
8988 Mention Since: 0.10.13 in the documentation.
8990 Add the API keyword to the previous ChangeLog entry.
8992 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
8994 * docs/libs/gstreamer-libs-sections.txt:
8995 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8996 (gst_base_src_default_prepare_seek_segment),
8997 (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8998 * libs/gst/base/gstbasesrc.h:
8999 Allow basesrc derived classes to execute seeks in other formats
9000 by providing a prepare_seek_segment vmethod. Sub-classes can choose
9001 to prepare the GstSegment in any format that their perform_seek method
9002 will be able to understand. The default implementation provides the
9003 old behaviour of attempting to convert the seek offsets to the
9004 configured native format.
9006 API: basesrc::prepare_seek_segment vmethod.
9008 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9010 * gst/gstelement.c: (gst_element_get_state_func):
9011 Don't output the same debug statement twice.
9013 * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9014 (gst_adapter_peek), (gst_adapter_take_buffer):
9015 Optimise the case where we have buffers at the head of the queue that
9016 can be joined quickly (because they're contiguous sub-buffers) by
9017 merging them together rather than copying data out into new memory.
9019 * gst/parse/grammar.y:
9020 * tests/check/pipelines/parse-launch.c:
9021 Fix a leak in an error path for parse_launch, and add a check
9022 for it to the testsuite.
9024 2007-04-13 Jan Schmidt <thaytan@mad.scientist.com>
9026 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9027 Don't deadlock when releasing a pad - gst_pad_set_active may try
9028 and take the multiqueue lock too.
9030 2007-04-12 Tim-Philipp Müller <tim at centricular dot net>
9032 * gst/gsterror.c: (_gst_core_errors_init):
9034 API: add GST_CORE_ERROR_DISABLED (#392804).
9036 2007-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
9038 * docs/faq/gst-uninstalled:
9039 don't get empty paths on the PATH variables
9040 * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9041 Don't format for the uncommon terminal width of 84 characters.
9043 2007-04-06 Wim Taymans <wim@fluendo.com>
9045 * gst/gstpipeline.c: (reset_stream_time),
9046 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9047 Only try to select a different pipeline clock when we went back to
9048 PAUSED and not when we merely got flushed.
9050 2007-04-05 Michael Smith <msmith@fluendo.com>
9052 * tools/gst-launch.1.in:
9053 fractions are better supported in gstreamer than ractions, so
9054 suggest using those.
9056 2007-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
9058 Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9062 Added Danish translation.
9064 2007-04-05 Wim Taymans <wim@fluendo.com>
9066 * libs/gst/base/gstbasesink.c:
9067 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9068 Fix leak caused when refusing newsegment after EOS.
9070 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9071 (gst_fake_sink_init), (gst_fake_sink_set_property),
9072 (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9073 (gst_fake_sink_render), (gst_fake_sink_change_state):
9074 * plugins/elements/gstfakesink.h:
9075 Add num-buffers property to make the element generate EOS after a
9076 configurable amount of buffers.
9077 API: fakesink::num-buffers property.
9079 * tests/check/elements/fakesink.c: (GST_START_TEST),
9081 Fix GstBus leak in test.
9082 Test for fakesink num-buffers.
9084 2007-04-05 Wim Taymans <wim@fluendo.com>
9086 * libs/gst/base/gstbasesink.c:
9087 (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9088 (gst_base_sink_change_state):
9089 Don't accept anything after an EOS, return UNEXPECTED instead.
9091 * tests/check/elements/fakesink.c: (GST_START_TEST),
9093 Unit test for new EOS behaviour.
9095 2007-04-05 Wim Taymans <wim@fluendo.com>
9097 * gst/gstelement.c: (gst_element_get_request_pad):
9098 Make padtemplates also work when they don't contain %s or %d.
9100 2007-04-05 Wim Taymans <wim@fluendo.com>
9102 * docs/gst/gstreamer-sections.txt:
9103 * gst/gstclock.c: (gst_clock_adjust_unlocked),
9104 (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9106 Improve _adjust_unlocked() so that it overflows less.
9107 Add gst_clock_unadjust_unlocked to convert from external time to
9108 internal time based on calibration.
9109 Add some more debug.
9110 API: GstClock::gst_clock_unadjust_unlocked()
9112 2007-04-03 Wim Taymans <wim@fluendo.com>
9114 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9116 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9117 Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9118 when releasing sink pad. Fixes #425400.
9120 2007-04-02 Stefan Kost <ensonic@users.sf.net>
9122 * docs/random/ensonic/dynlink.txt:
9123 More work on proposal for new core api.
9125 * docs/libs/gstreamer-libs-sections.txt:
9126 * libs/gst/base/gstbasetransform.h:
9127 API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9129 * libs/gst/controller/gstcontroller.c:
9130 (on_object_controlled_property_changed),
9131 (gst_controller_sync_values),
9132 (gst_controller_set_interpolation_mode):
9133 * libs/gst/controller/gstcontroller.h:
9134 Less verbose logging add docs for unimplemented parts and correctly
9135 return when using unavailable parts.
9137 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9139 * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9140 Move all the debug to the CLOCK category, and associate it with
9143 2007-03-29 Jan Schmidt <thaytan@mad.scientist.com>
9145 * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9146 Make take_buffer a bit quicker by removing redundant checks
9147 caused by calling gst_adapter_take.
9149 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9151 * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9154 * tests/check/Makefile.am:
9155 * tests/check/elements/.cvsignore:
9156 * tests/check/elements/multiqueue.c: (setup_multiqueue),
9157 (GST_START_TEST), (multiqueue_suite):
9158 Add some dead simple unit tests for the 'multiqueue' element
9159 (some bits don't work yet and are disabled for now).
9161 2007-03-28 Tim-Philipp Müller <tim at centricular dot net>
9163 * gst/gstelement.c: (gst_element_get_request_pad),
9164 (gst_element_class_get_request_pad_template):
9165 Make gst_element_get_request_pad() create request pads only for
9166 request pad templates and not for, say, sometimes pad templates.
9168 2007-03-28 Stefan Kost <ensonic@users.sf.net>
9170 * docs/design/draft-klass.txt:
9171 Add example that needs more thinking.
9173 * docs/design/draft-missing-plugins.txt:
9174 More thoughts about wrapper plugins.
9176 * docs/random/ensonic/embedded.txt:
9177 * docs/random/ensonic/profiling.txt:
9180 2007-03-25 Wim Taymans <wim@fluendo.com>
9182 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9183 (gst_base_src_loop):
9184 Only push the segment events in the PLAYING state for live sources.
9186 2007-03-23 Jan Schmidt <thaytan@mad.scientist.com>
9188 * gst/gstpipeline.c: (gst_pipeline_change_state):
9189 Modify the clock distribution path in PAUSED->PLAYING so that we
9190 never attempt to choose a new clock unless we're actually leaving
9191 the PAUSED state for the first time. This prevents choosing a
9192 different clock when the state_change gets called for a 2nd time due
9193 to some element doing an async state change.
9195 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9197 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9198 (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9199 (gst_pad_chain_unchecked), (gst_pad_push):
9200 Revert last commit. This needs some more thoughts.
9202 2007-03-22 Sebastian Dröge <slomo@circular-chaos.org>
9204 * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9205 (gst_pad_chain_unchecked), (gst_pad_push):
9206 Check in set_caps if the caps are compatible with the pad and remove
9207 two functions that are redundant now. Fixes #421543.
9209 2007-03-22 Wim Taymans <wim@fluendo.com>
9211 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9212 (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9213 Unref some more to make valgrind happy.
9215 2007-03-22 Wim Taymans <wim@fluendo.com>
9217 * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9218 (gst_system_clock_id_wait_jitter),
9219 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9220 Fix anoying regression that survived a few releases. When adding an
9221 async entry while blocking on a sync entry, the sync entry will unblock
9222 but still be busy, so it should continue to wait instead of returning
9224 Add some comments here and there.
9226 * tests/check/gst/gstsystemclock.c: (mixed_thread),
9227 (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9228 Add testcase for this.
9230 2007-03-22 Wim Taymans <wim@fluendo.com>
9232 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9233 Handle errors from the clock sync better, only UNSCHEDULED indicates a
9234 WRONG_STATE and can silently pause the task. All other cases should
9237 2007-03-22 Wim Taymans <wim@fluendo.com>
9239 Patch by: Ville Syrjala <syrjala at sci dot fi>
9241 * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9242 Fix possible deadlock if pad eventfunc is not specified. Fixes #421177.
9245 2007-03-21 Michael Smith <msmith@fluendo.com>
9247 * docs/pwg/advanced-types.xml:
9248 Fix some errors in the typefinding docs pointed out on irc.
9250 2007-03-21 Jan Schmidt <thaytan@mad.scientist.com>
9252 * libs/gst/base/gstbasesrc.c:
9253 Clarify FIXME comment in the face of having added unlock_stop()
9255 2007-03-21 Wim Taymans <wim@fluendo.com>
9257 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9258 Prepare for release where we warn against possible app breakage in the
9259 case of live pipelines along with an env var to enable/disable live
9260 preroll mode (GST_COMPAT=[no-]live-preroll).
9262 2007-03-20 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9264 * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9265 So we should use correct constants for checking for None offset.
9267 2007-03-20 Wim Taymans <wim@fluendo.com>
9269 * docs/design/part-block.txt:
9270 Mention the fact that the newly switched element should be set to at
9273 2007-03-20 Wim Taymans <wim@fluendo.com>
9276 Fix compilation with registry disabled as spotted by Saur.
9278 2007-03-20 Wim Taymans <wim@fluendo.com>
9280 Patch by: Olivier Crete <tester at tester dot ca>
9282 * gst/gstelement.c: (gst_element_sync_state_with_parent):
9283 Look at the pending state too when syncing the element state to the
9284 parent. Fixes #420133.
9286 2007-03-19 Jan Schmidt <thaytan@mad.scientist.com>
9288 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9289 (gst_base_sink_change_state):
9290 * libs/gst/base/gstbasesink.h:
9291 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9292 (gst_base_src_default_event), (gst_base_src_unlock_stop),
9293 (gst_base_src_deactivate):
9294 * libs/gst/base/gstbasesrc.h:
9295 Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9296 for sub-classes to correctly clear any state they set trying to
9297 unlock, such as clearing out unlock commands from a command fd.
9298 API: basesrc::unlock_stop
9299 API: basesink::unlock_stop
9301 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9302 (gst_fd_sink_render), (gst_fd_sink_unlock),
9303 (gst_fd_sink_unlock_stop):
9304 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9305 (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9306 (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9308 Implement unlock_stop in fdsrc and fdsink.
9309 Implement seeking in fdsrc when a seekable fd is passed, as in
9310 gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9312 2007-03-19 Wim Taymans <wim@fluendo.com>
9314 Patch by: Evan Nemerson <evan at coeus dash group dot com>
9316 * gst/gstelement.c: (gst_element_class_init):
9317 Fix pad-added and pad-removed signal signatures so that the pad type is
9318 stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9320 2007-03-19 Wim Taymans <wim@fluendo.com>
9322 * docs/gst/gstreamer-sections.txt:
9323 Add new element field and method.
9325 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9326 (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9327 (gst_bin_recalc_state), (gst_bin_get_state_func),
9328 (gst_bin_element_set_state), (gst_bin_change_state_func),
9329 (gst_bin_continue_func), (bin_bus_handler),
9330 (bin_push_state_continue), (bin_handle_async_start),
9331 (bin_handle_async_done), (gst_bin_handle_message_func):
9332 Make async state changes a bit smarter by using new ASYNC_START and
9333 ASYNC_DONE messages. This reduces the number of times we run the state
9334 recalculation thread.
9335 Don't change state of element with a pending ASYNC_START message.
9336 Deprecate STATE_DIRTY messages.
9338 * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9339 (gst_element_get_state_func), (gst_element_continue_state),
9340 (gst_element_lost_state), (gst_element_set_state_func),
9341 (gst_element_change_state):
9343 Keep the state that was last set by the app in a new element field.
9344 Don't allow state changes when handling an element event.
9345 Post ASYNC_START and ASYNC_DONE messages.
9346 Change lost_state so that we go to PAUSED and wait for the parent to set
9347 us to PLAYING again (so latency calculation can be performed)
9348 Export gst_element_change_state() method so that subclasses can use it.
9349 API: gst_element_change_state()
9350 API: GST_STATE_TARGET
9352 * gst/gstpipeline.c: (gst_pipeline_class_init),
9353 (reset_stream_time), (gst_pipeline_change_state),
9354 (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9355 Using the new ASYNC_START message we can reset the base_time when
9356 needed. This can then be used to implement base_time redistribution in
9357 flushing seeks so that we can remove the explicit seek handling.
9358 Perform latency query and configuration when going to PLAYING.
9360 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9361 (gst_base_sink_query), (gst_base_sink_change_state):
9362 Post new ASYNC_START/ASYNC_DONE messages.
9364 * tests/check/generic/sinks.c: (GST_START_TEST):
9365 Fix test because the bin will not set the async element to PLAYING right
9368 * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9369 Make the message check a little stronger.
9370 Handle ASYNC messages.
9372 * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9373 * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9374 Expect ASYNC_DONE messages.
9376 2007-03-19 Wim Taymans <wim@fluendo.com>
9378 * docs/gst/gstreamer-sections.txt:
9379 * gst/gstmessage.c: (gst_message_new_async_start),
9380 (gst_message_new_async_done), (gst_message_parse_info),
9381 (gst_message_parse_async_start):
9383 Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9386 2007-03-15 Tim-Philipp Müller <tim at centricular dot net>
9388 * tools/gst-inspect.c:
9389 (print_plugin_automatic_install_info_codecs):
9390 Now that we don't check for the 'Codec' keyword any longer in the
9391 klass, we shouldn't spew a warning if the klass isn't a decoder or
9392 encoder (since it might be a Source/Network, for example).
9394 2007-03-14 Tim-Philipp Müller <tim at centricular dot net>
9396 * tools/gst-inspect.c:
9397 (print_plugin_automatic_install_info_codecs):
9398 Don't require decoder/demuxer/depayloader elements or
9399 encoder/muxer/paylader elements to have 'Codec' as part of their
9400 factory class string when introspecting a plugin's capabilities.
9401 draft-klass.txt mentions that it might be removed in future, and
9402 flump3dec doesn't have it as part of its class string, so chances
9403 are others might also not have it.
9405 2007-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
9427 Update translations from translation project
9429 2007-03-14 Stefan Kost <ensonic@users.sf.net>
9431 * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9432 (gst_child_proxy_set_property):
9433 Invert precondition check to be alike the ones in the mimiced gobject
9436 2007-03-13 Stefan Kost <ensonic@users.sf.net>
9438 * docs/design/draft-tagreading.txt:
9439 * docs/random/ensonic/audiobaseclasses.txt:
9440 Do some Architect work.
9442 * gst/gstobject.c: (gst_object_set_name):
9446 Add docs that point from gst_pad_get_range to gst_pad_pull_range
9448 2007-03-12 Jan Schmidt <thaytan@mad.scientist.com>
9450 * gst/gstsystemclock.c: (gst_system_clock_init),
9451 (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9452 Defer starting the async system clock thread until the first async
9453 wait is scheduled. Fixes #414986.
9455 2007-03-12 Tim-Philipp Müller <tim at centricular dot net>
9457 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9458 (gst_single_queue_free):
9459 Fix small leak (free GstSingleQueue structure too, not only contents).
9461 2007-03-10 Sebastien Moutte <sebastien@moutte.net>
9463 * gst/gstbin.c:(gst_bin_add):
9464 Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9465 * win32/common/libgstbase.def:
9466 * win32/common/libgstreamer.def:
9467 Add new exported functions.
9469 2007-03-09 Wim Taymans <wim@fluendo.com>
9471 * docs/plugins/gstreamer-plugins-sections.txt:
9474 2007-03-09 Wim Taymans <wim@fluendo.com>
9476 * docs/gst/gstreamer-sections.txt:
9477 * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9479 Add metadata copy functions. Fixes #393099.
9480 API: gst_buffer_copy_metadata()
9482 * gst/gstutils.c: (gst_buffer_stamp):
9483 * libs/gst/base/gstbasetransform.c:
9484 (gst_base_transform_prepare_output_buffer):
9485 Use new metadata copy functions.
9487 2007-03-09 Thomas Vander Stichele <thomas at apestaart dot org>
9489 * plugins/elements/gstidentity.c: (gst_identity_class_init),
9490 (gst_identity_init), (gst_identity_check_perfect),
9491 (gst_identity_check_imperfect_timestamp),
9492 (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9493 (gst_identity_set_property), (gst_identity_get_property):
9494 * plugins/elements/gstidentity.h:
9495 Separate out check-imperfect-timestamp and check-imperfect-offset.
9496 Put back check-perfect as it was to keep compatibility.
9498 2007-03-09 Jan Schmidt <thaytan@mad.scientist.com>
9500 * gst/gstelement.c: (gst_element_dispose):
9501 There's no need to warn if VOID_PENDING is not NONE here, as
9502 long as the state is NULL it's ok, and that's checked immediately
9505 2007-03-08 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9507 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9508 Fix check for perfect stream to ignore buffers with -1
9509 offsets/offset ends when checking data contiguity.
9511 2007-03-08 Wim Taymans <wim@fluendo.com>
9513 * tools/gst-launch.c: (event_loop):
9514 Print INFO messages.
9516 2007-03-08 Wim Taymans <wim@fluendo.com>
9518 * libs/gst/base/gstbasetransform.c:
9519 (gst_base_transform_sink_eventfunc),
9520 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9521 (gst_base_transform_activate):
9522 * libs/gst/base/gstbasetransform.h:
9523 Add support for dropping buffers with custom GstFlowReturn.
9524 Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9525 buffers or dropped buffers.
9527 * docs/libs/gstreamer-libs-sections.txt:
9528 docs for new custom return code.
9530 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9531 Use drop support in base class to implement drop-probability.
9533 2007-03-07 Tim-Philipp Müller <tim at centricular dot net>
9535 * gst/gst.c: (load_plugin_func):
9536 * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9537 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9538 * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9539 Remove newlines at end of debug log strings.
9541 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9543 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9544 Only post bus message at max, once per buffer received.
9546 2007-03-07 Wim Taymans <wim@fluendo.com>
9548 * docs/design/Makefile.am:
9549 * docs/design/part-synchronisation.txt:
9550 Add doc about synchronisation
9552 * docs/design/draft-latency.txt:
9553 * docs/design/part-TODO.txt:
9554 * docs/design/part-clocks.txt:
9555 * docs/design/part-events.txt:
9556 * docs/design/part-gstbus.txt:
9557 * docs/design/part-gstpipeline.txt:
9558 * docs/design/part-live-source.txt:
9559 * docs/design/part-messages.txt:
9560 * docs/design/part-overview.txt:
9561 * docs/design/part-streams.txt:
9562 * docs/design/part-trickmodes.txt:
9563 Documentation updates.
9565 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9568 Update the doap file.
9570 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9572 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9573 Rename non-perfect to imperfect for Mike and for the sanctity of the
9575 Also make sure bus message gets emitted for data-incontiguities.
9577 2007-03-07 Zaheer Abbas Merali <zaheerabbas at merali dot org>
9579 * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9580 (gst_identity_start):
9581 * plugins/elements/gstidentity.h:
9582 Emit bus message if check-perfect is true and we encounter a
9583 non-perfect stream between 2 consecutive buffers.
9586 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9591 === release 0.10.12 ===
9593 2007-03-07 Jan Schmidt <thaytan@mad.scientist.com>
9596 releasing 0.10.12, "Inevitable Demise"
9598 2007-03-01 Jan Schmidt <thaytan@mad.scientist.com>
9601 Version 0.10.11.2 (0.10.12 pre-release)
9602 Bump libtool versioning.
9604 2007-03-01 Stefan Kost <ensonic@users.sf.net>
9606 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9607 Log flow-names and not numbers.
9609 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9612 Convert to new AG_GST style.
9614 2007-02-28 Wim Taymans <wim@fluendo.com>
9616 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9617 Don't unref query twice.
9619 2007-02-28 Wim Taymans <wim@fluendo.com>
9621 * gst/gstvalue.c: (gst_value_transform_object_string),
9622 (_gst_value_initialize):
9623 Implement GstObject -> string transform so we print object names
9624 when serializing GValues containing GstObjects.
9626 2007-02-28 Wim Taymans <wim@fluendo.com>
9628 * docs/gst/gstreamer-sections.txt:
9629 Add new stuff to docs.
9631 2007-02-28 Wim Taymans <wim@fluendo.com>
9633 * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9634 (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9635 (gst_base_sink_change_state):
9636 Improve latency query code.
9637 Don't leak latency events.
9639 * tests/check/gst/gstbin.c: (GST_START_TEST):
9642 2007-02-28 Wim Taymans <wim@fluendo.com>
9644 * gst/gstelement.c: (gst_element_message_full),
9645 (gst_element_get_state_func):
9647 Improve docs a little. Added Since: for new macro.
9649 * gst/gstobject.c: (gst_object_sink):
9650 * gst/gstpipeline.c: (gst_pipeline_change_state),
9651 (gst_pipeline_set_new_stream_time):
9652 * gst/gstpipeline.h:
9653 Improve debugging and docs.
9655 * gst/gstutils.c: (gst_element_state_change_return_get_name):
9658 2007-02-28 Wim Taymans <wim@fluendo.com>
9660 * gst/gstelement.c: (gst_element_message_full),
9661 (gst_element_set_locked_state), (gst_element_get_state_func),
9662 (gst_element_change_state):
9663 Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9664 Documentation updates.
9665 Small code cleanups.
9667 * gst/gstmessage.c: (gst_message_new_info),
9668 (gst_message_parse_info):
9670 API: gst_message_new_info()
9671 API: gst_message_parse_info()
9672 Add INFO message create and parse code.
9674 2007-02-28 Wim Taymans <wim@fluendo.com>
9676 * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9677 (bin_query_latency_done):
9678 Also report the live parameter of a latency query.
9680 2007-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
9682 * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9683 Copy the current generic/states example from -base and adapt so
9684 we can use the exact same code everywhere.
9685 Check a STATES_IGNORE_ELEMENTS env var which can be used
9686 to ignore certain element factories for this test, which is
9687 what is being done in -base
9688 * tests/check/Makefile.am:
9689 Mention this environment variable.
9691 2007-02-27 Wim Taymans <wim@fluendo.com>
9693 * docs/gst/gstreamer-sections.txt:
9694 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9695 (gst_bus_timed_pop), (gst_bus_pop):
9697 API: gst_bus_timed_pop()
9698 Implement gst_bus_timed_pop() to do a blocking timed wait for a
9699 message to arrive on the bus.
9701 * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9703 Two unit tests for new _timed_pop() function.
9705 2007-02-23 Wim Taymans <wim@fluendo.com>
9707 * gst/gstpipeline.c: (gst_pipeline_change_state),
9708 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9709 Don't ref a NULL clock in _provide_clock_func().
9710 Don't allow an INVALID delay.
9711 Don't try to calculate base_time with an invalid start_time.
9712 Also distribute and notify a NULL clock when it was selected.
9714 * tools/gst-launch.c: (event_loop):
9715 Don't crash when a NULL clock was selected in the pipeline.
9717 2007-02-23 Tim-Philipp Müller <tim at centricular dot net>
9719 * docs/design/Makefile.am:
9720 * docs/design/draft-missing-plugins.txt:
9721 * docs/random/draft-missing-plugins.txt:
9722 Some small updates: update plugin system identifier prefix
9723 ('gstreamer.net' to 'gstreamer'), mention our new install
9724 API in libgstbaseutils rather than libgimme-codec, add
9725 reference to the online docs.
9727 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9729 * win32/common/config.h:
9730 Pretty sure Bill never made a powerpc version. Powerpc hackers,
9731 use moap cl ci to only check in what is mentioned in the ChangeLog.
9733 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9735 * docs/gst/gstreamer-sections.txt:
9737 Fix up documentation to link to the correct GstGError section.
9738 Add GST_ELEMENT_INFO macro since someone else added a Info message.
9740 2007-02-21 Thomas Vander Stichele <thomas at apestaart dot org>
9742 * tools/gst-launch.c: (event_loop):
9743 Make sure that we actually show the important message part of a
9745 No need to check if the gerror is not NULL to free; first of all
9746 g_free accepts NULL; and second the default error handler would
9747 segfault if gerror was NULL.
9749 2007-02-21 Wim Taymans <wim@fluendo.com>
9751 * docs/gst/gstreamer-sections.txt:
9752 Removed docs as well.
9754 2007-02-21 Wim Taymans <wim@fluendo.com>
9756 * gst/gstmessage.c: (gst_message_parse_duration):
9758 Remove new messages for release.
9760 2007-02-20 Wim Taymans <wim@fluendo.com>
9762 * docs/design/part-gstghostpad.txt:
9763 * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9764 (gst_ghost_pad_new_full):
9765 Make the ghostpad a parent of the internal pad again for better backward
9766 compatibility. Don't write code that relies on this however.
9768 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9769 (gst_pad_link_check_hierarchy):
9770 Require that parents should be GstElements in the hierarchy check.
9772 2007-02-20 Wim Taymans <wim@fluendo.com>
9774 * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9775 (gst_bin_change_state_func), (bin_query_min_max_init),
9776 (bin_query_latency_fold), (bin_query_latency_done),
9779 Implement latency query.
9781 2007-02-20 Wim Taymans <wim@fluendo.com>
9783 * docs/design/part-gstghostpad.txt:
9784 * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9785 (gst_ghost_pad_internal_do_activate_push),
9786 (gst_ghost_pad_internal_do_activate_pull),
9787 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9788 (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9789 (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9790 Do not set the internal pad as a parent anymore so we can avoid
9791 hierarchy linking errors when the ghostpad has no parent yet. This also
9792 fixes failed activation because of unlinked internal pads, which in
9793 turn fixes the impossible case where you have to activate a pad before
9794 you can add it to a running element.
9797 * gst/gstpad.c: (pre_activate), (post_activate),
9798 (gst_pad_set_active), (gst_pad_activate_pull),
9799 (gst_pad_activate_push), (gst_pad_check_pull_range):
9800 Add some more debug info.
9801 Mark activation mode in pre_activate so that we don't try to activate in
9802 endless loops. Fixes #385084.
9804 2007-02-19 Wim Taymans <wim@fluendo.com>
9806 * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9807 (gst_base_transform_check_get_range):
9808 Implement a checkgetrange function instead of relying on the default
9809 core behaviour that assumes we can operate in pull mode if we have a
9810 getrange function. First step at fixing #385084.
9812 2007-02-15 Stefan Kost <ensonic@users.sf.net>
9814 * gst/gstchildproxy.h:
9815 * libs/gst/base/gstbasesink.h:
9816 * libs/gst/base/gstbasesrc.h:
9817 * libs/gst/base/gstbasetransform.h:
9818 More docs coverage and some ChangeLog surgery (add missing names)
9820 2007-02-15 Wim Taymans <wim@fluendo.com>
9822 * docs/design/part-TODO.txt:
9823 * docs/design/part-activation.txt:
9824 * docs/design/part-block.txt:
9825 * docs/design/part-buffering.txt:
9826 * docs/design/part-clocks.txt:
9827 * docs/design/part-element-source.txt:
9828 * docs/design/part-events.txt:
9829 * docs/design/part-gstbin.txt:
9830 * docs/design/part-gstbus.txt:
9831 * docs/design/part-gstpipeline.txt:
9832 * docs/design/part-live-source.txt:
9833 * docs/design/part-messages.txt:
9834 * docs/design/part-overview.txt:
9835 * docs/design/part-qos.txt:
9836 * docs/design/part-query.txt:
9837 * docs/design/part-states.txt:
9838 * docs/design/part-trickmodes.txt:
9839 Some doc updates. Start renaming from stream_time to running_time where
9840 it was used wrongly.
9842 2007-02-15 Wim Taymans <wim@fluendo.com>
9844 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9845 Answer LATENCY query.
9847 2007-02-15 Wim Taymans <wim@fluendo.com>
9849 * tests/check/gst/gstevent.c: (event_probe), (test_event),
9853 2007-02-15 Wim Taymans <wim@fluendo.com>
9855 * gst/gstpad.c: (gst_pad_get_internal_links_default),
9856 (gst_pad_dispatcher):
9857 Improve debugging of default pad dispatcher and query functions.
9859 2007-02-15 Wim Taymans <wim@fluendo.com>
9861 * docs/gst/gstreamer-sections.txt:
9862 Remove old unused method.
9864 2007-02-13 Wim Taymans <wim@fluendo.com>
9866 * tests/check/gst/gstsegment.c: (GST_START_TEST):
9869 2007-02-13 Wim Taymans <wim@fluendo.com>
9871 * docs/design/part-seeking.txt:
9874 * gst/gstsegment.c: (gst_segment_set_seek):
9875 Revert old bogus change that should make seeking work again.
9877 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9879 * docs/random/ensonic/dynlink.txt:
9880 * docs/random/ensonic/interfaces.txt:
9881 * docs/random/ensonic/receipies.txt:
9882 Possible dynamic reconnection api, plus some type fixes the other two
9885 2007-02-13 Sebastian Dröge <slomo@circular-chaos.org>
9887 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9888 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9889 Also check for an absolute path following file:// in the filesrc
9890 element. Remove redundant check and call g_path_is_absolute() on the
9893 2007-02-13 Stefan Kost <ensonic@users.sf.net>
9895 * docs/design/draft-klass.txt:
9896 Add existing category analysis.
9899 Fix doc example, framerate is a fraction.
9901 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9904 * docs/gst/Makefile.am:
9905 * docs/gst/gstreamer-sections.txt:
9906 * docs/libs/Makefile.am:
9907 Erm, forgot a bunch of --extra-dir.
9909 2007-02-12 Stefan Kost <ensonic@users.sf.net>
9912 * docs/gst/Makefile.am:
9913 * docs/libs/Makefile.am:
9914 * docs/plugins/Makefile.am:
9915 Add crossreferences to glib/gobject docs.
9917 2007-02-12 Wim Taymans <wim@fluendo.com>
9919 * docs/design/draft-latency.txt:
9922 * docs/libs/gstreamer-libs-sections.txt:
9923 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9924 (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9925 (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9926 (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9927 (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9928 (gst_base_sink_get_position), (gst_base_sink_query),
9929 (gst_base_sink_change_state):
9930 * libs/gst/base/gstbasesink.h:
9931 API: gst_base_sink_query_latency() to let subclasses query the upstream
9933 API: gst_base_sink_get_latency() to let subclasses query the configured
9934 latency in the sink.
9935 Implement query and set latency.
9937 As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9938 don't continue preroll when we are flushing. Fixes #405284.
9940 * tests/check/pipelines/stress.c: (change_state_timeout),
9941 (quit_timeout), (GST_START_TEST), (stress_suite):
9944 2007-02-09 Tim-Philipp Müller <tim at centricular dot net>
9946 Patch by: René Stadler <mail at renestadler de>
9948 * docs/gst/gstreamer-sections.txt:
9949 * gst/gsttaglist.c: (_gst_tag_initialize):
9951 API: add GST_TAG_REFERENCE_LEVEL (#403597).
9953 2007-02-11 Stefan Kost <ensonic@users.sf.net>
9955 * docs/libs/Makefile.am:
9956 Fix path to core docs.
9958 * gst/gstbin.c: (gst_bin_get_by_interface),
9959 (gst_bin_iterate_all_by_interface):
9960 Refix docs by also renaming 'interface' to 'iface' in implementation.
9962 * docs/gst/gstreamer-sections.txt:
9964 * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9965 * gst/gstchildproxy.h:
9966 * gst/gstelementfactory.c:
9967 * gst/gstpadtemplate.h:
9968 * libs/gst/controller/gstcontroller.c:
9969 (gst_controlled_property_new):
9972 2007-02-10 Sébastien Moutte <sebastien@moutte.net>
9974 * gst/gstbin.h:(gst_bin_get_by_interface),
9975 (gst_bin_iterate_all_by_interface):
9976 Replace interface parameter name by iface as interface is
9977 a reserved keyword in Visual Studio for C++ projects so it removes
9978 a build error for application developpers using VS.
9979 * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9980 Fix a bug on Windows in uri format check. Now the prefix checked
9981 is file:// and next we check if the path after file:// is absolute.
9982 * win32/common/libgstbase.def:
9983 * win32/common/libgstdataprotocol.def:
9984 * win32/common/libgstgstreamer.def:
9985 Add new exported functions.
9987 2007-02-09 Andy Wingo <wingo@pobox.com>
9989 * tests/check/pipelines/simple-launch-lines.c
9990 (simple_launch_lines_suite, test_tee): Disable tee test until I
9991 have time to fix it :-(
9993 * tests/check/Makefile.am (noinst_HEADERS):
9994 * tests/check/libs/libsabi.c:
9995 * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9996 * tests/check/gst/gstabi.c:
9997 * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9999 * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10000 tests for push and pull tee behavior.
10002 * plugins/elements/gsttee.h:
10003 * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10004 mark as deprecated as well as unimplemented. It was a crack idea.
10005 Add support for tee operating in pull mode, off by default.
10007 * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10008 normal-case logs down to LOG, raise errors to WARNING.
10009 (gst_registry_xml_read_cache): Don't log before calling a function
10012 * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10013 exit (registry finalize).
10014 (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10015 DEBUG log when we emit signals that people don't even have the
10016 chance to connect to.
10017 (gst_registry_scan_path_level): Less logging in the normal case.
10019 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10021 Patch by: Michal Benes <michal dot benes at itonis dot tv>
10023 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10024 Correctly generate EOS for non-seekable files. We don't have a total
10025 length for them and would get an unexpected end of file if we only
10026 special-cased for regular files. (Fixes: #404569)
10028 2007-02-05 Sebastian Dröge <slomo@circular-chaos.org>
10030 * tests/check/elements/filesrc.c: (GST_START_TEST),
10032 Add unit test for the GstURIHandler interface in filesrc. This also
10033 tests the newly added file://localhost/foo/bar support.
10035 2007-02-04 Tim-Philipp Müller <tim at centricular dot net>
10037 * gst/gstelementfactory.h:
10038 The klass string is not a hierarchy. Add reference to the design doc
10039 for more information and common types.
10041 2007-02-02 Wim Taymans <wim@fluendo.com>
10043 * gst/gstquery.c: (gst_query_new_latency):
10044 Remove old structure field.
10046 2007-02-02 Stefan Kost <ensonic@users.sf.net>
10048 * tools/gst-launch.1.in:
10049 Give example for network streaming (#351998)
10051 2007-02-02 Wim Taymans <wim@fluendo.com>
10053 * docs/gst/gstreamer-sections.txt:
10054 Add docs for new methods.
10056 * gst/gstevent.c: (gst_event_new_latency),
10057 (gst_event_parse_latency):
10059 Add new LATENCY event to configure latency in a pipeline.
10060 API: gst_event_new_latency
10061 API: gst_event_parse_latency
10063 * gst/gstmessage.c: (gst_message_new_buffering),
10064 (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10065 (gst_message_new_latency), (gst_message_parse_buffering),
10066 (gst_message_parse_lost_preroll):
10067 * gst/gstmessage.h:
10068 Added messages used in draft-latency.
10069 API: gst_message_new_lost_preroll
10070 API: gst_message_parse_lost_preroll
10071 API: gst_message_new_prerolled
10072 API: gst_message_new_latency
10074 * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10075 (gst_query_parse_latency):
10077 Implemented new latency query as in design doc.
10078 API: gst_query_new_latency
10079 API: gst_query_set_latency
10080 API: gst_query_parse_latency
10082 2007-02-02 Wim Taymans <wim@fluendo.com>
10084 * docs/design/draft-latency.txt:
10085 Slight redesign to allow for dynamic latency adjustments.
10087 * docs/design/part-negotiation.txt:
10090 2007-02-02 Sebastian Dröge <slomo@circular-chaos.org>
10092 reviewed by: Wim Taymans <wim@fluendo.com>
10094 * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10095 * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10096 Allow file://localhost/foo/bar URLs and correctly fail for every other
10097 hostname that one sets. This was gnomevfssrc is linked for those if
10098 installed as it can handle it (#403172)
10100 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10102 reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10104 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10105 (unref_data), (gst_collect_pads_add_pad_full):
10106 * libs/gst/base/gstcollectpads.h:
10107 Don't put the previously added destroy notify in the GstCollectData
10108 struct as all it's padding is already used and we don't want to break
10109 ABI. Instead put in the pad's GObject data for now. This should be
10110 cleaned up for 0.11 (#402393).
10112 2007-02-01 Sebastian Dröge <slomo@circular-chaos.org>
10114 reviewed by: Wim Taymans <wim@fluendo.com>
10116 * docs/libs/gstreamer-libs-sections.txt:
10117 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10118 (unref_data), (gst_collect_pads_add_pad),
10119 (gst_collect_pads_add_pad_full):
10120 * libs/gst/base/gstcollectpads.h:
10121 API: Add function to specify a destroy notification for custom
10122 GstCollectData when adding new pads in GstCollectPads (#402393).
10124 2007-02-01 Tim-Philipp Müller <tim at centricular dot net>
10127 Update Swedish translation (#378255).
10129 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10131 * docs/design/draft-klass.txt:
10132 Fix the previous change, this is a list of categories and not a hierarchy.
10134 2007-01-31 Stefan Kost <ensonic@users.sf.net>
10136 * docs/design/draft-klass.txt:
10137 Add info about how to get a list of used classes.
10139 2007-01-30 Tim-Philipp Müller <tim at centricular dot net>
10141 * plugins/elements/gsttypefindelement.c:
10142 (gst_type_find_element_chain_do_typefinding),
10143 (gst_type_find_element_change_state):
10144 Don't leak found caps in chain function (no idea why that never
10145 showed up as a leak anywhere).
10147 2007-01-30 Stefan Kost <ensonic@users.sf.net>
10150 Fix and expand GstPluginDesc API docs.
10152 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10155 * gst/gstelementfactory.c:
10156 * gst/gstpadtemplate.h:
10159 * libs/gst/controller/gstcontroller.c:
10160 (gst_controlled_property_new):
10161 * tests/examples/controller/audio-example.c:
10164 2007-01-29 Stefan Kost <ensonic@users.sf.net>
10167 comment about refining the xml deps
10169 * docs/manuals.mak:
10170 comments about moving away from jade for docs
10173 recommit the ifdefs to use the binary registry
10175 * gst/gstbin.c: (gst_bin_change_state_func):
10176 this break is obsolete
10178 * gst/gstelementfactory.h:
10179 better GST_ELEMENT_DETAILS docs, add comment about translation
10184 * gst/gstobject.c: (gst_signal_object_get_type):
10185 add G_UNLIKELY as usual
10187 * gst/gstpad.c: (gst_pad_event_default):
10188 add fall trhu comment
10190 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10191 (gst_registry_binary_initialize_magic),
10192 (gst_registry_binary_save_string),
10193 (gst_registry_binary_save_pad_template),
10194 (gst_registry_binary_save_feature),
10195 (gst_registry_binary_save_plugin),
10196 (gst_registry_binary_write_cache),
10197 (gst_registry_binary_check_magic),
10198 (gst_registry_binary_load_pad_template),
10199 (gst_registry_binary_load_feature),
10200 (gst_registry_binary_load_plugin),
10201 (gst_registry_binary_read_cache):
10202 comment typo and formatting
10204 * gst/gstutils.c: (gst_element_state_get_name),
10205 (gst_element_state_change_return_get_name):
10206 remove obsolete breaks
10208 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10209 add FIXME 0.11 and remove cpp comment
10211 2007-01-29 Edward Hervey <edward@fluendo.com>
10213 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10214 Fix print statement in an even more portable way.
10216 2007-01-29 Tim-Philipp Müller <tim at centricular dot net>
10218 * docs/gst/gstreamer-sections.txt:
10220 API: add GST_ROUND_DOWN_* macros (#401781).
10222 2007-01-27 Tim-Philipp Müller <tim at centricular dot net>
10224 * docs/gst/gstreamer.types.in:
10225 * gst/gstregistry.c: (gst_registry_class_init):
10226 Document registry signals and make gtk-doc pick them up (#401381).
10228 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10230 * docs/pwg/building-testapp.xml:
10231 Add some audioconverts and audioresample to the pipeline, and some
10232 more comments and error handling.
10234 2007-01-26 Tim-Philipp Müller <tim at centricular dot net>
10236 * docs/manual/manual.xml:
10237 * docs/pwg/pwg.xml:
10238 Fix typo (#400987).
10240 2007-01-26 Wim Taymans <wim@fluendo.com>
10242 * gst/gstcaps.c: (gst_static_caps_get):
10243 Init caps flags too.
10245 2007-01-25 Sebastian Dröge <slomo@circular-chaos.org>
10247 Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10249 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10250 If not using mmap'ed files try to seek to the end instead of the
10251 start to determine whether we can seek at all. This fixes the case
10252 of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10253 seeks for everything afterwards fail. Fixes #400656
10255 2007-01-25 Wim Taymans <wim@fluendo.com>
10257 * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10258 Add some refcount debugging.
10259 Make gst_static_caps_get threadsafe, which is needed when autoplugging
10260 in multiple streaming threads.
10262 2007-01-25 Wim Taymans <wim@fluendo.com>
10264 Patch by: David Schleef <ds at schleef dot org>
10266 * docs/libs/gstreamer-libs-sections.txt:
10267 * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10268 * libs/gst/base/gstadapter.h:
10269 API: gst_adapter_copy() that can reduce the amount of memcpy when
10270 getting data from the adapter. Fixes #388201.
10272 2007-01-25 Edward Hervey <edward@fluendo.com>
10274 * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10275 In print statements, "%x" is for guint. Fixes build on macosx.
10277 2007-01-24 Edward Hervey <edward@fluendo.com>
10279 * plugins/elements/gstmultiqueue.c:
10280 (gst_multi_queue_loop):
10282 (single_queue_overrun_cb), (single_queue_underrun_cb),
10283 (single_queue_check_full), (gst_single_queue_new):
10284 Implement single queue growth system.
10285 This uses the extra-size properties, and will grow single queues by
10286 that much if one goes full whereas there are others empty. This is
10287 called extra-mode in the code.
10288 When a single queue's levels go back below the initial max-size
10289 limits, it is no longer in extra-mode. This is to ensure we don't
10290 consume too much memory.
10293 2007-01-23 Tim-Philipp Müller <tim at centricular dot net>
10295 * gst/gst.c: (gst_init_get_option_group):
10296 Make warning about late g_thread_init() calls a bit more explicit,
10297 so that it's more obvious to application developers what they need
10298 to do if a user files a bug against their application.
10300 2007-01-22 Edward Hervey <edward@fluendo.com>
10302 * plugins/elements/gstmultiqueue.c:
10303 (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10304 Remove previous hack of unsetting the flushing flag for the source pad
10305 instead of activating it. Instead, fix the source pad activate function
10306 so that it no longer depends on having a parent set or not.
10308 2007-01-22 Tim-Philipp Müller <tim at centricular dot net>
10310 Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10312 * docs/manual/basics-bus.xml:
10313 Fix example code, gst_element_unref() doesn't exist any longer.
10315 2007-01-21 Tim-Philipp Müller <tim at centricular dot net>
10317 Patch by: Mark Nauwelaerts <manauw at skynet be>
10320 Fix two docs typoes (#399094).
10322 2007-01-19 Edward Hervey <edward@fluendo.com>
10324 * docs/faq/gst-uninstalled:
10325 Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10326 depending on libgstbaseutils can work in uninstalled environment.
10328 2007-01-18 Stefan Kost <ensonic@users.sf.net>
10330 * gst/gsttaglist.h:
10331 * gst/gsttagsetter.c:
10332 Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10333 statement for new tag.
10335 2007-01-17 Edward Hervey <edward@fluendo.com>
10337 * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10338 When dynamically creating single queues, activate sinkpad before adding
10340 We should be doing the same thing for the source pad, but we can't
10341 since it would call a method which needs the parent to be set in order
10342 to work propertly. Instead of activating the source pad, we just unset
10343 the flushing flag, which is the minimal requirement for adding a pad
10344 to an element in a state greater than READY.
10346 2007-01-17 Edward Hervey <edward@fluendo.com>
10348 * docs/faq/gst-uninstalled:
10349 Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10352 2007-01-17 Tim-Philipp Müller <tim at centricular dot net>
10354 * tests/check/gst/gstabi.c:
10355 * tests/check/gst/struct_hppa.h:
10356 * tests/check/libs/libsabi.c:
10357 * tests/check/libs/struct_hppa.h:
10358 Add ABI structs for HPPA (see #393796).
10360 2007-01-16 Tim-Philipp Müller <tim at centricular dot net>
10362 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10363 Actually write ABI structs to the file specified in the GST_ABI
10364 environment variable, as the message we print claims we would.
10366 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10368 * tests/check/gst/gsttask.c:
10369 Fix header comment.
10371 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10373 * gst/gsttaglist.c: (_gst_tag_initialize):
10374 Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10375 previous two entries.
10377 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10379 * docs/gst/gstreamer-sections.txt:
10380 * gst/gsttaglist.c: (_gst_tag_initialize):
10381 * gst/gsttaglist.h:
10382 Add tag support for beat-per-minute.
10384 2007-01-15 Stefan Kost <ensonic@users.sf.net>
10386 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10387 (gst_registry_binary_initialize_magic),
10388 (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10389 (gst_registry_binary_save_pad_template),
10390 (gst_registry_binary_save_feature),
10391 (gst_registry_binary_save_plugin),
10392 (gst_registry_binary_write_cache),
10393 (gst_registry_binary_check_magic),
10394 (gst_registry_binary_load_pad_template),
10395 (gst_registry_binary_load_feature),
10396 (gst_registry_binary_load_plugin),
10397 (gst_registry_binary_read_cache):
10398 * gst/gstregistrybinary.h:
10399 Use glib types, cleanup comments, impement interfaces and uri-types.
10401 2007-01-13 Andy Wingo <wingo@pobox.com>
10403 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10404 getrange() to return buffers with other caps, while we fix
10405 demuxers and typefind, or otherwise change part-negotiation.txt.
10407 2007-01-12 Andy Wingo <wingo@pobox.com>
10409 * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10410 Factor start/stop into this private function instead of partially
10411 in activate functions and partially in the change_state function.
10412 Fixes setup before the element has changed from READY->PAUSED, as
10413 is the case in pull-mode pipelines.
10414 (gst_base_transform_sink_activate_push)
10415 (gst_base_transform_src_activate_pull): Refactor to use
10416 gst_base_transform_activate().
10417 (gst_base_transform_change_state): Removed, not needed any more.
10419 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10420 Truncate before fixating.
10422 * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10423 Don't set_caps() if the result of fixating is ANY, as it's not
10424 supported, and not necessary in the case of a link with no
10425 template caps on either side. Fixes tests/check/libs/basesrc in
10426 some pull-mode tests.
10428 * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10429 (gst_base_transform_init, gst_base_transform_sink_activate_push)
10430 (gst_base_transform_src_activate_pull):
10431 Track the activation mode.
10432 (gst_base_transform_setcaps): In pull mode, when activating the
10433 src pad, after activating the sink pad, activate the sink pad's
10434 peer, as discussed in part-negotiation.txt.
10436 * libs/gst/base/gstbasesrc.h:
10437 * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10438 vmethod, as in basesink.
10440 * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10442 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10443 mode, first proxy the setcaps to the peer pad.
10444 (gst_base_sink_pad_fixate): Add a fixate function that calls the
10445 new fixate vmethod.
10446 (gst_base_sink_default_activate_pull): Rename from
10447 gst_base_sink_activate_pull.
10448 (gst_base_sink_negotiate_pull): New function, performs negotiation
10449 in pull mode before calling ::activate_pull().
10450 (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10451 vmethod instead of the default implementation. I have no idea how
10452 this worked before. Negotiate before calling activate_pull.
10454 * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10455 sink pads in pull mode. In addition to being correct, fixes
10456 filesrc ! decodebin ! identity ! fakesink.
10457 (gst_pad_get_range, gst_pad_pull_range): Don't call
10458 gst_pad_set_caps() if the caps changes; instead error out with
10459 GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10461 2007-01-12 Andy Wingo <wingo@pobox.com>
10463 * docs/design/part-negotiation.txt: Update with more policy.
10465 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10467 * libs/gst/check/gstbufferstraw.h:
10468 * libs/gst/check/gstcheck.h:
10469 Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10472 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10474 * tests/check/Makefile.am:
10475 * tests/check/gst/.cvsignore:
10476 * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10477 (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10478 (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10479 (GST_START_TEST), (gst_tag_setter_suite):
10480 Add minimal unit test for beforementioned GstTagSetter bug.
10482 2007-01-12 Tim-Philipp Müller <tim at centricular dot net>
10484 Patch by: René Stadler <mail at renestadler dot de>
10486 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10487 gst_tag_list_merge() returns a new list, so it's not the best idea
10488 to ingore its return value. Effectively meant that tags could only
10489 be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10490 Also add function guard to require a non-NULL taglist as input (has
10491 always been so due to gst_tag_list_copy(), just making it explicit).
10493 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10495 * docs/random/draft-missing-plugins.txt:
10496 Some additions: mention new API that is supposed to be used at the
10497 various stages; short blob about new gst-inspect introspection
10498 option; mention potential future problem with plugins that have
10499 a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10501 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10503 * tools/gst-inspect.c:
10504 (print_plugin_automatic_install_info_codecs),
10505 (print_plugin_automatic_install_info_protocols),
10506 (print_plugin_automatic_install_info), (main):
10507 Add --print-plugin-auto-install-info option to gst-inspect, so we can
10508 introspect plugin files and get machine-parsable output that corresponds
10509 to the last bit of the missing-plugin installer string (small gotcha:
10510 doesn't take into account ranks).
10512 2007-01-11 Stefan Kost <ensonic@users.sf.net>
10515 * docs/gst/gstreamer-sections.txt:
10517 * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10518 (gst_registry_lookup_locked):
10519 * gst/gstregistry.h:
10520 * gst/gstregistrybinary.c: (gst_registry_binary_write),
10521 (gst_registry_binary_initialize_magic),
10522 (gst_registry_binary_save_string),
10523 (gst_registry_binary_save_pad_template),
10524 (gst_registry_binary_save_feature),
10525 (gst_registry_binary_save_plugin),
10526 (gst_registry_binary_write_cache),
10527 (gst_registry_binary_check_magic),
10528 (gst_registry_binary_load_pad_template),
10529 (gst_registry_binary_load_feature),
10530 (gst_registry_binary_load_plugin),
10531 (gst_registry_binary_read_cache):
10532 * gst/gstregistrybinary.h:
10533 * gst/gstregistryxml.c: (load_feature),
10534 (gst_registry_xml_read_cache):
10535 commit binary registry (disabled by default, see #359653)
10537 2007-01-11 Tim-Philipp Müller <tim at centricular dot net>
10539 * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10540 Fix 'make check' too.
10542 2007-01-10 Andy Wingo <wingo@pobox.com>
10544 * docs/design/part-negotiation.txt: Fix a typo, add a couple
10547 * docs/design/part-negotiation.txt: Update with, um, one way that
10548 pull-mode negotiation might work?
10551 * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10552 that the pad must be a src pad; makes sense to call it the other
10553 way in pull mode, and the logic is symmetric anyway.
10555 2007-01-10 Tim-Philipp Müller <tim at centricular dot net>
10557 * plugins/elements/gstfilesink.c:
10558 Include <stdio.h> for fseeko().
10560 2007-01-10 Wim Taymans <wim@fluendo.com>
10564 Reserve LATENCY event.
10566 2007-01-09 Wim Taymans <wim@fluendo.com>
10568 * docs/design/draft-latency.txt:
10571 2007-01-09 Wim Taymans <wim@fluendo.com>
10573 * docs/design/draft-latency.txt:
10576 * gst/gstelement.h:
10577 * gst/gststructure.c:
10581 2007-01-09 Tim-Philipp Müller <tim at centricular dot net>
10583 * tests/check/.cvsignore:
10584 Ignore test-registry.xml as well.
10586 2007-01-09 Wim Taymans <wim@fluendo.com>
10588 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10589 unref data at the end when we are done with the pad.
10591 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10593 * docs/gst/gstreamer-sections.txt:
10594 * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10595 (init_post), (gst_deinit), (gst_update_registry):
10597 API: add gst_update_registry() (#391296).
10599 * tests/check/Makefile.am:
10600 * tests/check/gst/gstregistry.c:
10601 * tests/check/gst/.cvsignore:
10602 Simple unit test for the above.
10604 2007-01-08 Tim-Philipp Müller <tim at centricular dot net>
10606 * gst/gstregistry.c: (gst_registry_scan_path_level):
10607 Plugin extension on HP-UX is .sl, add that to the list of approved
10608 plugin extensions (see #393796).
10610 * tests/check/gst/gstpad.c: (GST_START_TEST):
10611 ulong => gulong. Fixes compilation with HP-UX compiler.
10613 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10614 Fix compilation if valgrind headers are not available.
10616 2007-01-07 Sébastien Moutte <sebastien@moutte.net>
10618 * win32/common/libgstreamer.def:
10619 Add new exported function.
10620 * win32/vs6/libgstbase.dsp:
10621 Add gstdataqueue.c to the build.
10622 * win32/vs6/libgstcoreelements.dsp:
10623 Add gstmultiqueue.c to the build.
10625 2007-01-06 Andy Wingo <wingo@pobox.com>
10627 * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10628 activate_pull(), providing for a way to specialize the process of
10629 spawning a thread to pull on the sink pad. There is a default
10632 * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10633 (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10634 (gst_base_sink_init): Renamed pad activation functions (inserting
10635 "_pad" in their names). Refactor to use the new activate_pull
10636 vmethod, as appropriate.
10637 (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10638 default activate_pull function to start a task pulling from the
10639 sink pad, as before.
10641 * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10642 on the pads if necessary, as in push()/chain(). Update docs.
10643 Shouldn't affect existing pull() usage as it is currently only
10644 being used on buffers without caps.
10646 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10648 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10650 Call g_thread_init() first thing in gst_init() / gst_check_init().
10651 When initialisation is done via gst_init_get_option_group() and
10652 GOption parsing, issue a warning if the GLib thread system has not
10653 been initialised yet by the time gst_init_get_option_group() is
10654 called, as it's quite likely other GLib functions such as
10655 g_option_context_new() have been called already then, and
10656 g_thread_init() must be called before any other GLib function. The
10657 application in question must be fixed in that case, since memory
10658 corruption might happen otherwise.
10659 We issue the warning because even if the GLib folks decide to work
10660 around the problem on their end in future, this is still an issue
10661 with all GLib versions >= 2.10.0, so we should warn until we depend
10662 on a GLib version we know to be safe.
10663 Update documentation as well.
10664 Closes bug #391278.
10666 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10668 * tools/gst-inspect.c: (main):
10669 * tools/gst-launch.c: (main):
10670 * tools/gst-typefind.c: (main):
10671 * tools/gst-xmlinspect.c: (main):
10672 Call g_thread_init() really really early, before any other GLib
10673 function (see #342564 and recent discussion on gtk-devel-list).
10675 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10677 Patch by: Vincent Torri <vtorri at univ-evry dot fr>
10679 * gst/gst_private.h:
10680 * gst/gstconfig.h.in:
10682 On win32, all the __declspec stuff for symbol exporting is
10683 apparently only needed with MSVC, but doesn't work with MingW.
10684 Fixes compilation with MingW and #391909.
10686 2007-01-05 Tim-Philipp Müller <tim at centricular dot net>
10688 * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10689 Change some GST_ERROR_OBJECT that aren't really errors to
10690 GST_WARNING_OBJECT in order to reduce terminal spam.
10692 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10694 * tests/check/Makefile.am:
10695 disable test again, as there seem to be still race problems
10697 2007-01-04 Stefan Kost <ensonic@users.sf.net>
10699 * tests/check/Makefile.am:
10700 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10701 (GST_START_TEST), (queue_suite):
10702 enable queue test again, add tests for the leaky behaviour
10704 2007-01-02 Tim-Philipp Müller <tim at centricular dot net>
10707 * tests/examples/Makefile.am:
10708 Compile adapter test/example only if the required headers are
10709 available (fixes #391915).
10711 2007-01-01 David Schleef <ds@schleef.org>
10714 Restore the previous signal handler for SIGSEGV instead of
10715 setting to default, since we may have stolen it away from
10716 someone. (i.e., Mono)
10718 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10720 * docs/random/draft-missing-plugins.txt:
10721 Some small additions and clarifications.
10723 2006-12-26 Tim-Philipp Müller <tim at centricular dot net>
10725 * gst/gstregistryxml.c: (gst_registry_save_escaped):
10726 Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10727 since that can lead to random memory corruptions and crashes
10728 (may or may not be related to #383244, #386711, and #386711).
10730 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10732 * tests/check/.cvsignore:
10733 * tests/check/Makefile.am:
10734 sync .cvsignome and CLEANFILES
10736 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10738 * tests/check/Makefile.am:
10741 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10743 * docs/design/part-states.txt:
10744 two tiny additional comments
10746 * gst/gststructure.c:
10749 * tests/check/Makefile.am:
10750 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10752 disable test for now, unless it gets fixed
10754 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10756 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10758 fix race in underrun test
10760 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10762 * tests/check/elements/.cvsignore:
10765 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10767 try to narrow test failure
10769 2006-12-21 David Schleef <ds@schleef.org>
10771 * plugins/elements/gstfakesrc.c:
10772 Use g_random_int_range(), since it produces better random
10773 numbers in a range than almost-correct floating point code.
10775 2006-12-21 Stefan Kost <ensonic@users.sf.net>
10777 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10778 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10779 (gst_check_teardown_sink_pad):
10780 do not automatically (de)activate pads
10782 * tests/check/Makefile.am:
10783 * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10784 (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10785 add new, yet simple tests for queue
10787 * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10788 * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10789 * tests/check/elements/filesrc.c: (cleanup_filesrc),
10791 * tests/check/elements/identity.c: (cleanup_identity):
10792 consistent pad (de)activation
10794 2006-12-20 Tim-Philipp Müller <tim at centricular dot net>
10796 Patch by: Sebastian Dröge <slomo ubuntu com>
10798 * libs/gst/base/gstcollectpads.c:
10799 Fix two doc typos (#387866).
10801 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10803 * docs/manual/advanced-dparams.xml:
10804 Fix typo (g_object_control_properties() doesn't exist).
10806 2006-12-19 Edward Hervey <edward@fluendo.com>
10808 * gst/gstsegment.c: (gst_segment_set_seek):
10809 Fine tune the cases where the segment start/stop values are really
10811 * tests/check/gst/gstsegment.c: (GST_START_TEST):
10812 Add tests for the return values of gst_segment_set_seek().
10814 2006-12-19 Tim-Philipp Müller <tim at centricular dot net>
10819 * plugins/elements/gstqueue.c: (gst_queue_class_init),
10821 Fix incorrect documentation and flesh it out a bit more.
10822 Set default values for the max properties on the GParamSpec as well,
10823 so it shows up correctly in gst-inspect.
10825 2006-12-18 Stefan Kost <ensonic@users.sf.net>
10827 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10828 Correct docs of queue, add more detail and crosslink it more.
10830 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10832 * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10833 Print additional debug info when the stream isn't perfectly
10834 timestamped; don't try to use invalid durations.
10836 2006-12-16 Tim-Philipp Müller <tim at centricular dot net>
10838 * docs/design/Makefile.am:
10839 Dist new design docs.
10841 2006-12-16 Wim Taymans <wim@fluendo.com>
10843 Patch by: Sjoerd Simons <sjoerd at luon dot net>
10845 * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10846 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10847 (gst_collect_pads_stop), (gst_collect_pads_event),
10848 (gst_collect_pads_chain):
10849 * libs/gst/base/gstcollectpads.h:
10850 Add refcounting to the collectpads data so we can track when it's safe
10851 to free the data. Fixes #383382.
10853 2006-12-15 Wim Taymans <wim@fluendo.com>
10855 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10856 (gst_collect_pads_remove_pad):
10857 Automatically activate/deactivate pads when they are added to a
10858 started/stoped collectpads.
10860 2006-12-15 Wim Taymans <wim@fluendo.com>
10862 * gst/gstelement.c: (gst_element_add_pad):
10863 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10864 * gst/gstpad.c: (gst_pad_init):
10865 Set pads to FLUSHING when they are created. Check, warn and fix when a
10866 demuxer adds an inactive pad to itself when running. Fixes #339326.
10868 2006-12-15 Wim Taymans <wim@fluendo.com>
10870 * gst/gstelement.c: (gst_element_class_init),
10871 (gst_element_default_send_event), (gst_element_send_event),
10872 (gst_element_default_query), (gst_element_query):
10873 Expose default element send_event and query handling as vmethods that
10874 subclasses can chain up to.
10876 2006-12-15 Wim Taymans <wim@fluendo.com>
10878 * gst/gstelement.c: (gst_element_set_state_func):
10879 Small documentation fixes.
10881 2006-12-15 Wim Taymans <wim@fluendo.com>
10883 * docs/design/draft-latency.txt:
10884 Checked in draft for handling latency in pipelines.
10886 2006-12-15 Thomas Vander Stichele <thomas at apestaart dot org>
10890 * gstreamer.spec.in:
10893 2006-12-14 Tim-Philipp Müller <tim at centricular dot net>
10895 * gst/gst.c: (init_pre), (init_post):
10896 init_pre() and init_post() might be called via our GOptionGroup or
10897 from gst_init(), and we should skip both of them if we've already
10898 been initialised, otherwise we will init some things twice or add
10899 two default log functions.
10901 2006-12-13 Edward Hervey <edward@fluendo.com>
10903 * docs/manual/basics-bus.xml:
10904 No, gst_main_loop does not exist. Its g_main_loop.
10905 Discovered by somebody who abused the copy-paste technique of coding :)
10907 2006-12-13 Tim-Philipp Müller <tim at centricular dot net>
10909 * gst/gstghostpad.c:
10910 Log ghostpad debug stuff to the GST_PADS category as well rather
10911 than just to the default category.
10913 2006-12-12 Tim-Philipp Müller <tim at centricular dot net>
10916 * gst/gst.c: (init_pre):
10917 Add some basic system details such as OS and architecture
10918 to the debug output if possible, courtesy of uname().
10920 2006-12-11 Tim-Philipp Müller <tim at centricular dot net>
10922 * docs/gst/running.xml:
10923 Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10924 environment variables.
10926 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10928 * tests/check/gst/gstbin.c: (GST_START_TEST):
10929 It is acceptable to have a refcount of 2 or 3 at this point in the
10930 test, because the pipeline might be just posting its state_change
10931 message. The next line then waits for that message to appear using
10932 bus_poll, so that should be fine too.
10934 2006-12-09 Jan Schmidt <thaytan@mad.scientist.com>
10936 * gst/gst.c: (ensure_current_registry_forking):
10937 Ignore EINTR when reading from the child registry pipe.
10938 Explicitly ignore the return value from close, since it makes no
10941 * gst/gstminiobject.c: (gst_mini_object_ref),
10942 (gst_mini_object_unref):
10943 When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10945 * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10946 When removing cached plugins, remove their features too, so they're
10947 not visible after they've disappeared.
10949 * gst/gstutils.c: (prepare_link_maybe_ghosting):
10950 In the unlikely case that we are linking pads with no parents, don't
10951 crash trying to get the non-existent parent bin.
10953 * gst/parse/grammar.y:
10954 Output debug in the PIPELINE category
10956 2005-03-08 Wim Taymans <wim@fluendo.com>
10958 Patch by: René Stadler <mail at renestadler dot de>
10960 * gst/gstclock.c: (gst_clock_new_periodic_id):
10961 Reject invalid clock times for interval of periodic ids.
10964 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
10966 * gst/gstelementfactory.c: (gst_element_factory_create):
10967 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10968 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10969 * tools/gst-inspect.c: (print_element_info):
10970 Fix refcounting of gst_plugin_feature_load to match the docs.
10973 2006-12-07 Wim Taymans <wim@fluendo.com>
10975 * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10976 (gst_base_sink_get_position):
10977 Improve debugging of events.
10979 2006-12-07 Wim Taymans <wim@fluendo.com>
10981 Patch by: René Stadler <mail at renestadler dot de>
10983 * gst/gstclock.c: (gst_clock_id_wait):
10984 Make period ids add the interval to the origial requested time instead
10985 of the possibly updated time which can be wrong when there are multiple
10986 waiters for the same id. Fixes #382592.
10988 * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10989 (gst_system_clock_id_wait_jitter_unlocked),
10990 (gst_system_clock_id_wait_jitter):
10991 Fix restart in the async notify thread when an async entry is added to
10992 the front of the list. Fixes #381492.
10994 * tests/check/gst/gstsystemclock.c: (store_callback),
10995 (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10996 Added test for multiple async waits.
10997 Added test for async wait order.
10999 2006-12-07 Wim Taymans <wim@fluendo.com>
11001 * gst/gstbin.c: (gst_bin_query):
11002 Add some more docs about the POSITION query.
11004 2006-12-07 Jan Schmidt <thaytan@mad.scientist.com>
11007 Bump version nano - back to CVS.
11009 === release 0.10.11 ===
11011 2006-12-06 Jan Schmidt <thaytan@mad.scientist.com>
11014 releasing 0.10.11, "Love never runs on time"
11016 2006-12-01 Jan Schmidt <thaytan@mad.scientist.com>
11018 * win32/common/libgstbase.def:
11019 * win32/common/libgstreamer.def:
11020 * win32/vs8/libgstbase.vcproj:
11021 * win32/vs8/libgstcoreelements.vcproj:
11022 * win32/vs8/libgstreamer.vcproj:
11023 Fix compilation on win32 under VS8
11024 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11025 Partially fixes #381175
11027 2006-11-29 Jan Schmidt <thaytan@mad.scientist.com>
11029 * gst/gstvalue.c: (gst_value_compare_fraction):
11030 If someone is foolish enough to compare 2 fractions with denominator =
11031 0, return UNORDERED rather than aborting.
11033 2006-11-28 Edward Hervey <edward@fluendo.com>
11035 * libs/gst/base/Makefile.am:
11036 * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11037 (gst_data_queue_base_init), (gst_data_queue_class_init),
11038 (gst_data_queue_init), (gst_data_queue_new),
11039 (gst_data_queue_cleanup), (gst_data_queue_finalize),
11040 (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11041 (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11042 (gst_data_queue_is_empty), (gst_data_queue_is_full),
11043 (gst_data_queue_set_flushing), (gst_data_queue_push),
11044 (gst_data_queue_pop), (gst_data_queue_drop_head),
11045 (gst_data_queue_set_property), (gst_data_queue_get_property):
11046 * libs/gst/base/gstdataqueue.h:
11047 New GstDataQueue object for threadsafe queueing. Most useful for
11048 elements that need some queueing functionnality.
11049 * docs/libs/gstreamer-libs-docs.sgml:
11050 * docs/libs/gstreamer-libs-sections.txt:
11051 Insert documentation for GstDataQueue
11052 * plugins/elements/Makefile.am:
11053 * plugins/elements/gstelements.c:
11054 * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11055 (gst_multi_queue_class_init), (gst_multi_queue_init),
11056 (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11057 (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11058 (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11059 (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11060 (gst_multi_queue_loop), (gst_multi_queue_chain),
11061 (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11062 (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11063 (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11064 (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11065 (wake_up_next_non_linked), (compute_next_non_linked),
11066 (single_queue_overrun_cb), (single_queue_underrun_cb),
11067 (single_queue_check_full), (gst_single_queue_new):
11068 * plugins/elements/gstmultiqueue.h:
11069 New multiqueue element, using GstDataQueue. Used for queuing multiple
11071 Closes #344639 and #347785
11073 2006-11-22 Stefan Kost <ensonic@users.sf.net>
11075 * docs/pwg/advanced-types.xml:
11076 add more missing type details
11078 * tools/gst-run.c: (main):
11079 remove unused variable
11081 2006-11-21 Stefan Kost <ensonic@users.sf.net>
11083 * docs/libs/Makefile.am:
11084 * docs/libs/gstreamer-libs.types:
11085 add types of base classes to enable gobject specific stuff in the docs
11087 * docs/random/ensonic/embedded.txt:
11088 more ideas about isolating platform specific things
11090 2006-11-20 Wim Taymans <wim@fluendo.com>
11092 Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11094 * libs/gst/check/gstcheck.h:
11095 Fix compilation and running against 0.9.4. Fixes #377332.
11097 2006-11-20 Wim Taymans <wim@fluendo.com>
11099 * gst/gstsegment.c: (gst_segment_set_seek),
11100 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11101 (gst_segment_to_running_time):
11102 Fix boundary checking in to_running_time() and to_stream_time().
11105 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11106 stream and running time can now be calculated for the complete
11109 2006-11-15 Tim-Philipp Müller <tim at centricular dot net>
11111 * gst/gstpad.c: (gst_pad_push_event):
11112 Can't access event structure after giving away ownership of
11115 2006-11-15 Stefan Kost <ensonic@users.sf.net>
11117 * docs/random/ensonic/embedded.txt:
11118 * docs/random/ensonic/profiling.txt:
11119 * docs/random/ensonic/receipies.txt:
11122 2006-11-13 Wim Taymans <wim@fluendo.com>
11124 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11127 Fix documentation for gst_pad_dispatcher. Fixes #374475.
11129 2006-11-13 Wim Taymans <wim@fluendo.com>
11131 Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11133 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11134 Store new length in segment duration so we don't keep on calling the
11135 potentially expensize get_size() call. Fixes #370865.
11137 2006-11-10 Tim-Philipp Müller <tim at centricular dot net>
11139 Patch by: Sergey Scobich <sergey.scobich at gmail com>
11141 * win32/common/libgstreamer.def:
11142 Add two missing symbols (#366492).
11144 2006-11-10 Jan Schmidt <thaytan@mad.scientist.com>
11146 * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11147 (gst_adapter_take_buffer):
11148 Fix format string to use all its arguments.
11149 Remove useless >= check on a guint
11151 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11153 * tests/examples/adapter/.cvsignore:
11154 Ignore build file as commanded by the build-bot
11156 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11158 * tests/examples/adapter/Makefile.am:
11159 * tests/examples/adapter/adapter_test.c: (run_test_take),
11160 (run_test_take_buffer), (run_tests), (main):
11162 Add new files from the previous commit
11164 2006-11-09 Jan Schmidt <thaytan@mad.scientist.com>
11168 * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11169 (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11170 (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11171 * libs/gst/base/gstadapter.h:
11172 * tests/check/libs/adapter.c: (create_and_fill_adapter),
11173 (GST_START_TEST), (gst_adapter_suite):
11174 * tests/examples/Makefile.am:
11175 Do some optimisation work in GstAdapter to avoid copies in more cases.
11176 It could still do slightly better by merging buffers when
11177 gst_buffer_is_span_fast is true, but is already faster.
11179 Also, avoid traversing a single-linked list to append each incoming
11180 buffer inside the adapter.
11182 Add simple test app that times the adapter behaviour in different
11183 situations, and extend the unit test to check that bytes enter and
11184 exit the adapter in their original order.
11186 2006-11-08 Tim-Philipp Müller <tim at centricular dot net>
11188 * docs/random/draft-missing-plugins.txt:
11189 Update: use element message instead of adding a new message
11190 type to the core; don't provide GStreamer API to initiate the
11191 plugin download, just provide API to compose the strings needed
11192 and let an external libgimmestuff handle the rest.
11194 2006-11-08 Jan Schmidt <thaytan@mad.scientist.com>
11196 * tools/gst-inspect.c: (print_element_properties_info):
11197 Print a string instead of 'unknown type' for GValueArray properties
11199 2006-11-08 Christian F.K. Schaller <christian@fluendo.com>
11201 * docs/random/draft-missing-plugins.txt:
11204 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11206 * tests/examples/typefind/typefind.c: (type_found), (main):
11207 Make typefind element example work again (#371894); add a
11210 2006-11-07 Tim-Philipp Müller <tim at centricular dot net>
11212 * docs/random/draft-missing-plugins.txt:
11213 Commit initial draft about how to deal with missing plugins,
11214 needs work (API too).
11216 2006-11-07 Stefan Kost <ensonic@users.sf.net>
11218 * docs/pwg/advanced-types.xml:
11219 documents the new caps elements (see #363118)
11221 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11223 * gst/gstplugin.c: (gst_plugin_load_file):
11224 * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11225 (gst_file_src_map_region), (gst_file_src_start):
11226 * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11227 (gst_file_index_commit):
11228 Use g_strerror() instead of strerror() - we want UTF-8.
11230 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
11232 Patch by: Peter Kjellerstedt <pkj at axis com>
11234 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11235 Another printf fix (#371493).
11237 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11239 * tests/check/gst/gsttag.c:
11240 relicence (okay with author=company)
11242 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11244 * gst/gstpad.c: (gst_pad_event_default_dispatch),
11245 (gst_pad_push_event):
11246 Enhance debug and improve docs
11251 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11253 * docs/random/ensonic/distributed.txt:
11254 * docs/random/ensonic/profiling.txt:
11257 2006-11-06 Stefan Kost <ensonic@users.sf.net>
11259 * docs/gst/gstreamer-sections.txt:
11260 add new API and fix the build
11262 * gst/gstbin.c: (gst_bin_recalc_state):
11263 * gst/gstelement.c: (gst_element_message_full),
11264 (gst_element_get_state_func), (gst_element_set_state_func):
11265 use new API and improve logging
11267 * gst/gstutils.c: (gst_element_state_change_return_get_name):
11269 API: add function to get StateChangereturn names to improve logs
11271 2006-11-04 Thomas Vander Stichele <thomas at apestaart dot org>
11273 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11274 I'm considering shooting the next person to put strerror stuff
11275 in the translateable part of the message.
11277 2006-11-03 Wim Taymans <wim@fluendo.com>
11279 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11280 Get the type and printf conversion specifiers right.
11282 2006-11-03 Wim Taymans <wim@fluendo.com>
11284 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11286 * gst/gstpad.c: (gst_pad_init), (pre_activate),
11287 (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11288 (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11289 Some small cleanups. Improve debugging.
11291 Signal all waiting threads with a broadcast instead of just one.
11294 2006-11-03 Wim Taymans <wim@fluendo.com>
11296 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11297 (gst_fd_src_create):
11298 Add some debugging.
11299 Only update fd when it's different from the old.
11301 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11303 * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11304 Printf fixes for PPC/OSX, take two (#369366).
11306 2006-11-02 Tim-Philipp Müller <tim at centricular dot net>
11308 Based on patch by: Jan David Mol <j.j.d.mol at tudelft nl>
11310 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11311 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11312 (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11313 Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11314 don't cast to long long for portability reasons, but use
11315 GLib's types instead.
11317 2006-10-30 Michael Smith <msmith@fluendo.com>
11319 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11320 Get the arguments to lseek() the right way around.
11323 2006-10-30 Wim Taymans <wim@fluendo.com>
11325 Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11328 _declspec should be __declspec (two underscores, not one). Fixes 366572.
11330 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11332 Patch by: Kjartan Maraas <kmaraas at gnome org>
11334 * docs/design/part-MT-refcounting.txt:
11335 * docs/random/wtay/capsnego2-docs:
11338 Typo fixes (#366212).
11340 2006-10-28 Wim Taymans <wim@fluendo.com>
11342 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11345 * win32/common/libgstbase.def:
11346 * win32/common/libgstreamer.def:
11347 * win32/vs8/libgstbase.vcproj:
11348 * win32/vs8/libgstcontroller.vcproj:
11349 Add needed entries in .def files.
11351 Rearrange def files in vs8 solutions. Fixes #366286.
11353 2006-10-28 Tim-Philipp Müller <tim at centricular dot net>
11355 * win32/common/gstconfig.h:
11356 Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11357 hand-made win32 gstconfig.h. Fixes #366321.
11359 2006-10-27 Wim Taymans <wim@fluendo.com>
11361 * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11362 (gst_ghost_pad_new_full):
11363 Make acceptcaps return TRUE when we don't have a target, just like
11366 2006-10-27 Wim Taymans <wim@fluendo.com>
11368 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11369 Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11371 2006-10-26 Tim-Philipp Müller <tim at centricular dot net>
11373 * gst/gststructure.c: (gst_structure_id_set_value):
11374 If someone tries to set a non-UTF8 string field on a structure,
11375 don't just print a warning, but also ignore the request and do
11376 not change/add that field to the structure.
11378 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11379 Test for the above.
11381 2006-10-25 David Schleef <ds@schleef.org>
11384 g_hash_table_insert() needs a cast to a non-const pointer duh.
11386 2006-10-25 David Schleef <ds@schleef.org>
11390 Change name parameter of _gst_debug_register_funcptr to const
11391 to reflect the constness of its use in the function as well
11392 as to quiet a gcc warning.
11394 2006-10-25 Edward Hervey <edward@fluendo.com>
11396 * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11397 Don't push the buffer if it's empty.
11400 2006-10-24 Wim Taymans <wim@fluendo.com>
11405 * libs/gst/base/gstbasetransform.c:
11406 (gst_base_transform_sink_eventfunc):
11407 Debug segment values *after* updating them as this is more
11410 2006-10-23 Wim Taymans <wim@fluendo.com>
11412 * docs/design/part-events.txt:
11415 * docs/design/part-block.txt:
11416 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11417 (gst_pad_push_event):
11418 Revert BLOCKING patch, it tries to be smart without really having a
11419 clear idea what or how. So, now we discard all FLUSHING events again on
11420 a blocking pad. Should fix gnonlin again.
11422 2006-10-23 Wim Taymans <wim@fluendo.com>
11424 Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11426 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11427 (gst_base_src_start), (gst_base_src_activate_push):
11428 Make sure size is always initialized. Fixes #364388.
11430 2006-10-20 Stefan Kost <ensonic@users.sf.net>
11432 * docs/random/ensonic/distributed.txt:
11433 add some ideas about doing distributed processing
11435 * docs/random/ensonic/profiling.txt:
11436 get_rusage look promising
11438 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11440 * docs/manual/basics-helloworld.xml:
11441 Add a cast in example to fix compile warning
11443 2006-10-18 Wim Taymans <wim@fluendo.com>
11445 * gst/gstsegment.c: (gst_segment_set_last_stop),
11446 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11447 Relax arg checking again, -1 is allowed.
11449 2006-10-18 Wim Taymans <wim@fluendo.com>
11451 * gst/gstsegment.c: (gst_segment_set_last_stop),
11452 (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11453 _set_last_stop() must be with a value != -1
11454 A _TYPE_SET to -1 means seek to 0.
11455 Calc last_stop correctly for negative rates.
11456 Make sure we work with positive durations when updating a segment.
11458 2006-10-18 Wim Taymans <wim@fluendo.com>
11460 * docs/design/part-live-source.txt:
11464 2006-10-18 Tim-Philipp Müller <tim at centricular dot net>
11467 Add an explicit cast to GstBuffer** to keep old code that added an
11468 explicit cast to GstMiniObject** for gst_mini_object_replace()
11469 compiling without warning.
11471 2006-10-18 Stefan Kost <ensonic@users.sf.net>
11473 * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11474 check for validity of dates
11476 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11478 * docs/gst/gstreamer-sections.txt:
11479 Forgot this one, makes gtk-doc shut up.
11481 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11483 Patch by: Peter Kjellerstedt <pkj at axis com>
11486 Don't define xmlNodePtr to gpointer if the core was built with
11487 --disable-loadsave and --disable-registry, this will break
11488 applications that want to use libxml2 but are buildling against a
11489 core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11490 instead so we don't have to mess with the libxml2 namespace
11493 2006-10-17 Tim-Philipp Müller <tim at centricular dot net>
11496 Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11497 type-punned pointer warnings.
11499 2006-10-16 Tim-Philipp Müller <tim at centricular dot net>
11501 * gst/gstelement.h:
11502 Add casts to the correct return type to state <=> state transition
11505 2006-10-16 Stefan Kost <ensonic@users.sf.net>
11507 * docs/design/part-live-source.txt:
11508 describe howto handle latency
11510 * docs/random/ensonic/profiling.txt:
11513 * tools/gst-plot-timeline.py:
11514 fix log parsing for solaris, remove unused function
11516 2006-10-16 Wim Taymans <wim@fluendo.com>
11518 * docs/design/part-trickmodes.txt:
11520 Update some docs regarding reverse playback.
11522 2006-10-15 Tim-Philipp Müller <tim at centricular dot net>
11524 Patch by: Marcus Granado <mrc dot gran at gmail com>
11526 * win32/vs8/grammar.vcproj:
11527 Error out with a warning if glib-genmarshal.exe is not in path,
11528 instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11530 2006-10-13 Wim Taymans <wim@fluendo.com>
11532 * gst/gstsegment.c: (gst_segment_set_seek):
11533 When seeking to stop -1, set last_stop (current position) to the
11534 duration of the segment.
11536 2006-10-13 Wim Taymans <wim@fluendo.com>
11538 * gst/gstelement.h:
11539 Clarify _NO_PREROLL a bit more.
11544 * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11545 (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11546 (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11547 Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11548 due to wrong locking order. Fixes #361769.
11549 Remove some redundant/misplaced checks in pad_block.
11551 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11552 For negative rates, count backwards from the duration.
11554 2006-10-13 Tim-Philipp Müller <tim at centricular dot net>
11556 * gst/gsterror.c: (_gst_library_errors_init):
11557 Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11558 up with something better).
11560 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11562 * win32/vs6/libgstreamer.dsp:
11563 * win32/vs7/libgstreamer.vcproj:
11564 * win32/vs8/libgstreamer.vcproj:
11565 Don't reference glib-compat.c which is currently not used and not
11566 disted; add gstquark.c which was recently added. Fixes #361730.
11568 2006-10-12 Tim-Philipp Müller <tim at centricular dot net>
11570 * win32/common/libgstbase.def:
11571 * win32/common/libgstcontroller.def:
11572 * win32/common/libgstreamer.def:
11573 Add gst_caps_merge() and a bunch of other recently-added functions.
11576 2006-10-11 Wim Taymans <wim@fluendo.com>
11578 * docs/plugins/gstreamer-plugins.args:
11579 * docs/plugins/inspect/plugin-coreelements.xml:
11580 * docs/plugins/inspect/plugin-coreindexers.xml:
11581 Update element args.
11583 * gst/gstsystemclock.c:
11584 Small comment update.
11586 * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11587 (gst_tee_request_new_pad), (gst_tee_release_pad),
11588 (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11589 (gst_tee_sink_activate_pull):
11590 * plugins/elements/gsttee.h:
11592 Add default property defines.
11593 Implement release pad function.
11594 Give properties better blubs etc.
11595 Activate pads before adding them to a running tee.
11596 Do simple buffer_alloc on the first requested pad.
11597 Post error when activation fails.
11599 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11601 * gst/gst.c: (ensure_current_registry_forking):
11602 Check return value of write() to make compiler happy.
11604 2006-10-11 Wim Taymans <wim@fluendo.com>
11606 Patch by: Sjoerd Simons <sjoerd at luon dot net>
11608 * plugins/elements/gstqueue.c: (gst_queue_chain):
11609 Recheck queue filledness after signalling the overrun when we're about
11610 to leak downstream because we released the lock when emitting the signal
11611 and the queue could be empty again. Fixes #352345.
11613 2006-10-11 Tim-Philipp Müller <tim at centricular dot net>
11615 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11616 Fix refcounting here too, just like we did for _new_valist() a few
11617 days ago (#357180) (thanks to René Stadler). Also remove all those
11618 'Since: 0.9' from the gtk-doc blobs.
11620 * tests/check/libs/controller.c: (controller_refcount_new_list),
11621 (gst_controller_suite):
11622 Unit test for the above.
11624 2006-10-10 Wim Taymans <wim@fluendo.com>
11626 Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11628 * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11629 (gst_pad_save_thyself):
11631 Write pad direction in XML output. Fixes #345496.
11633 2006-10-10 Wim Taymans <wim@fluendo.com>
11635 Patch by: René Stadler <mail at renestadler dot de>
11637 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11638 (gst_controller_new_list), (_gst_controller_dispose),
11639 (_gst_controller_finalize), (_gst_controller_class_init):
11640 Take ref to controlled object so that it cannot disappear.
11643 2006-10-10 Wim Taymans <wim@fluendo.com>
11645 * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11646 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11647 (gst_check_teardown_sink_pad):
11648 Activate/deactivate pads in setup/teardown respectively.
11650 2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11652 Patch by: Josep Torra Valles <josep@fluendo.com>
11655 Cast values when making gstenumtypes.h. This pacifies Forte
11656 so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11657 in the enumeration.
11659 2006-10-09 Wim Taymans <wim@fluendo.com>
11661 * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11662 Rename some more @cur to @start to fix docs.
11664 * gst/gstsegment.c: (gst_segment_set_seek):
11666 time and start must always stay in sync as defined in design doc.
11668 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11669 Rename param to fix docs.
11671 * tests/check/gst/gstsegment.c: (GST_START_TEST):
11672 Check that start and time are in sync.
11674 * tests/check/pipelines/parse-launch.c:
11675 (gst_parse_test_element_change_state):
11676 Activate pad before adding to the element.
11678 2006-10-09 Wim Taymans <wim@fluendo.com>
11680 * docs/design/part-qos.txt:
11685 Update seek event docs regarding negative rates.
11686 Rename @cur to @start.
11688 * gst/gstsegment.c: (gst_segment_set_seek):
11689 * gst/gstsegment.h:
11690 Update set_seek docs regarding negative rates.
11691 Correctly update last_stop to @stop when dealing with negative
11693 Rename @cur to @start.
11695 * tests/check/gst/gstpad.c: (GST_START_TEST):
11696 Activate pads before trying to use them.
11698 * tests/check/gst/gstsegment.c: (GST_START_TEST),
11699 (gst_segment_suite):
11700 Add simple check for segments and negative rates.
11702 2006-10-09 Tim-Philipp Müller <tim at centricular dot net>
11704 * gst/gsttaglist.c: (gst_tag_list_is_empty):
11705 * gst/gsttaglist.h:
11706 * docs/gst/gstreamer-sections.txt:
11707 API: add gst_tag_list_is_empty() (#360467).
11709 * tests/check/gst/gsttag.c: (GST_START_TEST):
11712 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11714 * gst/gstmessage.h:
11715 Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11716 a value that doesn't fit on enumeration.
11718 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11720 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11721 Remove local debugging system and use Gstreamer's instead.
11723 2006-10-09 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11725 Patch by: Josep Torra Valles <josep@fluendo.com>
11727 * common/m4/gst-error.m4:
11728 Disable warning of statement not reached on Forte.
11729 * gst/gstmessage.h:
11730 Fix warning on Forte (value doesn't fit on enumeration).
11731 * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11732 Fix warning on Forte (value doesn't fit on enumeration).
11733 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11734 DEBUG macro says it takes minimum of 2 args and so Forte
11735 complains about the use with just 1 arg.
11736 * plugins/elements/gstfdsink.c:
11737 * plugins/elements/gstfdsrc.c:
11738 * plugins/elements/gstfilesink.c:
11739 * plugins/elements/gstfilesrc.c:
11740 Use correct return type for the uri handler implementations.
11742 All these fix warnings in Forte. Fixes bug #360860.
11744 2006-10-08 Tim-Philipp Müller <tim at centricular dot net>
11746 * gst/gstelement.h:
11747 gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11748 format string, so don't use G_GNUC_PRINTF for those versions.
11750 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11752 * gst/gsttaglist.c: (gst_is_tag_list):
11753 * gst/gsttaglist.h:
11754 Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11756 * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11757 Small test for the above.
11759 2006-10-07 Tim-Philipp Müller <tim at centricular dot net>
11761 * gst/gsttaglist.h:
11762 Less tabs, more spaces.
11764 2006-10-06 Tim-Philipp Müller <tim at centricular dot net>
11767 Those two function declarations do actually belong there, revert
11768 commit from yesterday that turned them intro macros.
11770 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11772 Patch by: Josep Torra Valles <josep@fluendo.com>
11774 * gst/gst.c: (gst_init_get_option_group):
11775 Fix empty declaration and type mismatch.
11776 * gst/gstbin.c: (gst_bin_change_state_func):
11778 * gst/gstelement.c: (gst_element_continue_state),
11779 (gst_element_set_state_func), (gst_element_change_state),
11780 (gst_element_change_state_func):
11781 Fix type mismatches.
11782 * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11783 (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11784 Cast as appropriate.
11785 * gst/gstobject.c: (gst_class_signal_connect):
11786 Cast as appropriate. The function pointer parameter really
11787 has the wrong type but would break API if we change it.
11789 Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11790 order of including string.h.
11791 * gst/gstutils.c: (gst_element_state_get_name):
11792 Remove unreachable line.
11793 * gst/gstxml.c: (gst_xml_parse_doc):
11795 All these caught by Forte.
11797 2006-10-06 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11799 Patch by: Josep Torra Valles <josep@fluendo.com>
11801 * common/m4/gst-error.m4:
11803 We need to disable warnings on Forte for empty declarations
11804 due to gst-indent adding ;s to lines that just use macros
11805 where the macro actually doesn't need a ; at end to end
11808 2006-10-06 Wim Taymans <wim@fluendo.com>
11810 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11811 (gst_file_sink_close_file), (gst_file_sink_event),
11812 (gst_file_sink_render):
11813 Add some FIXME for the NEWSEGMENT handling.
11815 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11817 * gst/parse/grammar.y:
11818 Remove static function gst_parse_element_lock as all it does
11819 is return. Looks like cruft from 0.8.
11821 2006-10-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
11823 Patch by: Josep Torra Valles <josep@fluendo.com>
11825 * common/m4/gst-error.m4:
11827 * libs/gst/net/Makefile.am:
11828 Fix a compilation issue with Forte on Solaris. inet_aton is in
11831 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11833 * gst/gstpad.c: (pre_activate):
11834 * gst/gstregistry.c: (gst_registry_scan_path_level):
11835 * gst/gstregistryxml.c: (load_plugin):
11836 * libs/gst/controller/gstcontroller.c:
11837 (gst_controlled_property_set_interpolation_mode):
11838 * libs/gst/dataprotocol/dataprotocol.c:
11839 (gst_dp_packet_from_event_1_0):
11840 * libs/gst/net/gstnetclientclock.c:
11841 (gst_net_client_clock_observe_times):
11842 * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11845 2006-10-05 Tim-Philipp Müller <tim at centricular dot net>
11848 * docs/gst/gstreamer-sections.txt:
11849 * gst/gstconfig.h.in:
11850 * gst/gstelement.h:
11852 Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11853 whether we can use G_GNUC_PRINTF in other header files and at
11854 least check the printf format/arguments of debug messages and
11855 GST_ELEMENT_ERROR messages when the printf extension is not
11857 Replace more tabs with spaces in gstinfo.h and remove two spurious
11858 function declarations in GST_DISABLE_DEBUG part with macros.
11860 2006-10-03 Tim-Philipp Müller <tim at centricular dot net>
11862 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11863 More docs for the sync-message signal (mention that it is not
11864 emitted by default); log message structures of messages posted on
11867 2006-10-03 Jan Schmidt <thaytan@mad.scientist.com>
11869 * gst/gst.c: (ensure_current_registry_forking):
11870 Use a pipe pair to receive status results from the forked child, and
11871 ignore the result from waitpid. Fixes #355499
11873 2006-10-02 Wim Taymans <wim@fluendo.com>
11875 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11876 (gst_ghost_pad_suite):
11879 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11882 Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11884 2006-10-02 Edward Hervey <edward@fluendo.com>
11886 * docs/design/part-block.txt:
11887 Further explain the use of flushing on blocked pads.
11888 * docs/gst/gstreamer-sections.txt:
11889 * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11890 (gst_pad_push_event):
11892 Added new GstPadFlag : GST_PAD_BLOCKING.
11893 Adds the notion of pads really blocking, which enables to properly
11894 handle FLUSH_START/FLUSH_STOP events on blocked pads.
11896 API: gst_pad_is_blocking()
11897 API: GST_PAD_IS_BLOCKING() macro
11898 API: GST_PAD_BLOCKING GstPadFlag
11900 2006-10-02 Wim Taymans <wim@fluendo.com>
11902 Patch by: mrcgran <mrc.gran at gmail dot com>
11904 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11905 Filter the proxied caps against the padtemplate if we have one.
11907 * gst/gstquery.c: (gst_query_new_segment):
11908 Add include for gstinfo.h so that compilation with
11909 -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11911 2006-10-02 Wim Taymans <wim@fluendo.com>
11913 Patch by: Alessandro Decina <alessandro at nnva org>
11915 * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11916 (gst_file_sink_set_location), (gst_file_sink_open_file),
11917 (gst_file_sink_close_file), (gst_file_sink_event),
11918 (gst_file_sink_render):
11919 Set file to NULL when closing filesink so that we can set a new filename
11920 in READY. Fixes #358613.
11922 2006-10-02 Tim-Philipp Müller <tim at centricular dot net>
11924 Patch by: Alessandro Decina <alessandro at nnva org>
11926 * gst/gstevent.c: (_gst_event_copy):
11927 Fix gst_mini_object_make_writable() and gst_event_copy() for events
11928 with event structures by setting the parent refcount address of the
11929 copied structure to the address of the refcount member of the newly
11930 copied event rather than the address of the refcount member of the
11931 original event. Fixes #358737.
11933 * tests/check/gst/gstevent.c: (GST_START_TEST):
11934 Unit test for the above.
11936 2006-09-29 Stefan Kost <ensonic@users.sf.net>
11938 * docs/design/Makefile.am:
11939 Dist some more files.
11941 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11943 * tests/check/libs/controller.c: (GST_START_TEST),
11944 (gst_controller_suite):
11945 Add test for the previous fix; add some more tests
11946 for correct refcounting behaviour; fix a few leaks
11947 in test cases; call gst_controller_init() at start
11950 2006-09-29 Tim-Philipp Müller <tim at centricular dot net>
11952 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11953 (gst_controller_set_from_list):
11954 Don't g_return_val_if_fail() on timed values with invalid timestamps
11955 inside a critical section without unlocking the mutex. Spotted by
11956 René Stadler. (#357617)
11957 Also, fix up refcounting properly: when returning an existing
11958 controller, we should increase the reference only once and not
11959 once per property and when trying to control a property again
11960 we should also increase the refcount.
11962 2006-09-29 Wim Taymans <wim@fluendo.com>
11964 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11965 * libs/gst/net/gstnettimeprovider.c:
11966 (gst_net_time_provider_thread):
11967 Stop reading commands when EOF as well.
11969 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11970 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11971 * plugins/elements/gstidentity.c: (gst_identity_class_init):
11972 Unify description of the dump property.
11974 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11976 * tests/examples/manual/.cvsignore:
11977 OK, so it's actually cvsignore that needs changing. Stop laughing.
11979 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11981 * tests/examples/manual/Makefile.am:
11982 Gah, declare vars *before* using them
11984 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
11986 * gst/gst.c: (init_pre), (scan_and_update_registry),
11987 (ensure_current_registry_nonforking),
11988 (ensure_current_registry_forking), (ensure_current_registry),
11989 (init_post), (gst_debug_help), (gst_deinit):
11990 * gst/gst_private.h:
11991 * gst/gstregistry.c: (gst_registry_finalize),
11992 (gst_registry_remove_features_for_plugin_unlocked),
11993 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11994 (gst_registry_scan_path),
11995 (_priv_gst_registry_remove_cache_plugins),
11996 (_priv_gst_registry_cleanup):
11997 * gst/gstregistry.h:
11998 Re-commit the registry changes, along with an extra fix:
11999 When a cached plugin is encountered at a different file path,
12000 update the stored path in the registry cache so that the parent
12001 process knows where it actually is now when it re-reads the registry
12002 cache. Fixes the thing that broke distcheck with the previous commit.
12004 * tests/check/Makefile.am:
12005 Clean up files named 'core' too when running make clean.
12007 * tests/examples/manual/Makefile.am:
12008 Set up a registry path for running these tests, and clean it properly
12011 2006-09-28 Jan Schmidt <thaytan@mad.scientist.com>
12014 Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12015 want gmodule-no-export-2.0.pc instead so that we don't drag in
12016 --export-dynamic on every project that links to GStreamer.
12018 Also, make our export regex only match the start of symbols, rather
12019 than any symbol that contains '_gst' somewhere.
12021 * libs/gst/check/Makefile.am:
12022 The libgstcheck we build does however need export-dynamic, as it
12023 produces some symbols that don't match our _gst... style regex.
12026 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12028 * gst/gst.c: (init_pre), (scan_and_update_registry),
12029 (ensure_current_registry_nonforking),
12030 (ensure_current_registry_forking), (ensure_current_registry),
12031 (init_post), (gst_debug_help), (gst_deinit):
12032 * gst/gst_private.h:
12033 * gst/gstregistry.c: (gst_registry_finalize),
12034 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12035 (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12036 (_gst_registry_cleanup):
12037 * gst/gstregistry.h:
12038 Revert previous change until I figure out why it breaks distcheck.
12040 2006-09-27 Jan Schmidt <thaytan@mad.scientist.com>
12042 * gst/gst.c: (init_pre), (scan_and_update_registry),
12043 (ensure_current_registry_nonforking),
12044 (ensure_current_registry_forking), (ensure_current_registry),
12045 (init_post), (gst_debug_help), (gst_deinit):
12047 Make init_pre and init_post take the full complement of GOptionFunc
12048 args so they can return useful GErrors. Make the registry updating
12051 Call _priv_gst_registry_remove_cache_plugins after scanning files to
12052 ensure that the registry we're about to write out doesn't contain
12053 stale information about old-deleted plugin files.
12055 Make _priv_gst_registry_remove_cache_plugins return a boolean so
12056 that deletion of plugin files is considered a registry change.
12058 * gst/gst_private.h:
12059 * gst/gstregistry.c: (gst_registry_finalize),
12060 (gst_registry_remove_features_for_plugin_unlocked),
12061 (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12062 (gst_registry_scan_path),
12063 (_priv_gst_registry_remove_cache_plugins),
12064 (_priv_gst_registry_cleanup):
12065 * gst/gstregistry.h:
12066 Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12067 by adding _priv prefix, so that they won't appear in the global
12068 symbol table. They still do atm though because of #318031. Move the
12069 prototypes to gst_private.h
12071 When removing a plugin, remove all features for that plugin too.
12074 2006-09-27 Wim Taymans <wim@fluendo.com>
12076 * docs/random/moving-plugins:
12077 Make it clear that the "compiled-in descriptions" really mean
12078 the element details.
12080 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12081 (gst_base_sink_wait_preroll):
12084 * docs/libs/gstreamer-libs-sections.txt:
12085 * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12086 (gst_base_src_get_range), (gst_base_src_activate_push):
12087 * libs/gst/base/gstbasesrc.h:
12088 Added function to block while waiting for PLAYING, this function
12089 is used by live sources that block on the clock.
12090 API: gst_base_src_wait_playing()
12092 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12094 Patch by: Peter Kjellerstedt <pkj at axis com>
12097 gst-element-check.m4 is generated and should therefore be
12098 copied from the build dir rather than the source dir (#357593).
12099 'make distcheck' hasn't noticed this because we were disting
12100 the file as well, so stop doing that.
12102 2006-09-27 Tim-Philipp Müller <tim at centricular dot net>
12104 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12105 Add some tests for gst_caps_intersect().
12107 * tools/gst-launch.c: (event_loop):
12108 Print all buffering percentages we get, even the 100% one.
12110 2006-09-26 Wim Taymans <wim@fluendo.com>
12112 * tools/gst-inspect.c: (print_element_properties_info),
12113 (print_signal_info):
12114 Fix printing of flags to match the look of enums.
12116 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12118 * gst/gstelementfactory.c:
12119 Fix typo in docs blurb.
12121 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12123 * gst/gsturi.c: (search_by_entry):
12124 Don't assert/crash here if a uri handler doesn't return any
12125 supported protocols. The list of protocols could be generated
12126 dynamically at runtime or at plugin registration, and an error
12127 in the underlying library shouldn't be fatal (#353301).
12129 2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
12132 Fix warning if HAVE_PRINTF_EXTENSION is undefined
12133 (spotted by Peter Kjellerstedt).
12135 2006-09-23 Wim Taymans <wim@fluendo.com>
12137 Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12139 * libs/gst/base/gstbasesrc.c:
12140 (gst_base_src_default_check_get_range), (gst_base_src_start),
12141 (gst_base_src_activate_push), (gst_base_src_activate_pull),
12142 (gst_base_src_change_state):
12143 Match _start/_stop calls in the activate functions. Remove redundant
12144 _stop call from the state change function. Fixes #356910.
12145 Turn failure DEBUG into ERROR.
12147 2006-09-22 Wim Taymans <wim@fluendo.com>
12149 * docs/design/part-buffering.txt:
12150 * gst/gstmessage.c: (gst_message_new_buffering),
12151 (gst_message_parse_buffering):
12152 Update docs about buffering.
12154 * docs/design/part-trickmodes.txt:
12157 2006-09-22 Stefan Kost <ensonic@users.sf.net>
12159 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12160 (gst_controller_new_list):
12161 Ref instances when returning them again (fixes #357180)
12163 2006-09-22 Tim-Philipp Müller <tim at centricular dot net>
12165 * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12166 Don't forget to release proxy lock when there's an error.
12168 2006-09-20 Jan Schmidt <thaytan@mad.scientist.com>
12171 Add extra initialisers for Caps things, to fix some plugin warnings
12174 2006-09-18 Wim Taymans <wim@fluendo.com>
12176 * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12177 Also set template on the internal pad so that a getcaps from the
12178 target pad returns the template caps.
12180 2006-09-18 Wim Taymans <wim@fluendo.com>
12182 * gst/gstelement.c: (gst_element_post_message),
12183 (gst_element_dispose):
12184 Use _DEBUG_OBJECT some more.
12186 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12189 * tools/gst-launch.c: (main):
12190 If the toplevel element is not a GstPipeline, it must be put in a
12191 pipeline so that a bus and clock is selected.
12193 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12195 * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12196 JITTER, RATE, and LATENCY query should be handled by the
12197 default case and not by the CONVERT query code.
12199 2006-09-17 Tim-Philipp Müller <tim at centricular dot net>
12201 * gst/gstformat.c: (gst_format_register):
12202 Fix locking order (must take lock before using n_values).
12204 * gst/gstvalue.c: (gst_value_serialize_enum),
12205 (gst_value_deserialize_enum_iter_cmp),
12206 (gst_value_deserialize_enum):
12207 Fix serialisation/deserialisation of custom registered GstFormats.
12209 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12210 Unit test for custom format serialisation/deserialisation.
12212 2006-09-17 Stefan Kost <ensonic@users.sf.net>
12214 * docs/pwg/building-boiler.xml:
12215 * plugins/elements/gstcapsfilter.c:
12216 More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12219 2006-09-16 Edward Hervey <edward@fluendo.com>
12221 * libs/gst/base/gstbasetransform.c:
12222 (gst_base_transform_buffer_alloc):
12223 Check if requested caps are the same as the sinks caps IF
12224 ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12226 This fixes the renegotiation issues stated in #352827.
12228 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12231 * docs/manual/advanced-autoplugging.xml:
12232 * tests/examples/Makefile.am:
12233 * tests/examples/manual/.cvsignore:
12234 * tests/examples/manual/Makefile.am:
12235 * tests/examples/manual/extract.pl:
12236 Extract the manual examples again like we used to do.
12239 2006-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
12241 * win32/common/config.h:
12244 2006-09-16 Stefan Kost <ensonic@users.sf.net>
12247 Documents how to receive errors.
12249 2006-09-15 Wim Taymans <wim@fluendo.com>
12251 * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12252 (event_loop), (main):
12253 Added some comments here and there.
12254 Post an application message when an interrupt is caught instead of doing
12255 an uncontrolled state change.
12256 Clean up the event loop.
12257 Handle buffering messages, pause/resume the pipeline.
12258 Make shutdown because of an interrupt more reliable.
12260 2006-09-15 Wim Taymans <wim@fluendo.com>
12262 * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12263 (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12264 (gst_base_sink_preroll_object):
12265 Make sure that our internal state is correct when we commit our state
12266 asynchronously. This solves a race where a state change to PLAYING
12267 could cause the sink to remain blocked in preroll in some situations.
12269 2006-09-15 Wim Taymans <wim@fluendo.com>
12271 * tools/gst-inspect.c: (print_element_properties_info),
12272 (print_signal_info):
12273 List flags as hex so it's easier to deal with.
12275 2006-09-15 Wim Taymans <wim@fluendo.com>
12277 * docs/libs/gstreamer-libs-sections.txt:
12278 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12279 (gst_base_sink_do_sync):
12280 * libs/gst/base/gstbasesink.h:
12281 Expose logic to wait for preroll so that subclasses such as audiosink
12282 can also use this method.
12283 API: gst_base_sink_wait_preroll()
12285 2006-09-15 Wim Taymans <wim@fluendo.com>
12287 * gst/gstobject.c: (gst_object_set_parent):
12288 * gst/gstpipeline.c: (do_pipeline_seek):
12289 Small cleanups in docs and code.
12291 * gst/gstsegment.c: (gst_segment_clip):
12292 * tests/check/gst/gstsegment.c: (GST_START_TEST):
12293 if stop == start and start is in the segment, no clipping should be
12294 done. Also add a test for this.
12296 2006-09-15 Wim Taymans <wim@fluendo.com>
12298 * docs/design/part-buffering.txt:
12299 * docs/gst/gstreamer-sections.txt:
12300 * gst/gstmessage.c: (gst_message_new_buffering),
12301 (gst_message_parse_buffering):
12302 * gst/gstmessage.h:
12303 Added methods to create and parse BUFFERING messages.
12304 Added preliminary docs about buffering.
12305 API: gst_message_new_buffering
12306 API: gst_message_parse_buffering
12308 2006-09-06 Wim Taymans <wim@fluendo.com>
12311 Update documentation.
12313 * gst/gstelement.c: (gst_element_class_init),
12314 (gst_element_release_request_pad), (gst_element_set_clock),
12315 (gst_element_get_index), (gst_element_add_pad),
12316 (gst_element_remove_pad), (gst_element_get_random_pad),
12317 (gst_element_send_event), (gst_element_get_query_types),
12318 (gst_element_query), (gst_element_post_message),
12319 (gst_element_message_full), (gst_element_continue_state),
12320 (gst_element_lost_state), (gst_element_save_thyself),
12321 (gst_element_restore_thyself):
12322 Documentation updates.
12323 Rename last bit of the new-pad -> pad-added signal rename.
12324 Fix the case where an element query would only work if the source
12326 Avoid some useless type checking in message handling.
12331 Documentation updates.
12333 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12335 * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12336 add an INFO line for when we actually update the fd
12338 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12343 === release 0.10.10 ===
12345 2006-09-14 Thomas Vander Stichele <thomas at apestaart dot org>
12348 releasing 0.10.10, "Pais"
12350 2006-09-05 Tim-Philipp Müller <tim at centricular dot net>
12352 * docs/manual/advanced-position.xml:
12353 Fix typo in sample code.
12355 2006-09-05 Wim Taymans <wim@fluendo.com>
12357 * libs/gst/net/gstnetclientclock.c: (inet_aton),
12358 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12359 (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12360 * libs/gst/net/gstnetclientclock.h:
12361 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12362 * libs/gst/net/gstnettimepacket.h:
12363 * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12364 (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12365 (gst_net_time_provider_thread), (gst_net_time_provider_new):
12366 * libs/gst/net/gstnettimeprovider.h:
12367 Make stuff compile on windows. Fixes #345295.
12369 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12371 * gst/gst.c: (ensure_current_registry_forking):
12372 Print better details when child was terminated by signal.
12374 2006-09-03 Tim-Philipp Müller <tim at centricular dot net>
12376 * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12377 Print a warning rather than g_assert() if a plugin feature
12378 is a URI handler but returns no protocols (#353976).
12380 2006-09-02 Stefan Kost <ensonic@users.sf.net>
12382 * docs/random/moving-plugins:
12385 2006-09-01 Tim-Philipp Müller <tim at centricular dot net>
12387 * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12388 Fix locking order, handle NULL function values properly.
12393 * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12394 Initialise variable before using it and fix debug statement to
12395 print the address of the function rather than the address of the
12396 variable on the stack holding the address of the function.
12398 2006-09-01 Wim Taymans <wim@fluendo.com>
12400 * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12401 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12402 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12403 (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12404 (gst_ghost_pad_parent_unset),
12405 (gst_ghost_pad_internal_do_activate_push),
12406 (gst_ghost_pad_internal_do_activate_pull),
12407 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12408 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12409 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12410 (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12411 (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12412 (gst_ghost_pad_new_no_target_from_template),
12413 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12415 Avoid needless typechecking in macros.
12416 Since the internal pad is always present and never changes, there is
12417 no need to locking or ref when retrieving it.
12418 Improve debugging a bit.
12419 Handle link errors when setting the target. Fixes #341029.
12421 2006-09-01 Wim Taymans <wim@fluendo.com>
12423 * docs/libs/gstreamer-libs-sections.txt:
12424 * docs/plugins/gstreamer-plugins-sections.txt:
12425 Fix docs some more.
12427 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12428 (gst_collect_pads_event):
12429 * libs/gst/base/gstcollectpads.h:
12430 Documentation updates.
12431 Free queued buffer when removing a pad.
12433 2006-08-31 Michael Smith <msmith@fluendo.com>
12435 * gst/gstutils.c: (gst_element_link_pads),
12436 (gst_element_link_pads_filtered):
12437 Ensure that we set a capsfilter to NULL if we failed to link it
12438 when doing filtered linking, to avoid criticals.
12440 No need to check for unreffing srcpad, which is explicly NULLed
12441 above (a trivial code cleanup).
12443 2006-08-31 Wim Taymans <wim@fluendo.com>
12445 * docs/design/part-gstghostpad.txt:
12446 Update ascii art in documentation.
12448 * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12449 (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12450 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12451 (gst_ghost_pad_internal_do_activate_push),
12452 (gst_ghost_pad_internal_do_activate_pull),
12453 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12454 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12455 (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12456 (gst_ghost_pad_set_target):
12457 Small cleanups and leak fixes.
12458 Remove some checks now that the internal pad is never NULL.
12459 Fix the case where linking pads without a target would create nasty
12460 criticals. Fixes #341029.
12461 Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12462 value of _set_target().
12464 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12465 (gst_ghost_pad_suite):
12466 Some more tests for creating and linking untargeted ghostpads.
12468 2006-08-31 Edward Hervey <edward@fluendo.com>
12470 * docs/gst/gstreamer-sections.txt:
12471 * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12472 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12473 (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12474 (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12475 (gst_ghost_pad_new_from_template),
12476 (gst_ghost_pad_new_no_target_from_template):
12477 * gst/gstghostpad.h:
12478 Refactored *_new() functions.
12479 Templates are now used as a g_object_new() parameter.
12480 Use template in _do_getcaps() if we don't have a target.
12481 Small documentation cleanups.
12482 Added two new constructors:
12483 gst_ghost_pad_new_from_template()
12484 gst_ghost_pad_new_no_target_from_template()
12485 * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12486 (gst_ghost_pad_suite):
12487 Added tests for new ghostpad instanciation functions.
12489 API additions: gst_ghost_pad_new_from_template,
12490 gst_ghost_pad_new_no_target_from_template
12492 2006-08-30 Stefan Kost <ensonic@users.sf.net>
12494 * docs/random/ensonic/profiling.txt:
12495 Ideas about qos profiling.
12497 2006-08-29 Wim Taymans <wim@fluendo.com>
12499 * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12503 2006-08-29 Tim-Philipp Müller <tim at centricular dot net>
12506 Improve and detypofy docs.
12508 * tests/check/Makefile.am:
12509 * tests/check/gst/.cvsignore:
12510 * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12511 Add a basic test suite for GstXML.
12513 2006-08-29 Wim Taymans <wim@fluendo.com>
12515 * gst/gstelement.c: (activate_pads), (clear_caps),
12516 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12517 Clear the pad caps when the element shut down all of the pads and
12518 is not streaming data that could modify the caps.
12521 2006-08-28 Michael Smith <msmith@fluendo.com>
12523 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12524 Revert previous change; I misunderstood single-segment mode.
12526 2006-08-28 Michael Smith <msmith@fluendo.com>
12528 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12529 Unset DISCONT on buffers when using single-segment mode.
12531 2006-08-28 Wim Taymans <wim@fluendo.com>
12533 * gst/gstcaps.c: (gst_caps_merge_structure):
12535 Fix docs and indentation again.
12537 * tests/check/gst/gstquery.c: (GST_START_TEST):
12538 Fix leak in tests and add some more tests.
12540 2006-08-28 Edward Hervey <edward@fluendo.com>
12542 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12543 Inform GstSegment of the last stop position in order for the current
12544 segment to have a proper duration if it doesn't have a specific stop
12545 position from which a duration could be calculated.
12546 This bug was noticeable when a non-flushing, non-update new segment was
12547 followed by another segment (all buffers from the new segment were being
12550 2006-08-28 Wim Taymans <wim@fluendo.com>
12552 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12553 Small comment update.
12555 * plugins/elements/gstidentity.c: (gst_identity_class_init),
12556 (gst_identity_transform_ip):
12557 Drop-probability is broken, mention this in the code with a
12558 FIXME and also in the property description.
12559 Make silent also be silent about the drop messages.
12561 2006-08-28 Tim-Philipp Müller <tim at centricular dot net>
12563 * docs/manual/appendix-win32.xml:
12564 Remove mention of popt, we don't depend on that any
12565 longer (#353136). Add some comments pointing out that
12566 this section is slightly outdated.
12568 2006-08-28 Wim Taymans <wim@fluendo.com>
12570 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12572 * gst/gstquery.c: (gst_query_new_segment):
12573 * tests/check/gst/gstquery.c: (GST_START_TEST):
12574 Initialize variables when creating a new segment query.
12577 2006-08-28 Wim Taymans <wim@fluendo.com>
12579 Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12581 * gst/gstelement.c: (gst_element_get_bus):
12582 * tests/check/gst/gstelement.c: (GST_START_TEST):
12583 Check for NULL before _reffing the bus. Fixes #353122.
12585 2006-08-25 Tim-Philipp Müller <tim at centricular dot net>
12587 * docs/manual/basics-bus.xml:
12588 Docs update: fix wrong callback return value explanation; add
12589 some lines about the implicit relationship between main loop
12590 and main context; remove duplicate main loop variable declaration.
12592 2006-08-24 Tim-Philipp Müller <tim at centricular dot net>
12594 * tests/check/gst/gstcaps.c: (GST_START_TEST):
12595 Don't leak caps in unit test; add a few more simple
12598 2006-08-24 Stefan Kost <ensonic@users.sf.net>
12600 * docs/gst/gstreamer-sections.txt:
12601 * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12602 (gst_caps_structure_is_subset), (gst_caps_merge),
12603 (gst_caps_merge_structure):
12605 * libs/gst/base/gstbasetransform.c:
12606 (gst_base_transform_transform_caps):
12607 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12608 implement caps merging (fixes #352580)
12610 2006-08-23 Stefan Kost <ensonic@users.sf.net>
12612 * tools/Makefile.am:
12613 * tools/gst-plot-timeline.py:
12614 add debug-log plotting developer tool (#340674)
12616 2006-08-23 Wim Taymans <wim@fluendo.com>
12618 * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12619 (gst_pad_stop_task):
12620 Improve debugging for task functions.
12622 * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12623 (gst_task_start), (gst_task_pause), (gst_task_join):
12624 Make sure that the task function started and finished after a
12626 Don't try to push the task function on the threadpool multiple
12628 Improve the g_warning message with some useful suggestions
12629 about how to fix the problem.
12631 2006-08-23 Wim Taymans <wim@fluendo.com>
12633 * gst/gstutils.c: (gst_pad_proxy_getcaps):
12634 Handle RESYNC correctly in _proxy_getcaps.
12636 2006-08-21 Tim-Philipp Müller <tim at centricular dot net>
12638 * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12639 (gst_xml_parse_memory), (gst_xml_get_element):
12640 Chain up to parent class in dispose function and also
12641 unref the elements in the toplevel_elements GList.
12642 Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12643 Always return a reference in gst_xml_get_element() rather
12644 than only sometimes.
12646 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12647 Don't leak GstXml object.
12649 2006-08-21 Stefan Kost <ensonic@users.sf.net>
12651 * docs/gst/gstreamer-sections.txt:
12652 * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12655 * libs/gst/base/gstbasetransform.c:
12656 (gst_base_transform_transform_caps):
12657 API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12660 2006-08-21 Edward Hervey <edward@fluendo.com>
12662 * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12663 Implement GObject::dispose virtual method in GstXML so we can free the
12664 top_elements GList.
12666 2006-08-21 Wim Taymans <wim@fluendo.com>
12668 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12669 (gst_buffer_create_sub):
12670 Copy duration/offset_end/caps when creating a subbuffer of the
12672 Make the subbuffer read-only when we make the metadata writable for
12673 now. Fixes #351768.
12675 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12676 Added check for metadata copy when creating subbuffers.
12678 2006-08-21 Edward Hervey <edward@fluendo.com>
12680 * libs/gst/base/gstbasetransform.c:
12681 (gst_base_transform_buffer_alloc):
12682 Only call downstream buffer_alloc if transform element is passthrough
12683 or always_in_place. Closes #350449.
12685 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12688 ChangeLog surgery to add comments to previous changes
12690 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12695 * gst/gstpad.c: (gst_pad_set_active):
12696 Be more verbose in the log
12698 * libs/gst/base/gstbasetransform.c:
12699 (gst_base_transform_transform_caps):
12700 Simplify caps to get rid of duplicates, fixes #345444
12702 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12706 Use these optimizations only internally.
12708 2006-08-20 Stefan Kost <ensonic@users.sf.net>
12710 * gst/gstvalue.c: (gst_value_compare_list),
12711 (gst_value_compare_fraction_range),
12712 (gst_value_intersect_fraction_fraction_range),
12713 (gst_value_intersect_fraction_range_fraction_range),
12714 (gst_value_subtract_fraction_fraction_range),
12715 (gst_value_subtract_fraction_range_fraction_range),
12716 (gst_value_get_compare_func), (gst_value_compare),
12717 (gst_value_compare_with_func):
12719 Saves the expensive lookup of the compare function in many cases
12722 2006-08-18 Edward Hervey <edward@fluendo.com>
12724 * tests/check/gst/gstinfo.c: (gst_info_suite):
12725 Disable test that require gstdebug if it wasn't built in core.
12727 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12729 * docs/random/ensonic/logging.txt:
12732 * gst/gstinfo.c: (gst_debug_log_default):
12733 reorder fields, save some columns, add optional color codes for log
12736 2006-08-18 Stefan Kost <ensonic@users.sf.net>
12738 * docs/random/ensonic/logging.txt:
12739 add ideas about making the logs a bit more useful
12741 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12743 * docs/pwg/advanced-events.xml:
12744 * docs/pwg/titlepage.xml:
12745 Update for 0.10 API (#340627). Add myself
12748 2006-08-17 Tim-Philipp Müller <tim at centricular dot net>
12750 * docs/libs/gstreamer-libs-docs.sgml:
12751 * docs/libs/gstreamer-libs-sections.txt:
12752 * libs/gst/check/gstbufferstraw.c:
12753 Make gstcheck stuff show up in docs (still needs to
12754 be documented properly though).
12756 2006-08-16 Jan Schmidt <thaytan@mad.scientist.com>
12758 * docs/gst/gstreamer-sections.txt:
12760 * gst/gst.c: (init_post):
12761 * gst/gst_private.h:
12762 * gst/gstquark.c: (_priv_gst_quarks_initialize):
12764 * gst/gstquery.c: (gst_query_new_position),
12765 (gst_query_set_position), (gst_query_parse_position),
12766 (gst_query_new_duration), (gst_query_set_duration),
12767 (gst_query_parse_duration), (gst_query_new_convert),
12768 (gst_query_set_convert), (gst_query_parse_convert),
12769 (gst_query_new_segment), (gst_query_set_segment),
12770 (gst_query_parse_segment), (gst_query_new_seeking),
12771 (gst_query_set_seeking), (gst_query_parse_seeking):
12772 Add internal helpers for pre-registering quarks from static strings
12773 and using the quark values directly instead of looking them up when
12774 creating and parsing queries. Can be used for event construction too.
12777 2006-08-16 Wim Taymans <wim@fluendo.com>
12782 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12784 * gst/gstutils.c: (gst_util_set_value_from_string):
12785 Fix memleak (#351502).
12787 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12788 Add unit test for most of gst_util_set_value_from_string()
12789 (not that one would want to encourage use of this function).
12791 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12793 * libs/gst/check/gstcheck.h:
12794 Use const gchar * variables in fail_unless_equals_string
12795 macro to avoid compiler warnings (and don't use tabs for
12798 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12800 * tools/gst-launch.c: (print_tag):
12801 More space on the left for the tag names, to cater
12802 for the 'extended comment' tag (not touching the
12803 string for the first line since it's translated).
12805 2006-08-15 Tim-Philipp Müller <tim at centricular dot net>
12807 * libs/gst/check/gstcheck.h:
12808 Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12809 print something when they fail.
12811 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12813 * docs/gst/gstreamer-sections.txt:
12814 * gst/gsttaglist.c: (_gst_tag_initialize):
12815 * gst/gsttaglist.h:
12816 API: add GST_TAG_EXTENDED_COMMENT (#350935).
12817 Also change merge function for GST_TAG_COMMENT to
12820 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12822 * gst/gstinfo.c: (gst_debug_print_object):
12823 Make GST_PTR_FORMAT print messages as well.
12825 * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12826 (GST_START_TEST), (gst_info_suite):
12829 2006-08-14 Edward Hervey <edward@fluendo.com>
12831 * gst/gstelementfactory.c: (gst_element_register):
12832 If the GstElementClass doesn't have a GstElementDetails with all fields
12833 filled up correctly (longname, description AND author), then error out
12834 nicely instead of crashing.
12836 2006-08-14 Tim-Philipp Müller <tim at centricular dot net>
12838 * gst/gststructure.c:
12839 Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12842 Expand on the difference between arrays and lists as we use them.
12844 2006-08-14 Wim Taymans <wim@fluendo.com>
12846 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12847 If the parent state change function failed, don't assume we can safely
12848 stop the source, this will be done when the pads are deactivated.
12850 2006-08-14 Wim Taymans <wim@fluendo.com>
12853 * gst/gsttask.c: (gst_task_join):
12856 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12857 (gst_pad_stop_task):
12858 When pad (de)activation failed for some reason, restore the old
12859 activation mode and set the pad to flushing instead of assuming the
12860 pad is deactivated.
12861 If the _task_join() failed, reinstall the task on the pad so that it can
12862 be stopped later and return an error.
12864 2006-08-11 Andy Wingo <wingo@pobox.com>
12867 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12868 * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12869 is only for users of API that don't want to see deprecated
12870 functions in the headers; people that want to compile out
12871 deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12872 CFLAGS. Fixes the build of multifdsink, or will soon..
12874 2006-08-11 Wim Taymans <wim@fluendo.com>
12876 * docs/gst/gstreamer-sections.txt:
12877 Add GstClockClass vmethod docs.
12880 Mark #endif with comment for associated #if
12882 * gst/gstclock.c: (gst_clock_id_wait):
12884 Add vmethod wait_jitter to avoid an unneeded _get_time() for
12885 most clock implementations.
12887 Flesh out docs about resolution methods.
12888 API: GstClockClass::wait_jitter
12890 * gst/gstsystemclock.c: (gst_system_clock_class_init),
12891 (gst_system_clock_async_thread),
12892 (gst_system_clock_id_wait_jitter_unlocked),
12893 (gst_system_clock_id_wait_jitter):
12894 Use base class wait_jitter variant for improved performance
12895 due to less clock polling.
12897 2006-08-11 Edward Hervey <edward@fluendo.com>
12899 * gst/gst.c: (gst_init_check), (init_post):
12900 Set gst as being initialized before scanning/updating the registry,
12901 since there might be my python plugin loader that calls gst_init() and
12902 we don't want to loop back in.
12905 2006-08-11 Wim Taymans <wim@fluendo.com>
12907 * docs/design/part-qos.txt:
12908 Bring docs in line with the code. Mostly the sign of the jitter was
12909 wrong in the docs. Fixes #349943.
12912 Fix the docs for the jitter.
12914 * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12915 (gst_event_parse_tag), (gst_event_new_buffer_size),
12916 (gst_event_parse_buffer_size), (gst_event_parse_qos),
12917 (gst_event_new_seek), (gst_event_parse_seek),
12918 (gst_event_new_navigation):
12919 Make sure the GstStructure has no parent when creating custom
12921 Add some more argument checking so that we avoid 0.0 rates.
12922 Flesh out the docs for the QoS event some more.
12924 2006-08-11 Wim Taymans <wim@fluendo.com>
12926 * docs/gst/gstreamer-sections.txt:
12927 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12928 (ensure_current_registry_forking), (ensure_current_registry),
12929 (parse_one_option), (parse_goption_arg), (gst_deinit),
12930 (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12933 Added API and command line option to disable registry forking in
12934 addition to the environment variable.
12935 Constify some static arrays.
12936 Added some more debug.
12937 Don't deinit twice.
12938 API: gst_registry_fork_is_enabled()
12939 API: gst_registry_fork_set_enabled()
12940 API: --gst-disable-registry-fork command line option
12943 2006-08-11 Tim-Philipp Müller <tim at centricular dot net>
12945 * gst/gst.c: (gst_init):
12946 Fix typo in error message.
12948 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12950 * libs/gst/controller/gstcontroller.h:
12951 fix ABI size-correction
12953 * tests/check/libs/gdp.c: (gst_dp_suite):
12954 make tests that use deprecated API conditional
12956 2006-08-10 Stefan Kost <ensonic@users.sf.net>
12958 * docs/libs/gstreamer-libs-sections.txt:
12959 * libs/gst/controller/gstcontroller.c:
12960 (_gst_controller_get_property), (_gst_controller_set_property),
12961 (_gst_controller_init), (_gst_controller_class_init):
12962 * libs/gst/controller/gstcontroller.h:
12963 * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12964 (gst_object_set_control_rate):
12965 API: add gst_object_{s,g}et_control_rate(), add private data section,
12968 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12969 * libs/gst/dataprotocol/dataprotocol.h:
12970 add deprecation guards to make gtk-doc happy and allow disabling cruft
12972 2006-08-09 Tim-Philipp Müller <tim at centricular dot net>
12974 * tests/check/Makefile.am:
12975 * tests/check/gst/.cvsignore:
12976 Let's enable the new unit test as well.
12978 2006-08-08 Tim-Philipp Müller <tim at centricular dot net>
12981 * docs/gst/gstreamer-sections.txt:
12982 * gst/gstconfig.h.in:
12983 * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12984 (_gst_info_printf_extension_ptr),
12985 (_gst_info_printf_extension_segment):
12986 API: add GST_SEGMENT_FORMAT, which is a printf extension we
12987 register that lets us easily dump GstSegments into debug
12990 * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12991 (info_segment_format_printf_extension), (gst_info_suite):
12992 Add simple unit test that logs a bunch of different segments (not
12993 valgrinded at the moment because of leaks in
12994 gst_debug_add_log_function).
12996 2006-08-09 Edward Hervey <edward@fluendo.com>
12998 * libs/gst/base/gstbasetransform.c:
12999 (gst_base_transform_buffer_alloc):
13000 Even if we can't figure out the proper format to request downstream,
13001 call buffer_alloc() downstream with the input parameters without setting
13002 the caps on the srcpad. This will force negotiation in the chain
13006 2006-08-08 Edward Hervey <edward@fluendo.com>
13008 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13009 Unlinking from a pad without a target is now a perfectly valid case
13010 which should NOT raise an assertion.
13011 This case would happen if a linked ghostpad its target set to NULL after
13012 it was previously linked.
13014 2006-08-08 Edward Hervey <edward@fluendo.com>
13016 * tests/check/libs/gdp.c:
13017 Also comment out the test (see below).
13019 2006-08-08 Edward Hervey <edward@fluendo.com>
13021 * tests/check/libs/gdp.c: (gst_dp_suite):
13022 Use the architecture information from config.h and not gcc macros
13023 in order to properly disable a test that fails on PPC64.
13025 2006-08-04 Tim-Philipp Müller <tim at centricular dot net>
13027 * gst/gstelement.c: (gst_element_remove_pad):
13028 Don't crash printing the warning if the pad has no parent.
13030 2006-08-02 Wim Taymans <wim@fluendo.com>
13032 * libs/gst/dataprotocol/dataprotocol.c:
13033 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13034 (gst_dp_crc), (gst_dp_header_payload_length),
13035 (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13036 (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13037 (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13038 (gst_dp_event_from_packet), (gst_dp_validate_header),
13039 (gst_dp_validate_payload):
13040 Make debug category static
13041 Constify the crc table.
13042 Do some more arg checking in public functions.
13043 Fix some docs and do some small cleanups.
13045 * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13046 Add some more checks to see if GDP deals with bogus input.
13048 2006-07-31 Wim Taymans <wim@fluendo.com>
13050 * gst/gstvalue.c: (gst_value_compare_list):
13051 Fix GstValueList comparison code. Fixes #347293.
13053 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13054 Check to test GstValueList comparison.
13056 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13058 * gst/gstelementfactory.c: (gst_element_factory_create):
13059 Remove unnecessary ref/unref pair
13061 * gst/parse/grammar.y:
13062 Make sure to free the parse buffer on all code paths.
13063 Move a g_free up to the error handler where it's easier to see.
13065 * tests/check/gst/gstevent.c: (test_event):
13066 Extending timeout for downstream travelling events to 10 seconds to
13067 hopefully avoid intermittent failure on the buildbots.
13069 * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13070 Don't manually set the state of the src element - it will happen as a
13071 natural consequence of the pipeline changing state, and that way it
13072 will do it in the right order too.
13074 2006-07-31 Wim Taymans <wim@fluendo.com>
13076 * libs/gst/base/gstbasetransform.c:
13077 (gst_base_transform_buffer_alloc):
13078 Use OBJECT_LOCK and refcounting to get the pad caps in the
13079 buffer_alloc function because the caps could change while we are
13080 busy with them. Fixes #349105
13082 2006-07-31 Wim Taymans <wim@fluendo.com>
13084 * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13085 Protect _PAD_CAPS with OBJECT_LOCK.
13087 2006-07-31 Wim Taymans <wim@fluendo.com>
13089 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13090 (gst_pad_get_property), (gst_pad_activate_pull),
13091 (gst_pad_activate_push), (gst_pad_set_blocked_async),
13092 (gst_pad_set_activate_function),
13093 (gst_pad_set_activatepull_function),
13094 (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13095 (gst_pad_set_getrange_function),
13096 (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13097 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13098 (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13099 (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13100 (gst_pad_set_acceptcaps_function),
13101 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13102 (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13103 (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13104 (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13105 (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13106 (gst_pad_configure_sink), (gst_pad_configure_src),
13107 (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13108 (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13109 (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13110 (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13111 (gst_pad_send_event):
13112 Use _DEBUG_OBJECT when it makes sense.
13113 Protect GST_PAD_CAPS with the OBJECT_LOCK.
13114 Small cleanups and code reflows.
13115 Avoid caps refcounting in _accept_caps.
13116 Refactor alloc_buffer so that the code performed on the peer is in a
13117 separate function. Also if the pad does not implement a buffer alloc
13118 function, we should still check if the pad is flushing before falling
13119 back to the default allocator.
13121 2006-07-31 Jan Schmidt <thaytan@mad.scientist.com>
13123 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13124 Make all uses of identity and fakesink have silent=true to avoid
13125 serialising every passing data structure, which is breaking tests
13126 on FC4 for some unknown reason.
13128 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13130 * gst/parse/Makefile.am:
13131 * gst/parse/grammar.y:
13132 * gst/parse/parse.l:
13133 Reverted previous patch as it required to bump the flex dependency to
13134 2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13136 2006-07-30 Stefan Kost <ensonic@users.sf.net>
13138 Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13140 * gst/parse/Makefile.am:
13141 * gst/parse/grammar.y:
13142 * gst/parse/parse.l:
13143 push & pop the state of the lexer for reentrant use case
13146 2006-07-29 Tim-Philipp Müller <tim at centricular dot net>
13148 * libs/gst/base/gstbasesrc.h:
13149 Note in the docs that the ::newsegment vfunc is not actually used by
13152 2006-07-28 Wim Taymans <wim@fluendo.com>
13154 * libs/gst/base/gstcollectpads.c:
13155 (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13156 (gst_collect_pads_clear), (gst_collect_pads_flush),
13157 (gst_collect_pads_event), (gst_collect_pads_chain):
13158 When flushing a pad, also clear the queued buffer so that we don't
13159 accidentally use it when we shouldn't.
13160 Fix leaks by inreffing incomming buffer.
13161 Flush out queued buffers in case of errors.
13164 2006-07-28 Wim Taymans <wim@fluendo.com>
13166 * docs/random/phonon-gst:
13167 Random notes about a Phonon backend.
13169 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13171 * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13173 * tests/check/libs/gdp.c: (gst_dp_suite):
13174 Take a whack at fixing the ppc compile using a different define to
13175 disable the broken test.
13177 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13178 Remove excess g_print()
13180 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13182 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13183 Oops, meant to uncomment this line too to dampen the noise a bit.
13185 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13187 * gst/parse/grammar.y:
13188 * gst/parse/parse.l:
13189 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13190 (GST_START_TEST), (parse_suite):
13191 Fix some of the leaks exposed by extending the parse-launch testsuite,
13192 and move the 3 I can't figure out into a separate test that won't run
13193 the pipelines unless the appropriate line is uncommented.
13195 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13197 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13198 Requesting 0 bytes before the end of the file should result in
13199 FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13202 2006-07-27 Wim Taymans <wim@fluendo.com>
13204 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13205 Fix useless assert, a uint is always positive.
13207 * gst/gststructure.c: (gst_structure_nth_field_name),
13208 (gst_structure_foreach), (gst_structure_map_in_place):
13209 Check input arguments for public functions to avoid obvious crashes.
13211 * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13212 * plugins/elements/gstfakesink.h:
13213 Do less useless typechecking.
13215 2006-07-27 Tim-Philipp Müller <tim at centricular dot net>
13217 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13218 Do not use mmap() by default since there are a number of error
13219 conditions that we would like to handle in a non-fatal way that
13220 will result in a SIGBUS if we use mmap(). Examples: external
13221 devices (USB harddrive, portable music player) being unplugged
13222 while in use; file on mounted CD/DVD that can't be read because
13223 the medium is partly damaged. Fixes #348455 and #348475.
13225 2006-07-27 Jan Schmidt <thaytan@mad.scientist.com>
13228 Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13229 rates are a gdouble
13231 2006-07-26 Stefan Kost <ensonic@users.sf.net>
13233 * gst/gstregistry.c:
13234 Move big documentation comment into class section header, so that it
13235 appears in the API docs.
13237 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13239 * docs/gst/gstreamer-sections.txt:
13240 Oops. Commit the docs additions too for new API.
13241 Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13243 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13245 * gst/gststructure.c: (gst_structure_id_set),
13246 (gst_structure_id_set_valist):
13247 * gst/gststructure.h:
13248 Add API for setting values into structures without performing
13249 a quark lookup, if the appropriate quark is already known.
13251 API: gst_structure_id_set
13252 API: gst_structure_id_set_valist
13254 * gst/parse/grammar.y:
13255 * gst/parse/parse.l:
13256 Remove some dead code shown by the coverage information.
13257 Don't throw a critical g_warning when encountering a syntax error,
13258 just warn and let the normal error path handle it.
13260 * plugins/elements/gstelements.c:
13261 Bump the rank of filesink up to PRIMARY so that it is preferred over
13262 gnomevfssink for file:// sink uri's
13264 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13265 (GST_START_TEST), (run_delayed_test),
13266 (gst_parse_test_element_base_init),
13267 (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13268 (gst_parse_test_element_change_state),
13269 (gst_register_parse_element), (parse_suite):
13270 Beef up the tests for parse syntax to check that more error cases
13271 fail as they are supposed to. Increases the test coverage a bit.
13273 2006-07-26 Tim-Philipp Müller <tim at centricular dot net>
13275 * docs/manual/basics-elements.xml:
13276 Fix gst_element_link() example.
13279 Mention in API docs that one should usually gst_bin_add()
13280 elements to a bin or pipeline before doing the linking.
13282 2006-07-26 Wim Taymans <wim@fluendo.com>
13284 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13285 (gst_subbuffer_get_type), (gst_buffer_create_sub):
13286 Avoid function call for known types by keeping the buffer and
13287 subbuffer GType global.
13289 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13290 Random silly optimisations in read() path.
13292 2006-07-26 Jan Schmidt <thaytan@mad.scientist.com>
13294 * tools/gst-launch.c: (main):
13295 If the top-level of the parse is a normal bin, it doesn't do the
13296 right logic to run as a top-level element, so place it inside a
13299 2006-07-25 Tim-Philipp Müller <tim at centricular dot net>
13301 * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13302 Remove superfluous g_object_notify() calls, GObject does
13303 that for us automatically.
13305 2006-07-25 Stefan Kost <ensonic@users.sf.net>
13308 on Win32, use dllspec to export the debug category symbols
13310 2006-07-24 Tim-Philipp Müller <tim at centricular dot net>
13312 * gst/gsttaglist.c: (_gst_tag_initialize):
13313 Allow more than one GST_TAG_IMAGE per taglist.
13315 2006-07-24 Thomas Vander Stichele <thomas at apestaart dot org>
13317 * gst/gstminiobject.c:
13319 * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13320 (gst_fd_src_create):
13321 log recurring events at LOG level
13322 add more debug for when the fd gets set
13324 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13326 * gst/gstparse.c: (gst_parse_launch):
13327 Also remove reentrance checks if flex is MT safe (#348179)
13328 Fix my empty ChangeLog entry below
13330 2006-07-21 Andy Wingo <wingo@pobox.com>
13332 * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13334 * libs/gst/check/Makefile.am
13335 (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13336 (libgstcheck_@GST_MAJORMINOR@_la_SOURCES):
13337 * libs/gst/check/gstbufferstraw.h:
13338 * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13339 functions, thus proving I am still a GStreamer haxor. OK I wrote
13340 them a long time ago, but anyways.
13342 2006-07-21 Stefan Kost <ensonic@users.sf.net>
13345 * gst/gstparse.c: (gst_parse_launch):
13346 Check for flex version and omit mutex if we have a MT save flex
13349 2006-07-21 Wim Taymans <wim@fluendo.com>
13351 * gst/gstparse.c: (gst_parse_launch):
13352 Protect recursive calls to _parse with a recursive mutex
13355 2006-07-21 Wim Taymans <wim@fluendo.com>
13357 * tests/check/gst/gstpad.c: (GST_START_TEST):
13360 2006-07-20 Stefan Kost <ensonic@users.sf.net>
13362 * gst/gstparse.c: (gst_parse_launch):
13363 Do not hang on recursive usage of gst_parse_launch()
13365 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13367 * gst/gsttaglist.c:
13368 Add some more docs, comments and FIXME 0.11s here and there
13369 and also fix some typos.
13371 2006-07-20 Tim-Philipp Müller <tim at centricular dot net>
13373 * gst/gstsegment.h:
13374 Convert tabs to spaces for better readability.
13376 2006-07-20 Edward Hervey <edward@fluendo.com>
13378 * tests/check/libs/gdp.c: (gst_dp_suite):
13379 the test_buffer test fails at line 140 on ppc64 at the following
13381 fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13382 GST_BUFFER_FLAG_IN_CAPS),
13383 "GST_BUFFER_IN_CAPS flag should have been copied !");
13384 See bug #348114 for more details.
13386 2006-07-19 Tim-Philipp Müller <tim at centricular dot net>
13388 * docs/pwg/advanced-scheduling.xml:
13390 Fix typos (#348000).
13392 2006-07-18 Tim-Philipp Müller <tim at centricular dot net>
13394 * docs/pwg/intro-basics.xml:
13395 Fix wrong links (#347927).
13397 2006-07-18 Stefan Kost <ensonic@users.sf.net>
13399 * gst/gstregistry.h:
13400 * gst/gstregistryxml.c: (load_feature),
13401 (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13402 * win32/common/config.h:
13403 make --disable-index work (#342564)
13405 2006-07-18 Wim Taymans <wim@fluendo.com>
13407 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13411 The attached patch adds two missing defines to gsttrace.h when tracing
13412 is disabled. It also corrects one existing define.
13415 2006-07-17 Wim Taymans <wim@fluendo.com>
13417 * docs/gst/gstreamer-sections.txt:
13418 * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13420 * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13421 Add two functions to check and change the SIGSEGV behaviour
13422 when loading plugins.
13423 Don't mess with the SIGSEGV handler when we were told not to.
13425 API: gst_segtrap_is_enabled
13426 API: gst_segtrap_set_enabled
13428 2006-07-14 Wim Taymans <wim@fluendo.com>
13430 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13431 * tests/check/elements/filesrc.c: (GST_START_TEST):
13432 Revert fix for regression in #347408 after release.
13434 2006-07-14 Tim-Philipp Müller <tim at centricular dot net>
13436 Patch by: Antoine Tremblay <hexa00 at gmail com>
13438 * gst/gstutils.c: (gst_element_unlink):
13439 Free iterator when done (#347311).
13441 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13442 And add a test case for this.
13444 2006-07-14 Jan Schmidt <thaytan@mad.scientist.com>
13447 Bump nano back to CVS
13449 === release 0.10.9 ===
13451 2006-07-13 Jan Schmidt <thaytan@mad.scientist.com>
13454 releasing 0.10.9, "On the road again"
13456 2006-07-13 Wim Taymans <wim@fluendo.com>
13458 * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13459 * tests/check/elements/filesrc.c: (GST_START_TEST):
13460 Revert pull-0 fix for release. Disable check. Fixes #347408.
13462 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13464 * libs/gst/dataprotocol/dataprotocol.c:
13465 (gst_dp_event_from_packet_1_0):
13466 Fixes #347337: failure to deserialize event packets with
13467 empty payload (only event type)
13469 2006-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
13472 do not install a .c file in the header directory
13474 2006-07-13 Edward Hervey <edward@fluendo.com>
13476 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13477 GhostPad no longer implicitely use the padtemplates of the targets.
13480 2006-07-11 Jan Schmidt <thaytan@mad.scientist.com>
13482 * gst/gstvalue.c: (gst_value_compare_list),
13483 (gst_value_compare_array), (_gst_value_initialize):
13484 * tests/check/gst/gstvalue.c: (GST_START_TEST):
13485 Make GstValueArray comparison be order dependent as designed.
13486 Add checks for value lists and value array comparisons.
13489 2006-07-11 Edward Hervey <edward@fluendo.com>
13491 * gst/gstbin.c: (activate_pads),
13492 (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13493 (gst_bin_change_state_func):
13494 (de)activate src pads before calling state_change on the childs.
13495 This is to avoid the case where a src ghostpad is blocked (holding the
13496 stream lock), which would block the deactivation of the ghostpad's
13498 * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13499 (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13500 (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13501 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13502 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13503 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13504 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13505 (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13506 (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13507 (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13508 (gst_ghost_pad_class_init),
13509 (gst_ghost_pad_internal_do_activate_push),
13510 (gst_ghost_pad_internal_do_activate_pull),
13511 (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13512 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13513 (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13514 (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13515 GhostPads now create their internal GstProxyPad at creation (and not
13516 when they're linked, as it was being done previously).
13517 The internal and target pads are linked straight away.
13518 The data will also travel through the other pad in order to make
13519 pad blocking and probes non-hackish (the probe/block now really happens
13520 on the GhostPad and not on the target).
13521 * gst/gstpad.c: (gst_pad_set_blocked_async),
13522 (gst_pad_link_prepare), (gst_pad_push_event):
13523 Remove previous ghostpad cruft.
13524 * gst/gstutils.c: (gst_pad_add_data_probe),
13525 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13526 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13527 (gst_pad_remove_buffer_probe):
13528 Remove previous ghost pad cruft.
13529 Added more detailed debug statements.
13530 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13531 Fix the testsuite for refcounting changes.
13532 The comments about who has references were correct, but the refcount
13533 being checked wasn't the same (!?!).
13537 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13539 * docs/gst/gstreamer-sections.txt:
13540 * gst/gstconfig.h.in:
13541 More docs for configuration options, add docs to gtk-doc.
13543 2006-07-10 Stefan Kost <ensonic@users.sf.net>
13546 * gst/gstconfig.h.in:
13547 * win32/common/config.h:
13548 Fix build when disabling tracing (fixes #344016). Also start to document
13549 the defines that disable the sub-systems.
13551 2006-07-10 Edward Hervey <edward@fluendo.com>
13553 * gst/gst.c: (ensure_current_registry_forking):
13554 let's make valgrind happy...
13556 2006-07-09 Wim Taymans <wim@fluendo.com>
13558 * gst/gstelement.c: (activate_pads),
13559 (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13560 Better pad activation code: Reset the collect value too on resync.
13563 2006-07-09 Wim Taymans <wim@fluendo.com>
13565 * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13566 (gst_pad_activate_push):
13567 Use some more macros where it makes sense.
13568 Allow pad mode switching instead of asserting. When a pad
13569 is activated in one mode and we activate it in another,
13570 deactivate it first before activating it in a different mode.
13573 2006-07-08 Andy Wingo <wingo@pobox.com>
13575 * tools/gst-launch.c (main): Handle err == NULL.
13577 * gst/gst.c (init_post, ensure_current_registry)
13578 (ensure_current_registry_forking)
13579 (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13580 factoring out the registry scanning into separate functions. Don't
13581 fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13582 Better environment var name/interface suggestions accepted.
13584 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13586 * gst/gstobject.c: (gst_object_set_name_default),
13587 (gst_object_set_name):
13588 Random micro-optimisation: don't use a hash table
13589 with strings as keys and the usual strdup/strcmp
13590 involved, but rather just use the GQuark of the
13591 type name as key, since it needs to be looked up
13592 anyway to get the type name string.
13594 * tests/check/gst/gstobject.c: (GST_START_TEST):
13597 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13599 * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13600 (gst_bin_iterate_all_by_interface):
13601 Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13602 GTypes are gulongs and thus the top 4 bytes might be cut
13603 off on some platforms when doing GPOINTER_TO_INT, leading
13604 to invalid GTypes and bad things happening (see RH bug #179654).
13605 Also add a check to make sure the type passed in is really
13608 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13613 2006-07-07 Tim-Philipp Müller <tim at centricular dot net>
13617 * gst-element-check.m4:
13618 * gst-element-check.m4.in:
13619 Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13620 instead of the unversioned gst-inspect (#324176, #168659).
13622 2006-07-06 Wim Taymans <wim@fluendo.com>
13624 * gst/gstmessage.h:
13625 Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13628 2006-07-06 Wim Taymans <wim@fluendo.com>
13630 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13631 (gst_base_src_wait), (gst_base_src_update_length),
13632 (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13633 (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13634 (gst_base_src_loop), (gst_base_src_start),
13635 (gst_base_src_activate_pull):
13637 blocksize == 0 now means the default blocksize when working in push
13639 Remove some pointless asserts in _wait function.
13640 Fix offset/length calculations and EOS handling. We can now pull 0
13641 bytes as well, which is allowed.
13642 use _check_get_range() to decide if we can operate in _pull based
13644 Fix refcounting leak when check_get_range function was not
13646 API GstBaseSrc::blocksize range can be 0 too now (default)
13648 * tests/check/elements/filesrc.c: (GST_START_TEST),
13650 Added check to test _get_range() behaviour.
13652 2006-07-06 Wim Taymans <wim@fluendo.com>
13654 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13655 (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13656 (gst_pad_pull_range):
13658 Lots of comments and docs added to the pad functions.
13659 Flesh out the expected behaviour of the get_range() functions.
13661 2006-07-06 Wim Taymans <wim@fluendo.com>
13666 * gst/gstiterator.h:
13670 Remove comma at end of enumerator list.
13672 2006-07-05 Sebastien Moutte <sebastien@moutte.net>
13674 * win32/common/libgstbase.def:
13675 * win32/common/libgstdataprotocol.def:
13676 * win32/common/libsgtreamer.def:
13677 Add new exported functions.
13679 2006-07-05 Wim Taymans <wim@fluendo.com>
13681 * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13682 Add some more docs here and there.
13684 2006-07-05 Wim Taymans <wim@fluendo.com>
13686 * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13687 (gst_base_sink_loop), (gst_base_sink_get_position):
13688 When operating in pull mode update the offset so that we
13691 2006-07-05 Wim Taymans <wim@fluendo.com>
13693 * gst/gstregistryxml.c: (read_string):
13694 Avoid strdup. (will happen in libxml, but hey!)
13697 Add some more docs.
13699 2006-07-05 Wim Taymans <wim@fluendo.com>
13701 * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13702 * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13703 (gst_buffer_suite):
13704 No point in checking if the size of the subbuffer > 0, the
13705 code handles it correclty as demonstrated by unit test.
13706 Also add a unit test for the zero sized _new_and_alloc and
13707 _copy. Fixes #346663.
13709 2006-07-05 Wim Taymans <wim@fluendo.com>
13711 * libs/gst/base/gstbasetransform.c:
13712 (gst_base_transform_prepare_output_buffer),
13713 (gst_base_transform_buffer_alloc),
13714 (gst_base_transform_handle_buffer):
13715 Make sure the buffer we pass to transform_ip has a refcount of
13716 1 and thus is writable. Fixes #343196
13718 2006-07-04 Jan Schmidt <thaytan@mad.scientist.com>
13720 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13721 (gst_file_src_init), (gst_file_src_set_property),
13722 (gst_file_src_get_property), (gst_file_src_map_region):
13723 * plugins/elements/gstfilesrc.h:
13724 Add "sequential" property, off by default, to use madvise and hint
13725 to the kernel that sequential access is desired.
13726 Touch all retrieved pages by default to ensure they are pulled
13727 into memory. (Closes #345720)
13729 2006-07-03 Wim Taymans <wim@fluendo.com>
13731 * docs/design/part-block.txt:
13732 * docs/design/part-dynamic.txt:
13733 Small docs updates.
13735 2006-07-03 Wim Taymans <wim@fluendo.com>
13737 * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13738 (gst_caps_unref), (gst_static_caps_get),
13739 (gst_caps_append_structure):
13740 * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13741 Use GSlice when the glib we build against is >= 2.10
13743 2006-07-03 Wim Taymans <wim@fluendo.com>
13745 * gst/gstelement.c: (gst_element_pads_activate):
13746 Small cleanup in pad activation code.
13748 2006-07-03 Wim Taymans <wim@fluendo.com>
13750 Patch by: Peter Kjellerstedt <pkj at axis dot com>
13752 * gst/gst-i18n-app.h:
13753 * gst/gst-i18n-lib.h:
13754 * tools/gst-inspect.c: (print_signal_info):
13755 The attached patch will make the inclusion of gettext.h unconditional in
13756 gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13757 libintl.h in tools/gst-inspect.c.
13758 This allows use of --disable-nls again and fixes #344642.
13760 2006-07-03 Edward Hervey <edward@fluendo.com>
13762 * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13763 Implement pad blocking on events according to part-block.txt.
13764 More comments on behaviour.
13765 * tests/check/gst/gstevent.c: (test_event):
13766 Send event to peer pad of blocked pad (else it will block).
13768 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13770 * libs/gst/check/gstcheck.c: (gst_check_message_error),
13771 (gst_check_run_suite):
13772 if we get the wrong message, give us the types as string
13773 * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13775 * tests/check/elements/filesrc.c: (GST_START_TEST):
13776 add a test for trying to open a non-existing file
13778 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13780 * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13781 add a test for adding self
13783 2006-07-03 Thomas Vander Stichele <thomas at apestaart dot org>
13785 * libs/gst/check/gstcheck.h:
13786 add some assert_ as alias for fail_unless_*
13787 * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13788 increase test coverage
13790 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13793 include lcov.mak for lcov coverage generation
13794 * tools/Makefile.am:
13797 2006-07-02 Edward Hervey <edward@fluendo.com>
13799 * tests/check/elements/.cvsignore:
13802 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13805 don't set CFLAGS and friends for gcov, done from GST_GCOV now
13806 * tests/check/Makefile.am:
13807 clean up gcov files
13809 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13811 * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13812 remove gst_caps_simplify; it was not declared and not used
13813 and deprecated in 0.8
13815 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13817 * docs/faq/gst-uninstalled:
13818 don't put empty paths on PYTHONPATH
13819 * docs/gst/gstreamer-sections.txt:
13820 remove some symbols that are not there
13822 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13824 * gst/gstcaps.c: (gst_caps_compare_structures):
13826 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13827 * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13830 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13832 * libs/gst/dataprotocol/Makefile.am:
13833 build dataprotocol test by linking to the lib, instead of
13834 compiling the source, so we get coverage
13835 * tests/check/Makefile.am:
13836 * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13837 (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13838 add a test for filesrc
13840 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13842 * tests/check/gst/gststructure.c: (GST_START_TEST),
13843 (gst_structure_suite):
13844 Push coverage from 59.04% to 70.00%
13846 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13848 * tests/check/Makefile.am:
13849 gst-inspect every element; this makes sure that we also get
13850 coverage on element's get/set functions
13852 2006-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
13855 set CFLAGS and friends to -O0 if gcov is being used
13858 * libs/gst/base/Makefile.am:
13859 * libs/gst/check/Makefile.am:
13860 * libs/gst/controller/Makefile.am:
13861 * libs/gst/dataprotocol/Makefile.am:
13862 * libs/gst/net/Makefile.am:
13863 * plugins/elements/Makefile.am:
13864 * plugins/indexers/Makefile.am:
13865 add makefile rules to generate gcov data and clean up
13866 * tests/check/Makefile.am:
13867 add a coverage target that generates an html overview
13870 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13872 * tests/check/elements/fakesink.c:
13873 * tests/check/elements/fakesrc.c:
13874 * tests/check/elements/fdsrc.c:
13875 * tests/check/elements/identity.c:
13876 * tests/check/generic/sinks.c: (gst_sinks_suite):
13877 * tests/check/generic/states.c:
13878 * tests/check/gst/gst.c:
13879 * tests/check/gst/gstabi.c:
13880 * tests/check/gst/gstbin.c:
13881 * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13882 * tests/check/gst/gstbus.c: (gst_bus_suite):
13883 * tests/check/gst/gstcaps.c: (GST_START_TEST):
13884 * tests/check/gst/gstelement.c:
13885 * tests/check/gst/gstevent.c: (gst_event_suite):
13886 * tests/check/gst/gstghostpad.c:
13887 * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13888 * tests/check/gst/gstmessage.c: (gst_message_suite):
13889 * tests/check/gst/gstminiobject.c:
13890 * tests/check/gst/gstobject.c:
13891 * tests/check/gst/gstpad.c:
13892 * tests/check/gst/gstpipeline.c:
13893 * tests/check/gst/gstplugin.c:
13894 * tests/check/gst/gstquery.c: (gst_query_suite):
13895 * tests/check/gst/gstsegment.c: (gst_segment_suite):
13896 * tests/check/gst/gststructure.c:
13897 * tests/check/gst/gstsystemclock.c:
13898 * tests/check/gst/gsttag.c:
13899 * tests/check/gst/gsttask.c: (gst_task_suite):
13900 * tests/check/gst/gstutils.c:
13901 * tests/check/gst/gstvalue.c:
13902 * tests/check/libs/adapter.c:
13903 * tests/check/libs/basesrc.c:
13904 * tests/check/libs/collectpads.c:
13905 * tests/check/libs/controller.c:
13906 * tests/check/libs/gdp.c: (gst_dp_suite):
13907 * tests/check/libs/gstnetclientclock.c:
13908 * tests/check/libs/gstnettimeprovider.c:
13909 * tests/check/libs/libsabi.c: (libsabi_suite):
13910 * tests/check/libs/typefindhelper.c:
13911 * tests/check/pipelines/cleanup.c:
13912 * tests/check/pipelines/parse-launch.c:
13913 * tests/check/pipelines/simple-launch-lines.c:
13914 * tests/check/pipelines/stress.c: (stress_suite):
13917 2006-07-01 Thomas Vander Stichele <thomas at apestaart dot org>
13919 * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13920 * libs/gst/check/gstcheck.h:
13921 create a macro and function so that the simple unit test
13922 case can be just one macro to create main()
13924 2006-06-30 Tim-Philipp Müller <tim at centricular dot net>
13926 * gst/gstbin.c: (gst_bin_restore_thyself):
13927 * gst/gstxml.c: (gst_xml_make_element):
13928 Fix deserialisation from XML. Set parent manually
13929 instead of using gst_bin_add(), since gst_bin_add()
13930 will unlink all pads of the element being added.
13933 2006-06-28 Tim-Philipp Müller <tim at centricular dot net>
13935 Patch by: Peter Kjellerstedt <pkj at axis com>
13937 * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13938 Fix missing g_strdup() and double free when using the
13939 --gst-plugin-load command line option (#346097).
13941 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13944 Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13946 * libs/gst/net/gstnetclientclock.c:
13947 * libs/gst/net/gstnettimeprovider.c:
13948 Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13950 2006-06-23 Tim-Philipp Müller <tim at centricular dot net>
13952 * docs/manual/advanced-dataaccess.xml:
13953 Fix buffer probe example compilation in
13956 2006-06-22 Edward Hervey <edward@fluendo.com>
13958 * gst/gstelement.c: (gst_element_pads_activate):
13959 We need to deactivate src pads first and then sink pads.
13960 The reason is the src pads might be blocking while holding the streaming
13961 lock, so we need to deactivate them first so that deactivating the sink
13962 pads doesn't block (since it will require the streaming lock).
13964 2006-06-22 Wim Taymans <wim@fluendo.com>
13966 * libs/gst/base/gstbasetransform.c:
13967 (gst_base_transform_buffer_alloc):
13968 Forgot to remove two unneeded unrefs.
13969 Simplify a check _is_equal allready checks the obvious case.
13971 2006-06-22 Wim Taymans <wim@fluendo.com>
13973 * docs/design/part-block.txt:
13974 Some docs about what pad_block should do.
13976 2006-06-22 Wim Taymans <wim@fluendo.com>
13978 * gst/gstcaps.c: (gst_caps_replace):
13979 Fix crasher when passed NULL. Doc clarification.
13980 Optimize for the trivial case.
13982 * gst/gstpipeline.c: (gst_pipeline_change_state):
13985 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13986 Small documentation cleanup.
13988 * libs/gst/base/gstbasetransform.c:
13989 (gst_base_transform_buffer_alloc):
13990 Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13991 is what we need and it avoids a whole lot of redundant
13992 refcount operations.
13994 2006-06-22 Tim-Philipp Müller <tim at centricular dot net>
13996 Patch by: Philip Jägenstedt <philip at lysator liu se>
13998 * docs/manual/advanced-dataaccess.xml:
13999 Fix 'Embedding static elements' section to use
14000 GST_PLUGIN_DEFINE_STATIC (#345607).
14002 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14004 * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14005 Attempt to 'fix' spuriously failing test case: it seems like the
14006 timeout of half a second is simply too small when the system is under
14007 load otherwise, and the timeout doesn't really seem to serve any
14008 particular purpose here. Give the pipeline a few seconds to preroll
14009 first, and then give it another half a second to go from PAUSED to
14010 PLAYING and marshal the message into the main thread.
14012 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14014 * tools/gst-feedback-m.m:
14015 Don't only use unversioned tools, try versioned tools as well
14018 2006-06-21 Tim-Philipp Müller <tim at centricular dot net>
14020 * gst/gstbus.c: (gst_bus_class_init):
14021 Fix some typos, make docs more explicit.
14023 2006-06-20 Wim Taymans <wim@fluendo.com>
14025 * tests/check/gst/gstghostpad.c: (block_callback),
14026 (GST_START_TEST), (gst_ghost_pad_suite):
14027 Added some more ghostpad tests, mainly blocking
14030 2006-06-16 Wim Taymans <wim@fluendo.com>
14032 * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14033 (gst_file_sink_close_file), (gst_file_sink_do_seek),
14034 (gst_file_sink_event), (gst_file_sink_render):
14035 * plugins/elements/gstfilesink.h:
14036 Check if we can seek in the file instead of assuming
14037 we always can. Post an error when we are asked to seek in a
14038 non-seekable file (like a fifo). Fixes #343312.
14041 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14043 * tools/gst-launch.1.in:
14044 Un-garble (fourcc) bit in filtered caps section.
14046 2006-06-16 Tim-Philipp Müller <tim at centricular dot net>
14048 * docs/manual/advanced-autoplugging.xml:
14049 * docs/manual/basics-helloworld.xml:
14050 * docs/manual/highlevel-components.xml:
14051 Don't leak bus reference in sample code.
14053 2006-06-15 Tim-Philipp Müller <tim at centricular dot net>
14056 Add default for new --enable-plugin-docs switch.
14059 Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14062 * docs/Makefile.am:
14063 Use new ENABLE_PLUGIN_DOCS conditional.
14065 2006-06-14 Wim Taymans <wim@fluendo.com>
14067 * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14068 Make it clear with a FIXME and a real define what the #if 0
14069 previously disabled.
14071 2006-06-14 Wim Taymans <wim@fluendo.com>
14073 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14074 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14075 * libs/gst/base/gstbasetransform.c:
14076 (gst_base_transform_sink_eventfunc):
14077 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14078 Don't randomly and silently reset a segment when the format
14079 changes as this is a bug somewhere upstream. Fixes #330379.
14081 2006-06-14 Tim-Philipp Müller <tim at centricular dot net>
14083 Patch by: Wouter Paesen <wouter at kangaroot net>
14085 * libs/gst/controller/gstcontroller.c:
14086 (gst_controlled_property_new):
14087 Fix controlling of float properties (#344849).
14089 * tests/check/libs/controller.c:
14090 (gst_test_mono_source_get_property),
14091 (gst_test_mono_source_set_property),
14092 (gst_test_mono_source_class_init), (GST_START_TEST):
14093 While we're at it, add some float stuff to unit test.
14095 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14098 * docs/images/gdp-header.svg:
14100 * docs/libs/Makefile.am:
14101 * docs/libs/gdp-header.png:
14102 * libs/gst/dataprotocol/dataprotocol.c:
14103 add it to the API docs
14104 * docs/manual/intro-motivation.xml:
14107 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14109 * gst/gst.c: (scan_and_update_registry), (init_post):
14110 If the fork()'ed child process can't write the updated registry cache
14111 file to disk for some reason, make it exit with a failure exit code,
14112 so that the parent can then re-scan the plugins itself and update the
14113 registry structures in memory and work with that (rather than failing
14114 when creating elements because seemingly no plugins are available).
14115 Refactor registry scanning code into separate function for this and
14116 also separate fork() and non-fork() code paths. Fixes #344748.
14118 2006-06-13 Wim Taymans <wim@fluendo.com>
14120 * docs/manual/advanced-dataaccess.xml:
14121 Fix wrong PluginDesc. Fixes #344755.
14123 2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
14125 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14126 Fix silly bug that prevented us from creating
14127 ~/.gstreamer-0.10 and writing the registry in one
14128 go (the first call to g_mkstemp() would overwrite the
14129 placeholder in the template string, so the second call
14130 to g_mkstemp() after creating the missing directory
14131 would then error out with 'invalid argument').
14133 2006-06-13 Edward Hervey <edward@fluendo.com>
14135 * gst/gst.c: (init_post):
14138 2006-06-13 Thomas Vander Stichele <thomas at apestaart dot org>
14140 * gst/glib-compat-private.h:
14141 * gst/glib-compat.c:
14142 * gst/glib-compat.h:
14143 * gst/gstvalue.c: (gst_value_serialize_flags):
14144 remove GLib 2.6 compatibility code
14146 2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
14148 * gst/parse/Makefile.am:
14149 Fix build with 'make -j N' even more (#340016).
14151 2006-06-12 Wim Taymans <wim@fluendo.com>
14153 * docs/gst/gstreamer-sections.txt:
14156 2006-06-12 Wim Taymans <wim@fluendo.com>
14158 * gst/gstsegment.c: (gst_segment_set_duration),
14159 (gst_segment_set_last_stop), (gst_segment_set_seek),
14160 (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14161 (gst_segment_to_running_time), (gst_segment_clip):
14162 Use G_UNLIKELY to help the compiler a bit.
14164 2006-06-12 Wim Taymans <wim@fluendo.com>
14166 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14168 * gst/gstevent.c: (gst_event_get_type):
14169 * gst/gstmessage.c:
14170 * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14172 constify quark registration strings. Fixes #344115
14173 Avoid unneeded type checking is _pad_push() by internally
14174 calling gst_pad_chain_unchecked().
14176 2006-06-12 Wim Taymans <wim@fluendo.com>
14178 * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14179 (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14180 (gst_subbuffer_finalize), (gst_buffer_create_sub),
14181 (gst_buffer_is_span_fast), (gst_buffer_span):
14182 Init _type for consistency.
14183 Use _FLAGS macro to avoid type check.
14184 Avoid unneeded type checks in subbufer code.
14186 2006-06-12 Wim Taymans <wim@fluendo.com>
14188 * gst/gst.c: (gst_debug_help):
14189 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14190 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14191 (gst_plugin_feature_list_free):
14192 * gst/gstregistry.c: (gst_registry_add_plugin),
14193 (gst_registry_add_feature), (gst_registry_plugin_filter),
14194 (gst_registry_feature_filter), (gst_registry_find_plugin),
14195 (gst_registry_find_feature), (gst_registry_get_plugin_list),
14196 (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14197 * gst/gstregistryxml.c: (load_feature),
14198 (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14199 * gst/gstminiobject.c: (gst_mini_object_unref),
14200 (gst_mini_object_replace), (gst_value_mini_object_free),
14201 (gst_value_mini_object_copy):
14202 Use _CAST macros to avoid unneeded type checking.
14203 Added some more G_UNLIKELY.
14205 2006-06-12 Wim Taymans <wim@fluendo.com>
14208 Avoid unneeded type checking.
14209 API: GST_BUFFER_IS_DISCONT
14211 * gst/gstminiobject.h:
14212 Avoid type check in flag accessor.
14214 * gst/gstelementfactory.h:
14216 * gst/gstpluginfeature.h:
14218 API: GST_ELEMENT_FACTORY_CAST
14219 API: GST_PLUGIN_CAST
14220 API: GST_PLUGIN_FEATURE_CAST
14222 2006-06-12 Wim Taymans <wim@fluendo.com>
14224 * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14225 (gst_object_unref):
14226 Add G_UNLIKELY in type registration.
14227 Avoid type check in _ref/_unref since that is also
14230 2006-06-12 Wim Taymans <wim@fluendo.com>
14232 * gst/gsterror.c: (gst_g_error_get_type):
14233 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14234 (gst_static_pad_template_get_type):
14235 * gst/gsttaglist.c: (gst_tag_list_get_type):
14236 * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14237 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14238 * gst/gsturi.c: (gst_uri_handler_get_type):
14239 * gst/gstvalue.c: (gst_date_get_type):
14240 * gst/gstxml.c: (gst_xml_get_type):
14241 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14242 (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14243 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14244 Add G_UNLIKELY in type registration.
14246 2006-06-12 Wim Taymans <wim@fluendo.com>
14248 * tools/gst-inspect.c: (print_signal_info):
14249 Properly print enum values.
14251 2006-06-12 Wim Taymans <wim@fluendo.com>
14253 * gst/gstinfo.c: (gst_debug_set_active),
14254 (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14256 Add some G_[UN]LIKELY.
14257 Maintain __gst_debug_min to avoid formatting the arguments of
14258 debug messages that will be dropped anyway to avoid a lot of
14259 overhead from the debugging system.
14261 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14264 * po/POTFILES.skip:
14265 add missing files containing translatable strings, tell intltool about
14268 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14270 * tests/check/libs/.cvsignore:
14271 add test-binary to ignore list
14273 2006-06-11 Stefan Kost <ensonic@users.sf.net>
14275 * docs/libs/gstreamer-libs-docs.sgml:
14276 reorder (put dp into a chapter) and indent
14278 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14283 === release 0.10.8 ===
14285 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14288 releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14290 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14292 * gst/gst.c: (init_post):
14293 move pid declaration to declaration block
14295 2006-06-10 Thomas Vander Stichele <thomas at apestaart dot org>
14297 * gst/gst.c: (init_post):
14298 use _exit() instead of exit() in our forked child; this ensures
14299 that none of the registered exit handlers from whatever is using
14300 GStreamer get executed. This fixes gnome-mixer-applet failing
14301 to load, because ORBit would shut down.
14302 Spotted by: Edward Hervey <edward@fluendo.com>
14303 Fix suggested by: Tim-Philipp Müller <tim at centricular dot net>
14306 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14311 === release 0.10.7 ===
14313 2006-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
14316 releasing 0.10.7, "Soepeke, ik zie ou"
14318 2006-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
14341 * win32/common/config.h:
14342 0.10.6.2 prerelease
14344 2006-06-07 Wim Taymans <wim@fluendo.com>
14346 * gst/gstindex.c: (gst_index_gtype_resolver):
14347 * tools/gst-xmlinspect.c: (print_plugin_info):
14348 Fix leak spotted by coverity checker. Fixes #343827
14349 Fix another other leak found by paolo borelli.
14351 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14353 * libs/gst/dataprotocol/dataprotocol.c:
14354 (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14355 (gst_dp_version_get_type), (gst_dp_init),
14356 (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14357 (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14358 (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14359 (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14360 (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14361 (gst_dp_packetizer_free):
14362 * libs/gst/dataprotocol/dataprotocol.h:
14363 API: add a GstDPPacketizer object, and create/free functions
14364 API: add GstDPVersion enum
14365 Add 1.0 event function that uses the string serialization
14366 Serialize more useful buffer flags
14369 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14371 * tests/check/Makefile.am:
14372 * tests/check/gst/gstabi.c:
14373 * tests/check/gst/struct_ppc64.h:
14374 * tests/check/libs/libsabi.c:
14375 * tests/check/libs/struct_ppc64.h:
14376 add ppc64 structure sizes
14378 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14380 * tests/check/Makefile.am:
14381 * tests/check/gst/gstabi.c:
14382 * tests/check/gst/struct_x86_64.h:
14383 * tests/check/libs/libsabi.c:
14384 * tests/check/libs/struct_x86_64.h:
14385 generate and add structure size lists for x86_64
14387 2006-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
14389 * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14390 * libs/gst/check/gstcheck.h:
14391 factor out the method from tests that checks size of structures,
14392 and add code to generate the header containing these sizes
14393 * tests/check/gst/gstabi.c: (GST_START_TEST):
14394 * tests/check/gst/struct_i386.h:
14395 * tests/check/libs/libsabi.c: (GST_START_TEST):
14396 * tests/check/libs/struct_i386.h:
14399 2006-06-06 Michael Smith <msmith@fluendo.com>
14401 * gst/gstsegment.h:
14402 Don't use c++-style comments, fixes #343929
14404 2006-06-05 Edward Hervey <edward@fluendo.com>
14407 plugin_paths is not used if we build without registry support.
14409 * gst/gstsegment.c: (gst_segment_copy):
14410 _copy() was always returning NULL...
14412 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14414 * libs/gst/dataprotocol/dataprotocol.c:
14415 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14416 (gst_dp_packet_from_event):
14417 factor out CRC code
14419 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14421 * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14422 make sure we unset caps
14424 2006-06-02 Michael Smith <msmith@fluendo.com>
14426 * libs/gst/check/gstcheck.c: (gst_check_init),
14427 (gst_check_chain_func):
14428 * libs/gst/check/gstcheck.h:
14429 Add a cond/mutex to the check support lib, signal this whenever we
14430 add to the buffers list. This will allow tests to not busy-wait on
14433 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14435 * libs/gst/dataprotocol/dataprotocol.c:
14436 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14437 (gst_dp_packet_from_event):
14438 factor out some common header init code
14440 2006-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
14442 * docs/libs/gstreamer-libs-sections.txt:
14443 * docs/libs/tmpl/gstdataprotocol.sgml:
14444 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14445 * libs/gst/dataprotocol/dataprotocol.h:
14446 API: make gst_dp_crc() public
14448 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14450 * plugins/indexers/gstindexers.c: (plugin_init):
14451 conditionally register fileindexer (fixes #343598)
14453 2006-06-01 Stefan Kost <ensonic@users.sf.net>
14455 * gst/gsttagsetter.h:
14456 Can't cast ifaces to a class
14458 * libs/gst/net/gstnetclientclock.h:
14459 * libs/gst/net/gstnettimeprovider.h:
14460 * plugins/elements/gstfakesink.h:
14461 * plugins/elements/gstfakesrc.h:
14462 * plugins/elements/gstfdsink.h:
14463 * plugins/elements/gstfdsrc.h:
14464 * plugins/elements/gstfilesink.h:
14465 * plugins/elements/gstfilesrc.h:
14466 * plugins/elements/gstidentity.h:
14467 * plugins/elements/gstqueue.h:
14468 * plugins/elements/gsttee.h:
14469 * plugins/indexers/gstfileindex.c:
14470 * plugins/indexers/gstmemindex.c:
14471 * tests/old/examples/plugins/example.h:
14472 Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14474 2006-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
14476 * libs/gst/dataprotocol/dataprotocol.c:
14477 (gst_dp_header_from_buffer):
14478 make sure we zero the whole ABI-compatible area
14480 2006-06-01 Wim Taymans <wim@fluendo.com>
14482 Patch by: Alessandro Decina <alessandro at nnva dot org>
14484 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14485 Make sure the EOS flag is cleared from pads after a flush
14486 or stop. Fixes #343538.
14488 * tests/check/libs/collectpads.c: (GST_START_TEST),
14489 (gst_collect_pads_suite):
14490 Added test for collectpads reusage after EOS.
14492 2006-05-30 Sebastien Moutte <sebastien@moutte.net>
14495 set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14496 * win32/common/libgstbase.def:
14497 export gst_collect_pads_set_flushing
14498 * win32/common/libgstreamer.def:
14499 export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14500 gst_value_fraction_multiply
14501 * win32/vs6/gst_inspect.dsp:
14502 add a link to intl.lib
14504 2006-05-30 Wim Taymans <wim@fluendo.com>
14506 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14507 (gst_collect_pads_chain):
14508 Handle the case where a pad is removed from the collection
14509 that could cause the other pads to become collectable.
14511 2006-05-30 Wim Taymans <wim@fluendo.com>
14513 * gst/gstelement.c:
14514 Clarify the use of _release_request_pad() and
14515 _get_request_pad() a bit better.
14517 * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14518 (gst_adapter_take_buffer):
14519 Fix some doc and comment typos.
14521 2006-05-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
14523 * docs/gst/gstreamer-sections.txt:
14524 * docs/libs/gstreamer-libs-sections.txt:
14525 add declared symbols
14527 2006-05-30 Jan Schmidt <thaytan@mad.scientist.com>
14529 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14530 Add debug that can be enabled using a #define at the top of the file,
14531 for dumping stats about how late/early we were when waking up from
14532 waiting on the clock.
14534 2006-05-30 Wim Taymans <wim@fluendo.com>
14536 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14537 When rebuilding the pad list, don't leak the previous list.
14539 2006-05-30 Wim Taymans <wim@fluendo.com>
14541 Patch by: Lutz Mueller <lutz at topfrose dot de>
14543 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14544 (gst_base_src_get_query_types), (gst_base_src_update_length):
14545 Publish supported query types.
14546 Update last_stop field in get_range mode so the position
14547 query works. Fixes #342321.
14549 2006-05-30 Tim-Philipp Müller <tim at centricular dot net>
14551 * docs/gst/gstreamer-sections.txt:
14552 * gst/gsttaglist.c: (_gst_tag_initialize):
14553 * gst/gsttaglist.h:
14554 API: add GST_TAG_PREVIEW_IMAGE (#343341).
14556 2006-05-30 Wim Taymans <wim@fluendo.com>
14558 Patch by: Alessandro Decina <alessandro at nnva dot org>
14560 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14561 Unlock mutex when removing an unknown pad.
14564 * tests/check/Makefile.am:
14565 * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14566 (push_event), (setup), (teardown), (GST_START_TEST),
14567 (gst_collect_pads_suite), (main):
14568 Added collecpads check, disabled for now as check crashes for
14571 2006-05-29 Wim Taymans <wim@fluendo.com>
14573 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14574 Don't leak pads lists.
14576 2006-05-29 Wim Taymans <wim@fluendo.com>
14578 * docs/libs/gstreamer-libs-sections.txt:
14579 * libs/gst/base/gstcollectpads.c:
14580 (gst_collect_pads_set_flushing_unlocked),
14581 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14582 (gst_collect_pads_stop):
14583 * libs/gst/base/gstcollectpads.h:
14584 API: gst_collect_pads_set_flushing()
14585 Added api to set the pads to flushing, useful for seeking
14586 code in elements using collectpads.
14587 Clear segment when receiving a flush.
14589 2006-05-29 Tim-Philipp Müller <tim at centricular dot net>
14591 * gst/gst.c: (add_path_func), (init_post):
14592 Don't scan registry paths passed via --gst-plugin-path immediately
14593 (will crash, because absolutely nothing is set up and no types are
14594 registered etc.); do this later in init_post(). Fixes #343057.
14596 2006-05-28 Thomas Vander Stichele <thomas at apestaart dot org>
14598 * gst/gst.c: (init_post):
14599 if we have fork, fork while reading/rebuilding the registry
14600 so the parent doesn't take the hit of having all plugins loaded
14601 in memory. Fixes #342777.
14603 Check if we have fork()
14604 * win32/common/config.h.in:
14607 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14609 * plugins/elements/gstelements.c:
14610 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14611 (gst_file_src_init), (gst_file_src_set_property),
14612 (gst_file_src_get_property), (gst_file_src_start):
14613 * plugins/elements/gstfilesrc.h:
14614 API: GstFileSrc::use-mmap
14616 Add a use-mmap property to enable easier testing of all code paths.
14617 Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14618 in the absence of gnomevfssrc. (Closes #340501)
14620 2006-05-26 Zaheer Abbas Merali <zaheerabbas at merali dot org>
14622 * tools/gst-inspect.c:
14623 Add missing include, removes warning of ngettext not being defined on
14626 2006-05-26 Jan Schmidt <thaytan@mad.scientist.com>
14628 * gst/gstvalue.c: (gst_value_deserialize_fraction):
14629 Handle NULL input and output pointers silently as a failed conversion,
14630 rather than g_warnings.
14632 2006-05-25 Wim Taymans <wim@fluendo.com>
14634 * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14635 Initialize variable before using. Fixes #342820.
14637 2006-05-24 Tim-Philipp Müller <tim at centricular dot net>
14639 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14640 Fix off-by-one bug that would only allow peeks of N-1 bytes
14641 from the start even if the buffer to typefind on contains
14642 in fact N bytes of data (makes vorbis typefinding from a
14643 vorbis identification header buffer work).
14645 * tests/check/Makefile.am:
14646 * tests/check/libs/.cvsignore:
14647 * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14648 (gst_typefindhelper_suite), (main), (foobar_typefind),
14650 Add very basic unit test for gst_type_find_helper_for_buffer()
14651 that checks for the problem fixed above.
14653 2006-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
14655 * tools/gst-inspect.c: (print_interfaces),
14656 (print_element_properties_info), (print_element_list), (main):
14657 add more translatable strings
14659 2006-05-23 Tim-Philipp Müller <tim at centricular dot net>
14661 Patch by: Julien Moutte <julien at moutte net>
14663 * docs/gst/gstreamer-sections.txt:
14664 Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14666 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14667 (gst_fake_sink_preroll):
14668 * plugins/elements/gstfakesink.h:
14669 API: Add new GstFakeSink::preroll-handoff signal (#337100).
14671 2006-05-23 Wim Taymans <wim@fluendo.com>
14673 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14675 Added _CUSTOM error and success GstFlowReturn that can be
14676 used be elements internally.
14677 Added macro to check for SUCCESS flowreturns.
14678 API: GST_FLOW_CUSTOM_SUCCESS
14679 API: GST_FLOW_CUSTOM_ERROR
14680 API: GST_FLOW_IS_SUCCESS
14682 * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14683 Added check for GstFlowReturn sanity.
14685 2006-05-23 Wim Taymans <wim@fluendo.com>
14687 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14689 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14690 (gst_collect_pads_event):
14691 clear/reset segment info in FLUSH_STOP.
14694 2006-05-22 Stefan Kost <ensonic@users.sf.net>
14696 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14697 (gst_collect_pads_check_collected):
14698 Flush queued buffer on _stop(), fixes playing again (#342454)
14700 2006-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
14702 * tests/check/gst/gststructure.c: (GST_START_TEST),
14703 (gst_structure_suite):
14704 add a test for a complete structure
14706 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14708 * docs/faq/developing.xml:
14709 * docs/faq/faq.xml:
14710 * docs/faq/troubleshooting.xml:
14711 * docs/faq/using.xml:
14712 Some minor FAQ updates that won't change the fact that
14713 our FAQ is badly structured, full of information hardly
14714 anyone new to GStreamer needs to know and lacking lots
14715 of information people constantly ask for.
14717 2006-05-19 Jan Schmidt <thaytan@mad.scientist.com>
14719 * gst/gstpad.c: (gst_pad_set_caps):
14720 Short-circuit gst_pad_set_caps if setting the existing
14721 caps pointer again, and avoid printing debug and
14722 reffing/unreffing the caps.
14724 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14725 There's actually no need to set the caps before pushing -
14726 the acceptcaps method will handle it anyway.
14728 2006-05-19 Tim-Philipp Müller <tim at centricular dot net>
14730 * docs/gst/gstreamer-sections.txt:
14731 * win32/common/libgstreamer.def:
14732 * gst/gstutils.c: (gst_element_seek_simple):
14734 API: add gst_element_seek_simple() (#342238).
14736 2006-05-18 Edward Hervey <edward@fluendo.com>
14738 * gst/gsttypefind.c: (gst_type_find_get_type):
14739 * gst/gsttypefind.h:
14740 Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14741 registered for GstTypeFind pointers. This allows wrapping the structure
14742 in bindings (i.e. gst-python).
14744 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14746 * gst/gsttagsetter.c:
14747 Docs additions and fixes (see #339918).
14749 2006-05-18 Jan Schmidt <thaytan@mad.scientist.com>
14751 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14752 The caps intersection algorithm can produce multiple copies of the
14753 caps. Until that is fixed, we need to simplify the result to be
14754 sure whether the allowed caps are fixed or not.
14756 * plugins/elements/gstqueue.c: (gst_queue_init),
14757 (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14758 (gst_queue_push_one):
14759 Proxied buffer alloc should not set the caps on the source pad.
14760 When pushing buffers, we always accept the caps change that triggers.
14761 This prevents negotiation errors caused by caps changing mid-stream
14762 and then being refused on our source pad (because upstream is now
14763 refusing those caps).
14765 2006-05-18 Tim-Philipp Müller <tim at centricular dot net>
14767 * tests/examples/helloworld/helloworld.c: (main):
14768 Must plug audioconvert and audioresample between decoder
14771 2006-05-17 Jan Schmidt <thaytan@mad.scientist.com>
14773 * gst/gstregistryxml.c: (read_string), (load_pad_template),
14774 (load_feature), (load_plugin):
14775 Allow empty strings for some of the plugin fields so we don't
14776 drop valid plugin entries that were written out correctly
14779 2006-05-17 Sebastien Moutte <sebastien@moutte.net>
14781 * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14782 Use g_remove and g_rename instead of remove and rename that don't
14783 handle utf8 characters. rename was failing for users who had specific
14784 characters in their name then the registry was built at each
14786 * win32/vs6/gst_inspect.dsp:
14787 * win32/vs6/gst_launch.dsp:
14788 * win32/vs6/libgstbase.dsp:
14789 * win32/vs6/libgstcoreelements.dsp:
14790 * win32/vs6/libgstreamer.dsp:
14791 Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG
14792 build of libgstreamer and clean unused libraries in projects link
14795 2006-05-17 Edward Hervey <edward@fluendo.com>
14797 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14798 The queue is not responsible for pushing an EOS when receiving a fatal
14799 flow error. It's up to the real element driving the pipeline to do that.
14801 2006-05-16 Edward Hervey <edward@fluendo.com>
14803 * plugins/elements/gstqueue.c: (gst_queue_push_one):
14804 The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14805 buffer returned a fatal error. It should just send an EOS and stop
14807 Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14808 when pushing buffers on the queue and will be able to handle the event.
14810 2006-05-16 Tim-Philipp Müller <tim at centricular dot net>
14812 * docs/manual/basics-bins.xml:
14813 * docs/manual/basics-init.xml:
14814 Fix typos and minor errors in sample code (#341856).
14816 2006-05-16 Wim Taymans <wim@fluendo.com>
14818 * docs/design/part-qos.txt:
14819 Fix indexes in formulas to make more sense.
14821 2006-05-15 Wim Taymans <wim@fluendo.com>
14823 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14824 Don't report POSITION based on clock time if sync is
14825 disabled in a sink.
14827 2006-05-15 Tim-Philipp Müller <tim at centricular dot net>
14830 Add cast to make compiler happy - refcount variable was a gint
14831 in GstObject but is a guint in GObject and g_atomic_int_get()
14834 2006-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
14836 * gst/parse/Makefile.am:
14837 chain commands using &&, which also makes parallel make work
14839 2006-05-14 Tim-Philipp Müller <tim at centricular dot net>
14841 * docs/gst/gstreamer-sections.txt:
14844 * gst/gstmessage.h:
14847 === release 0.10.6 ===
14849 2006-05-14 Jan Schmidt <thaytan@mad.scientist.com>
14852 releasing 0.10.6, "Take the cannoli"
14854 2006-05-13 Tim-Philipp Müller <tim at centricular dot net>
14856 * tools/gst-launch.c: (print_tag):
14857 Fix use of uninitialized variable in the hypothetical
14858 case that some broken plugin creates a GST_TAG_IMAGE
14859 tag containing a NULL buffer (#341667).
14861 2006-05-12 Tim-Philipp Müller <tim at centricular dot net>
14863 * tools/gst-launch.c: (print_tag):
14864 Print something more intelligible for image tags when
14865 using the -t switch (#341556).
14867 2006-05-12 Thomas Vander Stichele <thomas at apestaart dot org>
14872 define GST_MAJORMINOR so we have it available in win32/common/config.h
14873 Possibly remove it from our Makefile.am files later
14874 * win32/common/config.h:
14875 * win32/common/config.h.in:
14876 added GST_MAJORMINOR
14877 * win32/common/gstenumtypes.c: (register_gst_resource_error):
14878 * win32/common/gstversion.h:
14881 2006-05-12 Sebastien Moutte <sebastien@moutte.net>
14884 Update win32 files listing.
14885 * win32/common/gstversion.h:
14886 Add GST_MAJORMINOR definition.
14887 * win32/common/libgstreamer.def:
14888 Add new exported functions.
14890 2006-05-12 Michael Smith <msmith@fluendo.com>
14892 * gst/gstplugin.c: (gst_plugin_load_file):
14893 If an so file has no plugin entry point, unload the module.
14895 2006-05-11 Wim Taymans <wim@fluendo.com>
14897 * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14898 (gst_queue_set_property):
14899 Don't forget to signal the _chain or _loop function
14900 when the queue size or thresholds change since that might
14901 cause them to make progres again.
14903 2006-05-11 Stefan Kost <ensonic@users.sf.net>
14905 * gst/gstclock.c: (gst_clock_class_init):
14906 * gst/gstindex.c: (gst_index_class_init):
14907 * gst/gstobject.c: (gst_object_class_init):
14908 * gst/gstpad.c: (gst_pad_class_init):
14909 * gst/gstpipeline.c: (gst_pipeline_class_init):
14910 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14911 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14912 * libs/gst/base/gstbasetransform.c:
14913 (gst_base_transform_class_init):
14914 * libs/gst/net/gstnetclientclock.c:
14915 (gst_net_client_clock_class_init):
14916 * libs/gst/net/gstnettimeprovider.c:
14917 (gst_net_time_provider_class_init):
14918 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14919 * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14920 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14921 * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14922 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14923 * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14924 * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14925 * plugins/elements/gstidentity.c: (gst_identity_class_init):
14926 * plugins/elements/gsttee.c: (gst_tee_class_init):
14927 * tests/old/examples/plugins/example.c: (gst_example_class_init):
14928 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14929 G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14931 2006-05-11 Wim Taymans <wim@fluendo.com>
14933 * gst/gstbuffer.c: (_gst_buffer_initialize):
14934 Register subbufer along with the buffer type so that
14935 it does not accidentally gets registered from N
14936 different streaming threads in a non threadsafe way.
14938 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14942 * gst/gstmessage.h:
14943 Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14944 gst_event_ref() and gst_message_ref() functions again
14945 (ugly hack, please do fix if there's a better way besides
14946 overrides.txt, which doesn't seem to work).
14948 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14950 * libs/gst/check/gstcheck.h:
14951 add an assert for setting state to avoid lots of repetitive code
14954 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14956 * gst/gstvalue.c: (gst_value_serialize_flags):
14957 fix a leak if no flags are set
14958 * tests/check/gst/gstvalue.c: (GST_START_TEST):
14961 2006-05-10 Tim-Philipp Müller <tim at centricular dot net>
14963 * docs/manual/basics-pads.xml:
14964 Expand a bit on caps and filtered links and update
14965 examples that were still using the no longer existing
14966 gst_pad_link_filtered() (#338206).
14968 2006-05-10 Wim Taymans <wim@fluendo.com>
14970 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14971 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14972 (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14973 (gst_collect_pads_stop):
14974 * libs/gst/base/gstcollectpads.h:
14975 No need to call _stop in _finalize.
14976 Iterate the main pad list in _finalize.
14977 Added some more debug.
14978 Free lists and data in the right order.
14979 Also free data whem doing _remove_pad when stopped for
14980 backward compatibility protect ::started with PAD_LOCK as
14983 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14985 * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14986 (gst_structure_parse_value):
14988 rename a method so that it actually says what it does better
14990 2006-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
14992 * gst/gstevent.c: (_gst_event_initialize):
14993 * gst/gstformat.c: (_gst_format_initialize):
14994 make sure some essential types used by events are registered
14995 as part of gst_init()
14996 * gst/gstvalue.c: (gst_value_serialize_flags):
14997 if no flags are set, serialize them to a value that represents NONE
14998 so that deserializing them works
14999 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15000 add tests for serialization and deserialization of flags
15002 2006-05-10 Wim Taymans <wim@fluendo.com>
15004 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15005 (gst_collect_pads_collect_range), (gst_collect_pads_available),
15006 (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15007 (gst_collect_pads_event), (gst_collect_pads_chain):
15010 Catch and return errors from the collect function
15011 Refuse data on eos pads.
15013 2006-05-10 Edward Hervey <edward@fluendo.com>
15015 * gst/gstinterface.h:
15016 GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15017 GInterface type checking.
15018 They were previously using non-defined macros.
15020 2006-05-09 Wim Taymans <wim@fluendo.com>
15022 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15023 (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15024 (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15025 (gst_collect_pads_start), (gst_collect_pads_stop),
15026 (gst_collect_pads_peek), (gst_collect_pads_pop),
15027 (gst_collect_pads_available), (gst_collect_pads_read),
15028 (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15029 (gst_collect_pads_is_collected), (gst_collect_pads_event),
15030 (gst_collect_pads_chain):
15031 * libs/gst/base/gstcollectpads.h:
15032 Clean up the mess that is collectpads, add comments and
15033 FIXMEs where needed.
15034 Maintain a separate pad list so we can add pads while
15035 collecting the other ones. For this we need a new separate
15037 Fix memory leak in finalize.
15038 Refactor some weird code to set/unset pad flushing flags, mark
15040 Don't crash in _available, _read, _flush when we're EOS.
15042 * tests/check/libs/.cvsignore:
15043 Ignore adapter check binary.
15045 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15047 * gst/gstindex.c: (gst_index_resolver_get_type):
15048 * plugins/elements/gstfakesink.c:
15049 (gst_fake_sink_state_error_get_type):
15050 * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15051 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15052 * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15053 Const-ify GEnumValue arrays.
15055 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15057 * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15058 Add test case for flags + gst_buffer_make_metadata_writable().
15060 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15062 * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15063 gst_buffer_make_metadata_writable() should maintain the
15064 buffer flags (those that make sense at least) (see #340859).
15066 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15068 * tools/gst-inspect.c:
15069 * tools/gst-launch.c:
15070 * tools/gst-typefind.c:
15071 * tools/gst-xmlinspect.c:
15073 Fix up includes: need to include stdlib.h in tools.h for exit().
15075 2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
15077 * gst/gsttaglist.c: (_gst_tag_initialize):
15078 * gst/gsttaglist.h:
15079 API: add GST_TAG_IMAGE tag (#340721).
15081 2006-05-08 Wim Taymans <wim@fluendo.com>
15084 Added some docs for the segment query.
15086 2006-05-08 Wim Taymans <wim@fluendo.com>
15088 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15089 (gst_base_src_loop), (gst_base_src_change_state):
15090 Always push non-flushing serialized events in the streaming
15093 2006-05-08 Thomas Vander Stichele <thomas at apestaart dot org>
15095 * gst/gsterror.c: (_gst_stream_errors_init):
15096 Add a missing error string.
15098 2006-05-08 Jan Schmidt <thaytan@mad.scientist.com>
15100 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15101 Add applied_rate to the debug
15103 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15104 Copy applied_rate into the outgoing NEWSEGMENT event
15106 2006-05-08 Wim Taymans <wim@fluendo.com>
15108 Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15110 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15111 (gst_base_sink_change_state):
15112 call ::unlock before taking the PREROLL_LOCK so we can safely
15113 handle elements that lock in ::render.
15116 2006-05-08 Edward Hervey <edward@fluendo.com>
15118 * autogen.sh: (CONFIGURE_DEF_OPT):
15119 Darwin's libtoolize is in fact called glibtoolize.
15120 Adding glibtoolize to the list of accepted names for libtoolize.
15122 2006-05-08 Wim Taymans <wim@fluendo.com>
15124 * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15125 Unify error handling, don't post an error message
15126 when a push() returns EOS but perform our normal EOS
15127 handling code. Fixes #340772.
15129 2006-05-08 Wim Taymans <wim@fluendo.com>
15131 * docs/design/part-overview.txt:
15132 Make upsteam/downstream concepts more clear.
15133 Give an example of serialized/non-serialized events.
15135 * docs/design/part-events.txt:
15136 * docs/design/part-streams.txt:
15137 Mention applied_rate.
15139 * docs/design/part-trickmodes.txt:
15140 Mention applied rate, flesh out some more use cases.
15142 * gst/gstevent.c: (gst_event_new_new_segment),
15143 (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15144 (gst_event_parse_new_segment_full), (gst_event_new_tag),
15145 (gst_event_parse_tag), (gst_event_new_buffer_size),
15146 (gst_event_parse_buffer_size), (gst_event_new_qos),
15147 (gst_event_parse_qos), (gst_event_parse_seek),
15148 (gst_event_new_navigation):
15150 Add applied_rate field to NEWSEGMENT event.
15151 API: gst_event_new_new_segment_full()
15152 API: gst_event_parse_new_segment_full()
15154 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15155 (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15156 (gst_segment_to_stream_time), (gst_segment_to_running_time):
15157 * gst/gstsegment.h:
15158 Add applied_rate to GstSegment structure.
15159 Make calculation of stream_time and running_time more correct
15160 wrt rate/applied_rate.
15161 Add some more docs.
15162 API: GstSegment::applied_rate field
15163 API: gst_segment_set_newsegment_full();
15165 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15166 (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15167 * libs/gst/base/gstbasetransform.c:
15168 (gst_base_transform_sink_eventfunc),
15169 (gst_base_transform_handle_buffer):
15170 Parse and use applied_rate in the GstSegment field.
15172 * tests/check/gst/gstevent.c: (GST_START_TEST):
15173 Add check for applied_rate field.
15175 * tests/check/gst/gstsegment.c: (GST_START_TEST),
15176 (gstsegments_suite):
15177 Add more checks for various GstSegment operations.
15179 2006-05-08 Wim Taymans <wim@fluendo.com>
15181 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15182 (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15183 (gst_base_sink_get_position), (gst_base_sink_change_state):
15184 Store the sync time of the buffer end position separatly in a
15185 new variable eos_rtime so we can properly sync the EOS event.
15187 Fix the docs for gst_base_sink_set_qos_enabled().
15188 Don't set segment start to invalid value when we receive a
15189 non TIME newsegment.
15190 get closer to handling position reporting for negative rates
15193 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15196 Docs about how to print caps for debug purposes.
15198 * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15199 use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15201 2006-05-07 Stefan Kost <ensonic@users.sf.net>
15203 * gst/gstelement.c:
15204 use full enum names and preprend a '%' in docs strings to make recent
15205 gtk-doc turn that into a link
15207 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15209 * docs/manual/basics-bins.xml:
15210 * docs/manual/basics-bus.xml:
15211 * docs/manual/basics-pads.xml:
15212 Some typo fixes, some additions, some clarifications.
15214 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15216 * tools/gst-inspect.c: (main):
15217 * tools/gst-launch.c: (main):
15218 * tools/gst-run.c: (main):
15219 * tools/gst-typefind.c: (main):
15220 * tools/gst-xmlinspect.c: (main):
15221 Use the string passed to g_option_context_new() for
15222 what it's intended for - the program name is already
15225 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15227 * tools/Makefile.am:
15228 * tools/gst-inspect.c: (main):
15229 * tools/gst-launch.c: (main):
15230 * tools/gst-xmlinspect.c: (main):
15232 Add back --version command line option (#340460).
15234 * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15235 Add --version option and use GOption for argument parsing; refactor a
15236 bit; accept directories as arguments and recurse into them; lastly,
15237 print a decent error message when things go wrong.
15239 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15241 * docs/manual/basics-bins.xml:
15242 Don't mention GstThread (#340611)
15243 * docs/manual/basics-elements.xml:
15244 Update link to GObject tutorial (#340607)
15246 2006-05-05 Wim Taymans <wim@fluendo.com>
15249 * gst/gstminiobject.c:
15250 Add note about refcounting and miniobject/buffer writeability
15251 to docs. Fixes #340604
15253 * gst/gstelementfactory.h:
15254 Added some explanation about @klass.
15256 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15258 * docs/manual/intro-motivation.xml:
15259 * docs/manual/manual.xml:
15260 Avoid CORBA & Bonobo references (#340598)
15262 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15264 * docs/manual/basics-bus.xml:
15265 * docs/manual/basics-pads.xml:
15266 Fix up some inaccuracies and omissions (#340609)
15268 2006-05-05 Maciej Katafiasz <mathrick@freedesktop.org>
15270 * gst/gstghostpad.c:
15271 Small typo in docs (#340625)
15273 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15275 * gst/parse/Makefile.am:
15276 Make 'make -j' proof (see #340698).
15278 2006-05-05 Tim-Philipp Müller <tim at centricular dot net>
15281 Require GLib-2.8 here as well.
15283 2006-05-05 Wim Taymans <wim@fluendo.com>
15285 * gst/glib-compat.c:
15286 * gst/gst.c: (init_pre):
15287 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15288 (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15289 (gst_object_dispatch_properties_changed):
15291 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15292 * gst/gststructure.c: (gst_structure_set_valist):
15293 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15294 Remove pre glib2.8 compatibility, fixes #340508
15296 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15298 * gst/gsttaglist.h:
15299 Mention type of tags in doc blurbs.
15301 2006-05-04 Jan Schmidt <thaytan@mad.scientist.com>
15303 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15304 (gst_pad_configure_src), (gst_pad_push):
15305 Restore acceptcaps checking behaviour now that good plugins have
15308 2006-05-04 Tim-Philipp Müller <tim at centricular dot net>
15310 Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15317 * gst/gstmessage.c:
15321 * gst/parse/Makefile.am:
15322 * libs/gst/base/gstadapter.c:
15323 * libs/gst/base/gstbasesrc.c:
15324 * libs/gst/base/gstpushsrc.c:
15325 * libs/gst/base/gsttypefindhelper.c:
15326 * plugins/elements/gstfakesrc.c:
15327 * plugins/elements/gstidentity.c:
15328 Make sure gstprivate.h and/or config.h are
15329 always included first, otherwise some of our
15330 defines (like _FILE_OFFSET_BITS) might be
15331 redefined in the system headers. Fixes build
15332 on opensolaris (#340016).
15334 2006-05-04 Wim Taymans <wim@fluendo.com>
15336 * docs/libs/gstreamer-libs-sections.txt:
15337 API: addition: gst_adapter_take_buffer()
15339 * libs/gst/base/gstadapter.c: (gst_adapter_push),
15340 (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15341 (gst_adapter_available_fast):
15342 * libs/gst/base/gstadapter.h:
15343 Prepare for optimizing the hell out of this hugely inefficient
15345 Added gst_adapter_take_buffer() so we can at least start thinking
15346 about subbuffering and merging.
15347 Added some comments.
15349 * tests/check/Makefile.am:
15350 * tests/check/libs/adapter.c: (GST_START_TEST),
15351 (gst_adapter_suite), (main):
15352 Added GstAdapter check.
15354 2006-05-04 Wim Taymans <wim@fluendo.com>
15356 * docs/design/part-overview.txt:
15357 Fix some typos, add blurb about buffer flags.
15359 2006-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
15361 * docs/libs/gstreamer-libs-sections.txt:
15362 make sure GstBaseTransformClass shows up in the docs
15363 * libs/gst/base/gstbasetransform.c:
15364 * libs/gst/base/gstbasetransform.h:
15365 move docs so gtk-doc picks it up now
15367 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15369 * docs/libs/gstreamer-libs-sections.txt:
15370 add missing symbols to docs
15372 2006-05-02 Stefan Kost <ensonic@users.sf.net>
15374 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15375 back out the newsegment handling change, see #340060 for ongoing
15378 2006-04-30 Tim-Philipp Müller <tim at centricular dot net>
15380 * tools/gst-run.c: (get_candidates), (main):
15381 Fix wrong g_file_test() usage (see glib docs for why it doesn't
15382 work); fix typo in error message. Fixes #340079.
15384 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15386 * common/Makefile.am:
15387 * docs/Makefile.am:
15388 * docs/faq/Makefile.am:
15389 * docs/gst/Makefile.am:
15390 * docs/libs/Makefile.am:
15391 * docs/manual/Makefile.am:
15392 * docs/plugins/Makefile.am:
15393 * docs/pwg/Makefile.am:
15394 * docs/slides/Makefile.am:
15396 * common/upload.mak:
15397 move upload.mak to common
15399 2006-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
15401 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15402 add more asserts on refcounts
15403 do more cleanup at end of tests
15404 fix test leaks showing in FC5
15406 2006-04-29 Stefan Kost <ensonic@users.sf.net>
15408 * plugins/elements/gsttypefindelement.c:
15409 (gst_type_find_element_handle_event):
15410 reverted wrong change and reflowed code to avoid others falling into
15413 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15415 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15416 fix changelog entry about last collectpads change,
15417 add notes about proper fix
15419 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15422 * gst/gstregistry.c: (gst_registry_scan_path_level),
15423 (gst_registry_scan_path):
15424 * gst/gstregistry.h:
15425 only write out registry if it has changed, fixes #338339
15427 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15430 * gst/gstpipeline.c:
15431 * plugins/elements/gstcapsfilter.c:
15432 * plugins/elements/gstfakesink.c:
15433 * plugins/elements/gstfakesrc.c:
15434 * plugins/elements/gstfdsink.c:
15435 * plugins/elements/gstfdsrc.c:
15436 * plugins/elements/gstfilesink.c:
15437 * plugins/elements/gstfilesrc.c:
15438 * plugins/elements/gstidentity.c:
15439 * plugins/elements/gstqueue.c:
15440 * plugins/elements/gsttee.c:
15441 * plugins/elements/gsttypefindelement.c:
15442 (gst_type_find_element_handle_event):
15443 make GstElementDetails const
15445 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15447 * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15448 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15449 (gst_collect_pads_is_collected), (gst_collect_pads_event):
15450 more detailed debug and formatting cleanup,
15451 forward newsegments to src-pad (so that e.g. adder not eats them)
15453 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15455 * gst/gstutils.c: (gst_element_link_pads):
15456 cleanup double code
15458 2006-04-28 Stefan Kost <ensonic@users.sf.net>
15460 * libs/gst/controller/gstcontroller.c:
15461 (gst_controller_sync_values):
15463 * tests/check/libs/controller.c: (GST_START_TEST),
15464 (gst_controller_suite):
15465 a new test for live value handling
15467 2006-04-28 Wim Taymans <wim@fluendo.com>
15469 * gst/gstutils.c: (push_and_ref):
15470 Added some more docs.
15471 Fix refcount issue whith gst_element_found_tags() helper
15472 function. Fixes #338335
15474 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15475 Added testsuite for gst_element_found_tags().
15477 2006-04-28 Michael Smith <msmith@fluendo.com>
15479 * gst/gstvalue.c: (gst_value_serialize_flags):
15480 Avoid NULL dereference when trying to serialize flags containing
15483 2006-04-28 Michael Smith <msmith@fluendo.com>
15485 * plugins/elements/gsttypefindelement.c:
15486 (gst_type_find_element_handle_event):
15487 If we get EOS before any data is accumulated, don't use
15488 uninitialised local variables.
15490 2006-04-28 Michael Smith <msmith@fluendo.com>
15492 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15493 (gst_dp_event_from_packet):
15494 Fixes in reading/writing events over GDP (not currently used?) -
15495 dereferencing NULL events for unknown/invalid event types, memory
15496 leak, and change g_warning to GST_WARNING.
15498 2006-04-28 Wim Taymans <wim@fluendo.com>
15500 * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15501 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15502 (gst_base_sink_get_position), (gst_base_sink_change_state):
15503 When frame dropping is enabled, we should not ignore frames
15504 without a duration.
15505 Update some documentation.
15507 2006-04-28 Wim Taymans <wim@fluendo.com>
15509 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15510 (gst_base_src_send_event), (gst_base_src_change_state):
15511 Documentation updates.
15513 2006-04-28 Wim Taymans <wim@fluendo.com>
15515 * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15516 (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15517 handle EAGAIN, EINTR and short writes correctly. Also clean
15518 up some error cases, avoid a deadlock on bad file descriptors and
15519 use GST_DEBUG_OBJECT.
15522 2006-04-28 Wim Taymans <wim@fluendo.com>
15524 * gst/gstvalue.c: (gst_value_serialize_buffer),
15525 (gst_value_deserialize_buffer):
15526 Don't try to serialize a GValue with a NULL buffer.
15529 * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15530 Added check for serialisation of NULL buffers.
15532 2006-04-28 Wim Taymans <wim@fluendo.com>
15534 * gst/gstminiobject.c: (gst_value_take_mini_object):
15535 Taking a NULL miniobject is valid, fix the case where
15536 we try to unref the NULL miniobject.
15538 2006-04-28 Wim Taymans <wim@fluendo.com>
15540 Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15542 * gst/gstbin.c: (gst_bin_handle_message_func):
15544 Don't leak bin refcount when a state recalc is
15545 in progress and we delay another one #339808.
15547 2006-04-28 Wim Taymans <wim@fluendo.com>
15549 * docs/design/part-TODO.txt:
15550 Mention QoS as an ongoing work item.
15552 * docs/design/part-buffering.txt:
15553 New doc about buffering that needs to be fleshed out
15556 * docs/design/part-qos.txt:
15557 More QoS policy for decoders/demuxers/transforms
15559 * docs/design/part-trickmodes.txt:
15562 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15567 === release 0.10.5 ===
15569 2006-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
15572 releasing 0.10.5, "Fogo"
15574 2006-04-22 Thomas Vander Stichele <thomas at apestaart dot org>
15576 patch by: Wim Taymans
15578 * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15579 (gst_pad_configure_src), (gst_pad_push):
15580 * gst/gstpipeline.c: (gst_pipeline_init):
15581 Fix internal data flow errors. Fixes #338711.
15583 2006-04-12 Wim Taymans <wim@fluendo.com>
15585 * tests/check/gst/gstelement.c: (GST_START_TEST):
15586 Don't leak the factory.
15588 2006-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
15591 * win32/common/config.h:
15594 2006-04-12 Tim-Philipp Müller <tim at centricular dot net>
15596 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15597 (gst_controller_unset_all):
15598 Free allocated GstTimedValues when freeing list nodes.
15599 Should fix leaks 'make check-valgrind' complains about.
15601 * win32/common/libgstcontroller.def:
15602 Add gst_controller_unset_all.
15604 2006-04-11 Stefan Kost <ensonic@users.sf.net>
15606 * docs/libs/gstreamer-libs-sections.txt:
15607 * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15608 (gst_controller_unset_all):
15609 * libs/gst/controller/gstcontroller.h:
15610 API: Added new method gst_controller_unset_all()
15611 fixed gst_controller_unset()
15612 * tests/check/libs/controller.c: (GST_START_TEST),
15613 (gst_controller_suite):
15614 Added two testcases for new and fixed method
15616 2006-04-11 Tim-Philipp Müller <tim at centricular dot net>
15618 * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15619 MSG_DONTWAIT is not defined on Cygwin, so work
15620 around that (fixes #317048).
15622 2006-04-11 Wim Taymans <wim@fluendo.com>
15624 * gst/gstelementfactory.c: (gst_element_register),
15625 (gst_element_factory_create), (gst_element_factory_make):
15628 Updated docs (Fixes #131079)
15630 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15633 * tests/check/gst/gstelement.c: (GST_START_TEST),
15634 (gst_element_suite):
15635 Added testcase for elementfactory class field.
15637 2006-04-10 Wim Taymans <wim@fluendo.com>
15639 * gst/gstsegment.c:
15640 Added some more docs.
15642 * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15643 (gst_base_sink_reset_qos):
15644 Calculate more accurate rate values.
15646 2006-04-09 Sebastien Moutte <sebastien@moutte.net>
15648 * gst/gst_private.h:
15649 add a new #ifdef to use __declspec(dllimport) only for
15650 other modules and not for gstreamer core
15651 * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15652 use gst_guint64_to_gdouble for conversion
15653 * win32/common/libgstreamer.def:
15654 add new exported functions
15655 * win32/vs6/gst_inspect.dsp:
15656 * win32/vs6/gst_launch.dsp:
15657 * win32/vs6/libgstbase.dsp:
15658 * win32/vs6/libgstcontroller.dsp:
15659 * win32/vs6/libgstcoreelements.dsp:
15660 * win32/vs6/libgstdataprotocol.dsp:
15661 * win32/vs6/libgstnet.dsp:
15662 update project files
15664 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15666 * gst/gstbuffer.c: (gst_subbuffer_class_init):
15667 * gst/gstclock.c: (gst_clock_class_init):
15668 * gst/gstelement.c: (gst_element_class_init):
15669 * gst/gstindex.c: (gst_index_class_init):
15670 * gst/gstindexfactory.c: (gst_index_factory_class_init):
15671 * gst/gstobject.c: (gst_object_class_init),
15672 (gst_signal_object_class_init):
15673 * gst/gstpad.c: (gst_pad_class_init):
15674 * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15675 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15676 * gst/gstregistry.c: (gst_registry_class_init):
15677 * gst/gstsystemclock.c: (gst_system_clock_class_init):
15678 * gst/gsttask.c: (gst_task_class_init):
15679 * gst/gstxml.c: (gst_xml_class_init):
15680 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15681 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15682 (gst_base_src_loop):
15683 * libs/gst/controller/gstcontroller.c:/
15684 (_gst_controller_class_init):
15685 * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15686 * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15687 * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15688 * tests/old/examples/plugins/example.c: (gst_example_class_init):
15689 * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15690 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15692 2006-04-08 Tim-Philipp Müller <tim at centricular dot net>
15694 * gst/gstpad.c: (gst_pad_link):
15695 Must set peer pads before calling the link function, otherwise
15696 a task started from a link function might get a flow-not-linked
15697 result when trying to push because the other thread where the
15698 linking happens hasn't had a chance to set the peers yet. This
15699 might happen for example when a queue gets linked to a downstream
15700 element, as queue starts a streaming task when its source pad
15701 gets linked. Happens in real life when playing back flac/musepack
15702 files in playbin (#332390).
15704 2006-04-08 Stefan Kost <ensonic@users.sf.net>
15708 * libs/gst/base/gstadapter.h:
15709 * libs/gst/base/gstbasesink.h:
15710 * libs/gst/base/gstbasesrc.h:
15711 * libs/gst/base/gstbasetransform.h:
15712 * libs/gst/base/gstcollectpads.h:
15713 * libs/gst/base/gstpushsrc.h:
15714 Fix broken GObject macros
15716 2006-04-07 Wim Taymans <wim@fluendo.com>
15718 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15719 Initialize start and stop times, thanks valgrind.
15721 2006-04-07 Wim Taymans <wim@fluendo.com>
15723 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15724 Be a bit nicer to badly behaving upstream elements that expect
15725 us to deal with non TIME segments and timestamps (such as fakesrc
15728 2006-04-07 Wim Taymans <wim@fluendo.com>
15731 Small documentation clarification about the signal watch.
15733 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15734 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15735 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15736 (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15737 (gst_base_sink_get_position_last),
15738 (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15739 Convert and store timestamps in stream time and running time, the
15740 raw timestamps are not useful, also document this better.
15741 Use different window sizes for good and bad QoS observations so
15742 we react to badness a little quicker.
15743 Keep track of the amount of rendered and dropped buffers.
15744 Send QoS timestamps in running time.
15746 * libs/gst/base/gstbasetransform.c:
15747 (gst_base_transform_sink_eventfunc),
15748 (gst_base_transform_handle_buffer):
15749 Compare QoS timestamps against running time.
15751 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15754 Typo fixes in docs.
15756 2006-04-06 Michael Smith <msmith@fluendo.com>
15758 * gst/gstpad.c: (gst_pad_set_property):
15759 Use g_value_get_object() instead of g_value_dup_gst_object(),
15760 to avoid double-reffing the pad template (which we then sink,
15761 so this worked previously if (and only if) the pad template
15764 * gst/gstpadtemplate.c: (gst_pad_template_init),
15765 (gst_pad_template_pad_created):
15766 Never return floating references to pad templates, create
15767 them as initially-sunken.
15769 Document an extra function (and make this stop sinking our
15770 pad template, since that is now guaranteed to do nothing,
15771 since we created it sunken).
15773 * gst/gstghostpad.c:
15776 2006-04-06 Tim-Philipp Müller <tim at centricular dot net>
15778 * gst/gstinfo.c: (__gst_in_valgrind):
15781 * plugins/elements/gsttypefindelement.c:
15782 (gst_type_find_element_chain):
15783 Don't leak buffer caps.
15785 2006-04-06 Michael Smith <msmith@fluendo.com>
15787 * gst/parse/grammar.y:
15788 Fix a leak in parse-launch for any source-or-sink named element
15791 * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15792 Unref the pipeline if it exists after we've failed parsing.
15794 2006-04-05 Michael Smith <msmith@fluendo.com>
15796 * gst/gstpipeline.c: (gst_pipeline_init):
15797 When we create a pipeline bus, initially create it in flushing mode.
15798 Fixes leaks in at least one test, and makes a new pipeline work the
15799 same as one that has gone to READY and then back to NULL.
15801 * gst/gstelement.c:
15804 2006-04-05 Michael Smith <msmith@fluendo.com>
15806 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15807 Unref a pad we reffed.
15808 * tests/check/gst/gstutils.c: (GST_START_TEST):
15811 2006-04-05 Michael Smith <msmith@fluendo.com>
15813 * gst/gstquery.c: (gst_query_set_formats),
15814 (gst_query_set_formatsv):
15815 Fix leaking GValues in queries, as shown by valgrind/testsuite.
15817 2006-04-05 Michael Smith <msmith@fluendo.com>
15819 * tests/check/generic/sinks.c: (GST_START_TEST):
15820 Fix a variety of memleaks in sinks check, which are only sometimes
15821 shown by running the tests under valgrind (weird?).
15823 2006-04-05 Jan Schmidt <thaytan@mad.scientist.com>
15825 * docs/version.entities.in:
15826 Fix the substituted entity name after thomas' changes on the
15829 2006-04-05 Zaheer Abbas Merali <zaheerabbas at merali dot org>
15831 * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15834 2006-04-05 Andy Wingo <wingo@pobox.com>
15836 * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15838 * libs/gst/base/gstbasetransform.c
15839 (gst_base_transform_sink_eventfunc): When resetting our segment on
15840 FLUSH_STOP, also update the flag saying we haven't seen a
15843 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15845 Patch by: Paolo Borelli <pborelli at katamail dot com>
15847 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15848 (gst_plugin_check_license):
15849 minor clean-ups: G_DEFINE_TYPE already takes care of the
15850 parent_class stuff, no need to do it twice. Mark array of
15851 license strings as constant. (#337103)
15853 2006-04-04 Michael Smith <msmith@fluendo.com>
15855 * tools/gst-inspect.c: (print_element_list):
15856 Free the right plugin list; fixes a memory leak.
15858 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15860 Patch by: Mark Nauwelaerts <manauw at skynet dot be>
15862 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15863 Don't error out on empty buffers (#336945).
15865 2006-04-04 Jan Schmidt <thaytan@mad.scientist.com>
15867 * docs/libs/gstreamer-libs-sections.txt:
15868 * gst/gsttaglist.c:
15869 * libs/gst/base/gstbasesink.c:
15870 * libs/gst/base/gstbasesink.h:
15871 * libs/gst/base/gstbasesrc.c:
15872 * libs/gst/base/gstbasesrc.h:
15873 Documentation updates. Make BaseSink and BaseSrc docs contain the
15874 class structure so that people can actually see the prototypes for
15875 virtual functions they're supposed to be overriding.
15877 2006-04-04 Tim-Philipp Müller <tim at centricular dot net>
15879 * plugins/elements/gsttypefindelement.c:
15880 (gst_type_find_element_chain):
15881 More debug info; when skipping typefinding, send cached
15882 events in all cases.
15884 2006-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
15887 use new AS_VERSION and AS_NANO macros
15888 * gst/gst-i18n-lib.h:
15891 * gst/gstversion.h.in:
15892 * win32/common/config.h:
15893 * win32/common/config.h.in:
15896 2006-03-31 Michael Smith <msmith@fluendo.com>
15898 * plugins/elements/gsttypefindelement.c:
15899 (gst_type_find_element_chain):
15900 Do not typefind content if the buffers already have caps.
15901 Neccesary for icydemux (#333657), and the right thing to do anyway.
15903 2006-03-30 Wim Taymans <wim@fluendo.com>
15905 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15906 (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15907 (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15908 (gst_base_sink_record_qos_observation),
15909 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15910 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15911 (gst_base_sink_change_state):
15912 More QoS measurements as described in the design doc.
15913 Get rid of ringbuffer with observations, running average is
15914 more simple and equally good.
15915 Calculates valid proportion now.
15916 Added beginning of flood measurement.
15918 2006-03-29 Wim Taymans <wim@fluendo.com>
15920 * docs/design/part-qos.txt:
15922 Small documentation updates and additions.
15924 2006-03-29 Wim Taymans <wim@fluendo.com>
15926 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15927 (gst_base_src_send_event), (gst_base_src_loop),
15928 (gst_base_src_change_state):
15929 Perform the EOS logic when we reach the segment stop position.
15930 Fix compilation on gcc4.1
15932 2006-03-29 Wim Taymans <wim@fluendo.com>
15934 Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15936 * plugins/elements/gstqueue.c: (gst_queue_init),
15937 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15938 (gst_queue_set_property):
15939 * plugins/elements/gstqueue.h:
15940 In queue, when EOS is received, if minimum threshold > max_size -
15941 current_level, there is chance that queue blocks forever in conditional
15942 item del wait. This is because the queue is not emptied completely due
15943 to minimum threshold. Here is another approach. Instead of setting
15944 cur_levels to max in EOS, just zero all minimum threshold levels. This
15945 should make sure that queue gives out all data. When going to READY
15946 (stop) state, just reset the original minimum threshold levels.
15949 2006-03-29 Tim-Philipp Müller <tim at centricular dot net>
15951 * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15952 (gst_type_find_element_handle_event),
15953 (gst_type_find_element_send_cached_events),
15954 (gst_type_find_element_change_state):
15955 * plugins/elements/gsttypefindelement.h:
15956 When typefinding is done in push mode, we should cache
15957 events we receive during typefinding instead of just
15958 dropping them (e.g. newsegment, custom events from
15959 dvdreadsrc etc.) and then send them out once we've
15960 determined the type of the stream (and decodebin
15961 has had a chance to plug in a decoder/demuxer).
15963 2006-03-27 Wim Taymans <wim@fluendo.com>
15965 * docs/design/part-qos.txt:
15968 2006-03-27 Wim Taymans <wim@fluendo.com>
15970 Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15972 * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15973 (gst_base_src_send_event), (gst_base_src_change_state):
15974 Handle element seek correctly when we are streaming.
15977 2006-03-24 Michael Smith <msmith@fluendo.com>
15979 * docs/faq/gst-uninstalled:
15980 Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15981 allow you to correctly run intalled applications built against old
15982 core, using plugins that require updated core (e.g. running
15983 installed totem against a full uninstalled gstreamer stack)
15985 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15987 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15990 2006-03-24 Wim Taymans <wim@fluendo.com>
15992 * docs/gst/gstreamer-sections.txt:
15993 Rearrange the order of the methods so that related methods
15994 are grouped together in sections.
15996 2006-03-24 Stefan Kost <ensonic@users.sf.net>
15998 * gst/gstelement.c:
15999 Little clarification in the docs
16001 2006-03-24 Stefan Kost <ensonic@users.sf.net>
16005 * plugins/elements/gstidentity.c:
16006 * plugins/elements/gstqueue.c:
16007 * plugins/elements/gsttee.c:
16008 * plugins/elements/gsttypefindelement.c:
16009 GST_ELEMENT_DETAILS formatting
16011 2006-03-24 Wim Taymans <wim@fluendo.com>
16013 * libs/gst/base/gstbasesink.h:
16014 Only add fields, not insert or we break ABI.
16016 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16018 * win32/common/libgstbase.def:
16019 * win32/common/libgstreamer.def:
16020 Update, add recently added functions.
16022 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16024 * docs/gst/gstreamer-sections.txt:
16025 * gst/gstutils.c: (gst_pad_query_peer_position),
16026 (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16028 API: add some new utility functions:
16029 - gst_pad_query_peer_position()
16030 - gst_pad_query_peer_duration()
16031 - gst_pad_query_peer_convert()
16033 2006-03-23 Wim Taymans <wim@fluendo.com>
16035 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16036 (gst_base_sink_init), (gst_base_sink_finalize),
16037 (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16038 (gst_base_sink_set_property), (gst_base_sink_get_property),
16039 (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16040 (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16041 (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16042 (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16043 (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16044 (gst_base_sink_preroll_object), (gst_base_sink_event),
16045 (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16046 (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16047 (gst_base_sink_query), (gst_base_sink_change_state):
16048 Decouple max-lateness and the fact that QoS messages are generated
16049 with a new property (qos).
16050 added API: GstBaseSink::async_play()
16051 Add vmethod so subclasses can be notified of ASYNC playing
16053 Collect timestamp start and stop to report better current
16054 position in EOS/PLAYING/PAUSED/READY/NULL.
16055 Refactor QoS/frame dropping and other measurements.
16056 API: GstBaseSrc::qos
16059 * libs/gst/base/gstbasesink.h:
16060 Added Private struct.
16061 API: gst_base_sink_set_qos_enabled()
16062 API: gst_base_sink_is_qos_enabled()
16064 2006-03-23 Tim-Philipp Müller <tim at centricular dot net>
16066 * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16067 If compiling against GLib-2.8 or newer, try to read the
16068 registry file using GMappedFile first before falling back
16069 to fopen() + fread() (#332151).
16071 2006-03-22 Wim Taymans <wim@fluendo.com>
16073 * gst/gstinfo.c: (gst_debug_set_active),
16074 (gst_debug_category_set_threshold):
16075 Disable debugging unless explicitly activated.
16078 2006-03-22 Wim Taymans <wim@fluendo.com>
16080 * gst/gstelement.c: (gst_element_set_locked_state),
16081 (gst_element_dispose):
16082 Cleanup the error case.
16084 * gst/gstobject.c: (gst_object_dispose):
16085 print a critical when some object was disposed with
16086 a parent, also revive the object since it might
16089 2006-03-22 Tim-Philipp Müller <tim at centricular dot net>
16091 * tools/gst-launch.1.in:
16094 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16097 * tests/check/Makefile.am:
16098 disable some tests when we don't have a registry
16099 * tests/check/gst/gstutils.c: (gst_utils_suite):
16100 don't build the part that needs parsing
16102 2006-03-21 Thomas Vander Stichele <thomas at apestaart dot org>
16105 * tests/examples/Makefile.am:
16106 fix --disable-parse build
16108 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16110 * tools/gst-feedback.1.in:
16111 Fix typo: s/feeback/feedback/ (#133494).
16113 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16115 * tools/Makefile.am:
16116 * tools/gst-launch.1.in:
16117 Add FILES section and correct entry about GST_REGISTRY_PATH
16118 environment variable (#133495; #133494).
16120 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16122 * tools/Makefile.am:
16123 * tools/gst-md5sum.1.in:
16124 * tools/gst-md5sum.c:
16125 Remove gst-md5sum and man page (the md5sink element
16126 required was removed ages ago)
16128 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16130 * gst/gststructure.c: (gst_structure_id_set_value):
16131 Make sure that string fields in structures/taglists
16132 contain valid UTF-8 - we don't want to pass rubbish to
16133 applications because of a buggy plugin (cp. #334167).
16135 2006-03-21 Edward Hervey <edward@fluendo.com>
16137 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16138 (gst_bin_handle_message_func):
16139 * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16140 * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16141 (gst_element_set_bus_func):
16142 * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16143 * gst/gstminiobject.c: (gst_value_set_mini_object),
16144 (gst_value_take_mini_object):
16145 * gst/gstpad.c: (gst_pad_set_pad_template):
16146 * gst/gstpipeline.c: (gst_pipeline_dispose),
16147 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16148 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16149 (gst_collect_pads_chain):
16150 * libs/gst/net/gstnettimeprovider.c:
16151 (gst_net_time_provider_set_property):
16152 Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16153 It's in fact all issues with gst_*object_replace().
16155 2006-03-21 Tim-Philipp Müller <tim at centricular dot net>
16157 Patch by: Loïc Minier <lool + gnome at via dot ecp dot fr>
16159 * pkgconfig/gstreamer-check-uninstalled.pc.in:
16160 * pkgconfig/gstreamer-check.pc.in:
16161 Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16163 2006-03-21 Edward Hervey <edward@fluendo.com>
16167 * gst/gstmessage.h:
16168 gst_[buffer|event|message]_ref() macros are replaced by a static
16169 inline functions because gcc-4.1 will about if the return value
16171 * tests/check/gst/gstevent.c: (event_probe):
16172 gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16174 2006-03-20 Jan Schmidt <thaytan@mad.scientist.com>
16177 Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16178 the type' case. (Closes: #335195 for now). In the future, when we
16179 depend on GLib 2.10, we could also intern the type name using
16180 g_intern_static_string()
16182 2006-03-20 Wim Taymans <wim@fluendo.com>
16184 * gst/gstbin.c: (gst_bin_handle_message_func),
16185 (bin_query_max_init), (bin_query_position_fold),
16186 (bin_query_position_done), (gst_bin_query):
16187 Position query should also take max of all streams.
16189 2006-03-20 Wim Taymans <wim@fluendo.com>
16191 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16192 (gst_fake_src_finalize):
16193 Fix leaks in fakesrc.
16195 * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16196 Fix leaks in the testcase.
16198 2006-03-19 Sebastien Moutte <sebastien@moutte.net>
16200 * gst/gst_private.h:
16201 add win32 specific import decoration(__declspec(dllimport))
16202 for all extern GstDebugCategory * variables
16203 * win32/common/libgstbase.def:
16204 * win32/common/libgstcontroller.def:
16205 * win32/common/libgstreamer.def:
16206 Add some exports, remove empty lines
16207 * win32/common/libgstdataprotocol.def:
16208 * win32/common/libgstdataprotocol.dsp:
16209 * win32/common/libgstnet.def:
16210 * win32/common/libgstnet.dsp:
16211 new project files and exportation files added
16213 2006-03-19 Wim Taymans <wim@fluendo.com>
16215 * tests/check/libs/basesrc.c: (eos_event_counter):
16216 Use proper return value for probe.
16218 2006-03-17 Wim Taymans <wim@fluendo.com>
16220 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16222 Don't leak buffers, caps and pads on negotiation errors.
16224 2006-03-16 Stefan Kost <ensonic@users.sf.net>
16226 * docs/faq/cvs.xml:
16227 * docs/faq/dependencies.xml:
16228 * docs/faq/developing.xml:
16229 * docs/faq/faq.xml:
16230 * docs/faq/general.xml:
16231 * docs/faq/getting.xml:
16232 * docs/faq/legal.xml:
16233 * docs/faq/troubleshooting.xml:
16234 * docs/faq/using.xml:
16235 Faq review and update.
16237 2006-03-16 Jan Schmidt <thaytan@mad.scientist.com>
16239 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16241 Don't pound the cpu to pieces by checking get_caps when accept_caps
16242 is called with the same caps as the pad already has.
16243 Use GST_DEBUG_OBJECT when outputting caps change information.
16245 2006-03-15 Wim Taymans <wim@fluendo.com>
16247 * gst/gstclock.c: (gst_clock_class_init):
16250 2006-03-15 Jan Schmidt <thaytan@mad.scientist.com>
16255 * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16256 (gst_pad_accept_caps), (gst_pad_configure_sink),
16257 (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16258 Make the default acceptcaps behaviour be to check the requested
16259 caps against the gst_pad_get_caps output.
16261 Ensure that gst_pad_accept_caps is used to check caps when a pad
16262 doesn't have a setcaps function, so that pads automatically refuse
16263 caps that they don't allow in their pad template. (Fixes #332986)
16265 When a buffer with attached caps is pushed, ensure that the source
16266 pad receives those caps even if the element didn't call
16267 gst_pad_set_caps first.
16269 2006-03-15 Wim Taymans <wim@fluendo.com>
16271 * libs/gst/base/gstadapter.c:
16274 2006-03-15 Tim-Philipp Müller <tim at centricular dot net>
16276 * win32/common/libgstbase.def:
16277 * win32/common/libgstcontroller.def:
16278 * win32/common/libgstreamer.def:
16279 Add a whole bunch of missing functions (#334434).
16281 2006-03-14 Wim Taymans <wim@fluendo.com>
16283 * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16284 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16285 (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16286 Better debug info when we receive a segment event.
16287 Reorganize a bit so we can pass the get_times() results around.
16288 Use the segment format when calculating the running time.
16289 Don't do QoS is sync is disabled or we have no clock or the
16290 element does not want us to sync to the clock.
16291 Don't drop buffers if QoS is disabled for now.
16293 2006-03-14 Wim Taymans <wim@fluendo.com>
16295 * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16296 Marked the stats property as unimplemented so people don't get
16298 Add debug message when regression goes wrong.
16299 Added some more docs.
16301 2006-03-14 Wim Taymans <wim@fluendo.com>
16303 * gst/gstsegment.c: (gst_segment_to_stream_time):
16304 Return correct return type in case of errors.
16306 2006-03-14 Wim Taymans <wim@fluendo.com>
16308 * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16309 Don't segfault on invalid formats.
16311 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16313 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16314 Can't use gst_segment_to_running_time() when the segment
16315 is not in GST_TIME_FORMAT (like with filesink, for example).
16316 Stops flac encoding pipelines from spewing critical warnings
16319 2006-03-14 Tim-Philipp Müller <tim at centricular dot net>
16321 * gst/gstpipeline.c: (gst_pipeline_class_init):
16322 Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16324 * plugins/elements/gsttypefindelement.c:
16325 (gst_type_find_element_handle_event):
16326 Don't try to typefind empty streams.
16328 2006-03-14 Wim Taymans <wim@fluendo.com>
16330 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16331 (gst_base_sink_do_qos):
16332 Separate QoS calculation.
16333 Only drop buffers when lateness is bigger than the
16334 duration of the buffer.
16336 2006-03-13 Wim Taymans <wim@fluendo.com>
16338 * gst/gstpipeline.c: (gst_pipeline_set_property),
16339 (gst_pipeline_get_property), (do_pipeline_seek),
16340 (gst_pipeline_change_state), (gst_pipeline_set_delay),
16341 (gst_pipeline_get_delay):
16342 Don't deadlock when reading properties.
16344 2006-03-13 Wim Taymans <wim@fluendo.com>
16346 * libs/gst/base/gstbasetransform.c:
16347 (gst_base_transform_class_init), (gst_base_transform_init),
16348 (gst_base_transform_sink_event),
16349 (gst_base_transform_sink_eventfunc),
16350 (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16351 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16352 (gst_base_transform_set_property),
16353 (gst_base_transform_get_property),
16354 (gst_base_transform_change_state), (gst_base_transform_update_qos),
16355 (gst_base_transform_set_qos_enabled),
16356 (gst_base_transform_is_qos_enabled):
16357 * libs/gst/base/gstbasetransform.h:
16358 Make basetransform virtual method for src events too.
16359 Handle QOS in basetransform.
16360 API: gst_base_transform_update_qos()
16361 API: gst_base_transform_set_qos_enabled()
16362 API: gst_base_transform_is_qos_enabled()
16364 2006-03-13 Wim Taymans <wim@fluendo.com>
16366 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16367 (gst_base_sink_do_sync):
16369 Use QOS debug category.
16371 2006-03-13 Wim Taymans <wim@fluendo.com>
16373 * plugins/elements/gstqueue.c:
16374 Very small doc update.
16376 2006-03-13 Wim Taymans <wim@fluendo.com>
16378 * gst/gst_private.h:
16379 * gst/gstinfo.c: (_gst_debug_init):
16380 Added QOS debug category
16382 2006-03-13 Wim Taymans <wim@fluendo.com>
16384 * docs/gst/gstreamer-sections.txt:
16385 * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16387 * gst/gstbus.c: (gst_bus_class_init):
16390 * gst/gstelement.c: (gst_element_set_locked_state):
16391 * gst/gstsegment.c:
16392 Documentation updates.
16394 * gst/gstpipeline.c: (gst_pipeline_get_type),
16395 (gst_pipeline_class_init), (gst_pipeline_init),
16396 (gst_pipeline_dispose), (gst_pipeline_set_property),
16397 (gst_pipeline_get_property), (do_pipeline_seek),
16398 (gst_pipeline_send_event), (gst_pipeline_change_state),
16399 (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16400 (gst_pipeline_get_delay):
16401 * gst/gstpipeline.h:
16402 Added methods for setting the delay.
16403 API: gst_pipeline_set_delay()
16404 API: gst_pipeline_get_delay()
16405 Add pipeline debug category
16408 Don't reset stream time when seek failed.
16410 2006-03-13 Wim Taymans <wim@fluendo.com>
16412 * docs/design/draft-klass.txt:
16413 * docs/design/part-clocks.txt:
16414 * docs/design/part-events.txt:
16415 * docs/design/part-gstbin.txt:
16416 * docs/design/part-gstpipeline.txt:
16417 * docs/design/part-messages.txt:
16418 * docs/design/part-negotiation.txt:
16419 * docs/design/part-overview.txt:
16420 * docs/design/part-preroll.txt:
16421 * docs/design/part-seeking.txt:
16422 * docs/design/part-states.txt:
16423 * docs/design/part-streams.txt:
16424 Documentation updates.
16426 2006-03-12 Julien MOUTTE <julien@moutte.net>
16428 * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16429 us to leak strings...
16431 2006-03-12 Thomas Vander Stichele <thomas at apestaart dot org>
16433 * libs/gst/net/gstnettimeprovider.c:
16435 * win32/common/config.h:
16438 2006-03-12 Tim-Philipp Müller <tim at centricular dot net>
16440 Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16443 Don't check for libgnomeui (leftover from old examples
16444 that aren't built or disted any longer) (#334303).
16446 2006-03-11 Tim-Philipp Müller <tim at centricular dot net>
16448 * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16449 * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16450 Emit RESOURCE_NO_SPACE_LEFT error here as well when
16451 there's no space left on the device.
16453 2006-03-10 Tim-Philipp Müller <tim at centricular dot net>
16456 Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16457 to cast the input to GstClockTime before comparing with
16458 another GstClockTime value.
16460 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16465 === release 0.10.4 ===
16467 2006-03-10 Thomas Vander Stichele <thomas at apestaart dot org>
16470 releasing 0.10.4, "Light"
16472 2006-03-10 Michael Smith <msmith@fluendo.com>
16474 * libs/gst/dataprotocol/dataprotocol.c:
16475 Fix docs for dataprocotol to not get the return types completely
16476 wrong for a few functions.
16478 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16480 * docs/gst/gstreamer-sections.txt:
16481 * gst/gstpipeline.c: (gst_pipeline_class_init),
16482 (gst_pipeline_init), (gst_pipeline_set_property),
16483 (gst_pipeline_get_property), (gst_pipeline_change_state),
16484 (gst_pipeline_set_auto_flush_bus),
16485 (gst_pipeline_get_auto_flush_bus):
16486 * gst/gstpipeline.h:
16487 Add new API: gst_pipeline_set_auto_flush_bus() and
16488 gst_pipeline_get_auto_flush_bus() to disable automatic
16489 flushing of the pipeline's GstBus when going from READY
16490 to NULL state (#332045).
16492 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16494 * docs/gst/gstreamer-sections.txt:
16495 * gst/gsturi.c: (gst_uri_has_protocol):
16497 Add new API: gst_uri_has_protocol() (#333779).
16499 2006-03-09 Wim Taymans <wim@fluendo.com>
16501 * gst/gstclock.c: (gst_clock_entry_new),
16502 (gst_clock_id_compare_func), (gst_clock_id_wait),
16503 (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16504 (gst_clock_init), (gst_clock_get_internal_time),
16505 (gst_clock_set_master), (do_linear_regression),
16506 (gst_clock_add_observation), (gst_clock_set_property):
16510 Fix a possible segfault when the window-size is made smaller.
16511 Calculate jitter before performing the clock wait. Ideally
16512 the clock implementation should calculate jitter but we need
16513 API breakage for that.
16515 * gst/gstsystemclock.c: (gst_system_clock_init):
16518 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16519 Remove leftover else
16521 * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16522 (gst_systemclock_suite):
16523 Added check to test GST_CLOCK_DIFF.
16525 2006-03-09 Tim-Philipp Müller <tim at centricular dot net>
16527 * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16528 (gst_type_find_helper_get_range):
16529 If we are provided with the size, we should implement
16530 GstTypeFind::get_length, so that typefind functions who
16531 want to can actually peek at the middle of a file.
16533 2006-03-08 Tim-Philipp Müller <tim at centricular dot net>
16535 * docs/manual/advanced-dataaccess.xml:
16536 Add some very very basic error checking.
16538 * docs/pwg/appendix-checklist.xml:
16539 Some updates to the list of things to check when writing an element.
16541 2006-03-08 Wim Taymans <wim@fluendo.com>
16543 * docs/design/part-element-transform.txt:
16544 Added some docs about the design of tranform elements.
16546 * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16547 (gst_base_src_loop), (gst_base_src_change_state):
16548 Mark buffers with the DISCONT flag.
16550 2006-03-08 Michael Smith <msmith@fluendo.com>
16552 * gst/gstregistry.h:
16553 * gst/gstregistryxml.c: (gst_registry_save),
16554 (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16555 (gst_registry_xml_save_pad_template),
16556 (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16557 (gst_registry_xml_write_cache):
16558 Rewrite registry-saving to avoid race conditions and check for
16561 2006-03-08 Wim Taymans <wim@fluendo.com>
16563 * libs/gst/base/gstbasetransform.c:
16564 (gst_base_transform_transform_caps),
16565 (gst_base_transform_transform_size),
16566 (gst_base_transform_prepare_output_buffer),
16567 (gst_base_transform_get_unit_size),
16568 (gst_base_transform_buffer_alloc),
16569 (gst_base_transform_handle_buffer),
16570 (gst_base_transform_change_state):
16571 Cleanups, separate normal flow from errors, add sensible
16573 Don't try to renegotiate when allocating an output buffer.
16574 Also copy DISCONT buffer flag when copying a buffer.
16575 Reset the transform after we finish streaming, not during.
16577 2006-03-08 Wim Taymans <wim@fluendo.com>
16579 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16580 Use last buffer timestamp in qos message.
16582 2006-03-07 Wim Taymans <wim@fluendo.com>
16584 Patch by: Christophe Fergeau
16586 * docs/pwg/advanced-tagging.xml:
16587 * docs/pwg/building-pads.xml:
16590 2006-03-07 Wim Taymans <wim@fluendo.com>
16592 * docs/libs/gstreamer-libs-sections.txt:
16593 Added basesink new methods.
16597 Docs updates. Flesh out the QoS docs.
16599 * libs/gst/base/gstadapter.c:
16600 Small doc clarification about ownership and flushing.
16602 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16603 (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16604 (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16605 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16606 * libs/gst/base/gstbasesink.h:
16608 Added new methods to allow subclass to control max-lateness
16610 Generate very basic QoS events based on last sync observation.
16611 Updated docs, fix typo, added some QoS blurb.
16613 * libs/gst/base/gstbasesrc.c:
16614 Remove obsolete _get_state() calls from docs.
16616 2006-03-07 Wim Taymans <wim@fluendo.com>
16618 * docs/libs/gstreamer-libs-sections.txt:
16619 * libs/gst/base/gstbasetransform.h:
16620 API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16621 Fix docs for GstBaseSrc.
16623 2006-03-07 Wim Taymans <wim@fluendo.com>
16625 * docs/gst/gstreamer-sections.txt:
16628 * libs/gst/base/gstbasetransform.h:
16629 Small documentation fixes.
16631 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16634 Document thread-unsafety of gst_value_register_foo_func()
16635 when used at the same time as gst_value_foo() (#322628).
16637 2006-03-07 Tim-Philipp Müller <tim at centricular dot net>
16639 * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16640 (gst_push_src_check_get_range):
16641 Push sources don't support pull mode by default.
16643 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16645 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16646 (gst_base_src_init), (gst_base_src_pad_check_get_range),
16647 (gst_base_src_default_check_get_range):
16648 * libs/gst/base/gstbasesrc.h:
16649 API addition: Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16650 provide default implementation, and rename
16651 gst_base_src_check_get_range() to
16652 gst_base_src_pad_check_get_range() for clarity.
16654 2006-03-06 Wim Taymans <wim@fluendo.com>
16656 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16657 Make property overridable.
16659 2006-03-06 Wim Taymans <wim@fluendo.com>
16661 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16662 (gst_base_sink_init), (gst_base_sink_set_property),
16663 (gst_base_sink_get_property), (gst_base_sink_do_sync):
16664 * libs/gst/base/gstbasesink.h:
16665 API addition: Make max-lateness a property.
16667 2006-03-06 Wim Taymans <wim@fluendo.com>
16669 * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16670 (gst_base_sink_do_sync), (gst_base_sink_render_object):
16671 Don't ever draw a frame that is >10ms late.
16673 2006-03-06 Michael Smith <msmith@fluendo.com>
16675 * gst/gstmessage.c: (_gst_message_copy):
16676 When copying a message, set the parent_refcount of the enclosed
16677 structure to point at the copy, not the original message.
16679 2006-03-06 Tim-Philipp Müller <tim at centricular dot net>
16681 Patch by: Christophe Fergeau
16684 Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16685 usable in c++ code (#333417)
16687 2006-03-06 Thomas Vander Stichele <thomas at apestaart dot org>
16690 Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16692 2006-03-05 Tim-Philipp Müller <tim at centricular dot net>
16694 * libs/gst/base/gstbasetransform.c:
16695 (gst_base_transform_transform_caps):
16696 Make sure caps are writable before passing them to
16699 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16702 Fix some minor docs errors.
16704 2006-03-04 Tim-Philipp Müller <tim at centricular dot net>
16706 Patch by: Ross Burton <ross at burtonini dot com>
16708 * gst/gsterror.c: (_gst_resource_errors_init):
16710 Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16712 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16715 Add a check and output a g_warning when GStreamer is built
16716 against GLib 2.6 but running against 2.8 or higher, and vice
16717 versa. (Closes: #323542)
16719 2006-03-03 Jan Schmidt <thaytan@mad.scientist.com>
16721 * gst/parse/parse.l:
16722 Commit patch for parse_launch syntax from #331255. Removes
16723 support for quoted strings and mimetypes when writing filtered
16724 caps. See the bug report for more details - I'm pretty sure this
16725 obscure feature is not in use by _anyone_ anywhere.
16727 With this simple change, the size of the gstreamer.so here
16728 drops from 2193KB to 1565KB.
16730 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16732 * plugins/elements/gsttypefindelement.h:
16733 * plugins/elements/gsttypefindelement.c:
16734 (gst_type_find_element_src_event), (start_typefinding),
16735 (stop_typefinding), (gst_type_find_element_handle_event),
16736 (gst_type_find_element_chain),
16737 (gst_type_find_element_chain_do_typefinding):
16738 Use gst_type_find_helper_for_buffer() for chain-based
16741 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16743 * plugins/elements/gsttypefindelement.c:
16744 (gst_type_find_element_class_init),
16745 (gst_type_find_element_set_property),
16746 (gst_type_find_element_get_property):
16747 Deprecate "maximum" property (not only was it only taken into
16748 account for typefinding in push-mode anyway, it also was never
16749 actually possible to set it in the first place because the
16750 property was registered with the numeric property ID for the
16751 "minimum" property). Register "maximum" property correctly,
16752 for the sake of future copy'n'pasters. Remove some cruft
16753 from property get/set functions.
16755 2006-03-03 Tim-Philipp Müller <tim at centricular dot net>
16757 * plugins/elements/gsttypefindelement.c:
16758 (gst_type_find_element_activate):
16759 Use gst_type_find_helper_get_range() here, so we
16760 can honour the "minimum" property and also emit
16761 the signal with the correct probability of the found caps.
16763 2006-03-02 Tim-Philipp Müller <tim at centricular dot net>
16765 * docs/libs/gstreamer-libs-sections.txt:
16766 * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16767 (helper_find_suggest), (gst_type_find_helper_get_range),
16768 (gst_type_find_helper):
16769 * libs/gst/base/gsttypefindhelper.h:
16770 New API: gst_type_find_helper_get_range() (#333042).
16772 2006-03-02 Michael Smith <msmith@fluendo.com>
16774 * gst/gstregistryxml.c: (load_feature):
16775 Asserting on a failure to read part of the registry is Not Cool.
16776 Just log a warning and return NULL (which is already handled)
16778 2006-02-28 Sebastien Moutte <sebastien@moutte.net>
16780 * win32/common/libgstbase.def:
16781 added export of gst_type_find_helper_for_buffer
16782 * win32/common/libgstbase.def:
16783 added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16784 gst_ghost_pad_get_target
16786 2006-02-28 Wim Taymans <wim@fluendo.com>
16788 * docs/design/draft-klass.txt:
16790 Added Connector to mark elements that are only used to
16791 allow pipeline connections.
16792 Moved Debug to extra feature since most of them are
16793 functionally something else.
16795 2006-02-28 Wim Taymans <wim@fluendo.com>
16797 * docs/design/draft-klass.txt:
16798 Some updates and clarifications.
16800 2006-02-28 Wim Taymans <wim@fluendo.com>
16802 * docs/design/draft-klass.txt:
16803 Proposal for klass field values.
16805 * docs/design/part-streams.txt:
16806 Start of a doc describing stream anatomy.
16808 2006-02-28 Wim Taymans <wim@fluendo.com>
16810 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16811 Help the compiler a bit with type registration.
16812 Use existing forward cod path instead of duplicating it when
16813 handling a message.
16815 * gst/gstbus.c: (gst_bus_get_type):
16816 * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16817 * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16818 * gst/gstclock.c: (gst_clock_get_type):
16819 * gst/gstelement.c: (gst_element_get_type),
16820 * gst/gstelementfactory.c: (gst_element_factory_get_type):
16821 * gst/gstindexfactory.c: (gst_index_factory_get_type):
16822 * gst/gstminiobject.c: (gst_mini_object_get_type):
16823 * gst/gstpad.c: (gst_pad_get_type):
16824 * gst/gstsegment.c: (gst_segment_get_type):
16825 * gst/gststructure.c: (gst_structure_get_type):
16826 * gst/gstsystemclock.c: (gst_system_clock_get_type):
16827 * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16829 Help compiler with type registration.
16831 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16834 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16836 * plugins/elements/gsttypefindelement.c:
16837 (gst_type_find_element_handle_event):
16838 When we get an EOS event and have not found a type yet
16839 (most likely because we had not yet accumulated
16840 TYPE_FIND_MIN_SIZE of data yet), try to determine the
16841 type given the data we have so far. Fixes typefinding
16842 for very short streams again, most notably quicktime
16843 redirections as used on Apple's trailer site (#331701).
16845 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16847 * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16848 (gst_type_find_helper):
16849 Try typefinding factories with the highest rank first.
16851 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16853 * docs/libs/gstreamer-libs-docs.sgml:
16854 * docs/libs/gstreamer-libs-sections.txt:
16855 * libs/gst/base/gsttypefindhelper.c:
16856 Add section for typefind helper and add documentation
16857 for the old and the new function.
16859 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16861 * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16862 (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16863 (gst_type_find_helper_for_buffer):
16864 * libs/gst/base/gsttypefindhelper.h:
16865 New API: gst_type_find_helper_for_buffer() (#332723).
16867 2006-02-27 Michael Smith <msmith@fluendo.com>
16869 Patch by: Loïc Minier
16872 * docs/Makefile.am:
16873 * docs/slides/Makefile.am:
16874 prevent CVS directories getting disted.
16876 2006-02-27 Tim-Philipp Müller <tim at centricular dot net>
16878 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16879 Use the REFCOUNTING category for caps refcounting.
16881 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16883 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16884 This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16886 2006-02-26 Tim-Philipp Müller <tim at centricular dot net>
16888 * plugins/elements/gsttypefindelement.c:
16889 (gst_type_find_element_activate):
16890 Use gst_pad_check_pull_range() before _activate_pull()
16891 to avoid unnecessary open/close (see #331690).
16893 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16896 Docs enhancement: make it crystal clear what the
16897 gst_pad_add_*_probe() callbacks should look like.
16899 2006-02-24 Tim-Philipp Müller <tim at centricular dot net>
16901 * libs/gst/base/gstbasesrc.c:
16902 Document how applications can stop recording from
16903 live sources (see #330996).
16905 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16907 * tests/check/Makefile.am:
16908 * tests/check/libs/basesrc.c: (eos_event_counter),
16909 (basesrc_eos_events_pull), (basesrc_eos_events_push),
16910 (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16911 (gst_basesrc_suite), (main):
16912 ... and add some tests for the base source EOS stuff.
16914 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16916 * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16917 Test case originally showed the problem fixed below,
16918 but was then amended. Add checks back at the place
16919 where they used to be.
16921 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16923 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16924 (gst_base_src_init), (gst_base_src_loop),
16925 (gst_base_src_activate_push), (gst_base_src_activate_pull),
16926 (gst_base_src_change_state):
16927 * libs/gst/base/gstbasesrc.h:
16928 Don't unconditionally send EOS when going from PAUSED to
16929 READY state, esp. make sure we don't send two EOS events
16930 in some cases (e.g. one when reaching EOS and one when
16931 going from PAUSED to READY). Also, we don't want to send
16932 EOS events when operating in pull mode. However, we do
16933 want to send an EOS event when shutting down a live
16934 source explicitly, for example (fixes #330996).
16936 2006-02-23 Tim-Philipp Müller <tim at centricular dot net>
16938 * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16939 Update src->read_position after a seek when not using mmap.
16940 Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16942 2006-02-21 Jan Schmidt <thaytan@mad.scientist.com>
16948 Make things work with --disable-parse as they do with
16949 --disable-load-save - the symbols involved disappear, but the
16950 header is still installed and GST_DISABLE_PARSE is included via
16953 2006-02-20 Julien MOUTTE <julien@moutte.net>
16955 * libs/gst/base/gstbasetransform.c:
16956 (gst_base_transform_change_state): Fix a stupid bug. I was
16957 sure I compiled that.
16959 2006-02-20 Julien MOUTTE <julien@moutte.net>
16961 * gst/gstpad.c: (gst_pad_set_blocked_async):
16962 * gst/gstutils.c: (gst_pad_add_data_probe),
16963 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16964 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16965 (gst_pad_remove_buffer_probe): Make those function act on the
16966 ghostpad target when it's a ghostpad. (Closes #331727)
16968 2006-02-20 Julien MOUTTE <julien@moutte.net>
16970 * libs/gst/base/gstbasetransform.c:
16971 (gst_base_transform_change_state): Make basetransform reusable.
16974 2006-02-20 Jan Schmidt <thaytan@mad.scientist.com>
16976 * docs/random/release:
16977 Move the current documentation of how to do a release to the top
16980 * gst/gstbin.c: (gst_bin_class_init),
16981 (gst_bin_handle_message_func):
16982 Allow multiple state-recalculation threads. (Closes #328873)
16984 2006-02-19 Julien MOUTTE <julien@moutte.net>
16986 * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16987 * gst/gstpad.c: (gst_pad_set_event_function),
16988 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16989 (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16990 2 strings. You can't use the STR_NULL macro on that.
16992 2006-02-19 Sebastien Moutte <sebastien@moutte.net>
16994 * gst/gstpad.c: (gst_pad_set_event_function),
16995 (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16996 (gst_pad_set_getcaps_function)
16997 * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16998 Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16999 So now, we can use --gst-debug-level=5 on Windows
17000 * win32/common/libgstcontroller.def:
17001 Added export of gst_controller_init
17002 * win32/vs6/libgstcontroller.dsp:
17003 Fixed Release post build configuration
17005 2006-02-17 Wim Taymans <wim@fluendo.com>
17007 * tests/check/gst/gstquery.c: (GST_START_TEST):
17008 Added another check.
17010 2006-02-15 Tim-Philipp Müller <tim at centricular dot net>
17012 * plugins/elements/gsttypefindelement.c: (find_peek):
17013 We can do peeks at non-zero offsets, as long as they
17014 fall within the buffer we have.
17016 2006-02-15 Jan Schmidt <thaytan@mad.scientist.com>
17018 * tests/check/Makefile.am:
17019 * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17020 (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17021 (parse_suite), (main):
17022 Add testsuite for parse launch syntax
17024 2006-02-14 Tim-Philipp Müller <tim at centricular dot net>
17026 * plugins/elements/gsttypefindelement.c:
17027 (gst_type_find_element_chain):
17028 When typefinding is unsuccessful in the chain function, don't
17029 error out immediately. Only error out with NO_CAPS_FOUND if
17030 the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17031 otherwise simply wait for more data so we can try typefinding
17032 again with more data later. Also, don't attempt to typefind
17033 if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17034 this should improve typefinding from network sources where the
17035 size of the first buffer can be somewhat random.
17037 2006-02-14 Wim Taymans <wim@fluendo.com>
17039 * docs/gst/gstreamer-sections.txt:
17040 * gst/gstpadtemplate.c:
17041 * gst/gstpadtemplate.h:
17042 Fix padtemplate docs, fixes #328805.
17044 2006-02-14 Wim Taymans <wim@fluendo.com>
17046 * tools/gst-launch.c: (main):
17047 NO_PREROLL is not an ERROR so don't send confusing messages
17050 2006-02-14 Wim Taymans <wim@fluendo.com>
17052 Patch by: Torsten Schoenfeld
17054 * gst/gstregistry.c: (gst_registry_get_default),
17055 (_gst_registry_cleanup):
17056 Protect default registry with lock and ref/sink it.
17059 2006-02-14 Wim Taymans <wim@fluendo.com>
17062 * gst/gstquery.c: (gst_query_list_add_format),
17063 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17064 (gst_query_parse_formats_nth):
17065 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17068 2006-02-14 Wim Taymans <wim@fluendo.com>
17070 * docs/gst/gstreamer-sections.txt:
17071 Reworked query docs.
17073 * gst/gstquery.c: (gst_query_new_formats),
17074 (gst_query_list_add_format), (gst_query_set_formats),
17075 (gst_query_set_formatsv), (gst_query_parse_formats_length),
17076 (gst_query_parse_formats_nth):
17078 Flesh out formats query, added some new methods.
17079 Fix part of #324398.
17081 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17082 Added query creation tests.
17084 2006-02-14 Jan Schmidt <thaytan@mad.scientist.com>
17086 * gst/gstpad.c: (fixate_value):
17087 Add a default fixation for fraction lists.
17089 2006-02-13 Wim Taymans <wim@fluendo.com>
17091 * gst/gsttask.c: (gst_task_init), (gst_task_func),
17092 (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17095 Detect and warn for obvious deadlocks. fixes #320340
17096 Fix error case where lock was not released.
17098 * tests/check/Makefile.am:
17099 * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17100 (task_func), (gst_element_suite), (main):
17103 2006-02-13 Wim Taymans <wim@fluendo.com>
17105 * docs/gst/gstreamer-sections.txt:
17107 Add new functions to docs.
17109 2006-02-13 Wim Taymans <wim@fluendo.com>
17111 * docs/design/part-TODO.txt:
17112 Updated TODO list, basesrc supports seeking to non-bytes
17115 * docs/design/part-element-sink.txt:
17118 * gst/gstbin.c: (bin_replace_message),
17119 (gst_bin_handle_message_func):
17120 * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17121 * gst/gstevent.c: (gst_event_finalize):
17122 * gst/gstpad.c: (gst_pad_event_default_dispatch),
17123 (gst_pad_send_event):
17124 Use shiny new _TYPE_NAME macros.
17126 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17127 Move debug statement up.
17129 * gst/gstelement.c: (gst_element_set_locked_state):
17130 Add some debugging.
17132 2006-02-13 Tim-Philipp Müller <tim at centricular dot net>
17134 * docs/gst/gstreamer-sections.txt:
17135 * gst/gstmessage.h:
17137 New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17138 macros (#330906). Also, document the already existing
17139 GST_QUERY_TYPE macro.
17141 2006-02-13 Wim Taymans <wim@fluendo.com>
17143 * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17144 (event_probe), (GST_START_TEST):
17145 Only events up to the pipeline EOS are counted, there are
17146 some more when going to NULL currently which we don't care
17149 2006-02-13 Wim Taymans <wim@fluendo.com>
17151 * gst/gstpad.c: (gst_pad_send_event):
17152 Correctly check flushing and emit probes. fixes #330125
17154 2006-02-10 Andy Wingo <wingo@pobox.com>
17156 * gst/gstbus.c (gst_bus_class_init): Declare our private data
17158 (gst_bus_init): Cache the location of the private data in the
17159 instance structure.
17160 (gst_bus_enable_sync_message_emission)
17161 (gst_bus_disable_sync_message_emission): Implement new public
17163 (gst_bus_post): Emit the sync-message signal if the user asked for
17166 * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17167 location of the bus-private structure.
17168 (gst_bus_enable_sync_message_emission)
17169 (gst_bus_disable_sync_message_emission): API addition
17171 2006-02-10 Jan Schmidt <thaytan@mad.scientist.com>
17173 Patch by: Vincent Torri
17175 * docs/pwg/building-boiler.xml:
17176 PWG patch from #326800
17178 2006-02-09 Tim-Philipp Müller <tim at centricular dot net>
17181 * docs/Makefile.am:
17182 * docs/design/Makefile.am:
17185 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17190 === release 0.10.3 ===
17192 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17195 releasing 0.10.3, "Like a virgin"
17197 2006-02-08 Jan Schmidt <thaytan@mad.scientist.com>
17200 2nd prerelease of 0.10.3
17201 Bump libtool versioning.
17203 2006-02-07 Andy Wingo <wingo@pobox.com>
17205 * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17206 update last_stop if we're in TIME format and the timestamp is
17209 * libs/gst/base/gstcollectpads.c (gst_collect_pads_event)
17210 * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc):
17211 * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17212 If we get a new newsegment with a different format, adapt
17215 * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17216 of 0. Not a problem, really.
17218 * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17221 2006-02-06 Jan Schmidt <thaytan@mad.scientist.com>
17226 2006-02-06 Sebastien Moutte <sebastien@moutte.net>
17229 project files updated to the default vs7 configuration
17230 * win32/common/libgstbase.def:
17231 * win32/common/libgstreamer.def:
17233 removed empty lines,
17234 sorted all exported symbols alphabetically
17235 * win32/common/dirent.c:
17236 * win32/common/dirent.h:
17237 * win32/common/gchar.h:
17238 use windows line end.
17240 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17242 * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17243 Send EOS event when stopping.
17245 2006-02-06 Tim-Philipp Müller <tim at centricular dot net>
17248 Tell folks what to do if the plugin-foobar.xml file
17249 hasn't been generated for a newly-added plugin.
17251 2006-02-05 Julien MOUTTE <julien@moutte.net>
17253 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17254 (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17255 (gst_collect_pads_start), (gst_collect_pads_stop),
17256 (gst_collect_pads_event): Collectpads now holds a reference
17257 to the GstPad that was added. Indeed we don't want to look
17258 at pads that might just go away with no warning...
17260 2006-02-05 Julien MOUTTE <julien@moutte.net>
17262 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17263 (gst_collect_pads_start), (gst_collect_pads_stop),
17264 (gst_collect_pads_event), (gst_collect_pads_chain):
17265 * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17266 Mark Nauwelaerts's patch on bug #328491.
17268 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17270 * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17272 Add some simple tests for gst_parse_bin_from_description() and
17273 gst_bin_find_unconnected_pad() (#329069).
17275 2006-02-04 Tim-Philipp Müller <tim at centricular dot net>
17277 * tools/gst-launch.c: (event_loop), (main):
17278 Catch errors during preroll (#320084).
17280 2006-02-03 Tim-Philipp Müller <tim at centricular dot net>
17282 * plugins/elements/gsttypefindelement.c:
17283 (gst_type_find_element_activate):
17284 Post TYPE_NOT_FOUND error message when typefinding
17285 is unsuccessful in the activate function as well.
17287 2006-02-02 Wim Taymans <wim@fluendo.com>
17289 * docs/design/part-element-sink.txt:
17292 2006-02-02 Wim Taymans <wim@fluendo.com>
17294 * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17295 (gst_base_sink_render_object),
17296 (gst_base_sink_queue_object_unlocked):
17297 Only keep track of prerollable items when we are
17299 Before rendering after preroll, always check if we
17301 Added some more debugging.
17303 2006-02-02 Wim Taymans <wim@fluendo.com>
17305 * gst/gstelement.c: (gst_element_continue_state),
17306 (gst_element_set_state_func), (gst_element_change_state):
17307 Fixed #326576, been running this for quite some time with
17308 no regressions at all.
17310 2006-02-02 Wim Taymans <wim@fluendo.com>
17313 Added more suppressions
17315 2006-02-02 Wim Taymans <wim@fluendo.com>
17317 * docs/design/part-element-sink.txt:
17320 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17321 (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17322 (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17323 (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17324 (gst_base_sink_do_sync), (gst_base_sink_render_object),
17325 (gst_base_sink_preroll_object),
17326 (gst_base_sink_queue_object_unlocked),
17327 (gst_base_sink_queue_object), (gst_base_sink_event),
17328 (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17329 (gst_base_sink_loop), (gst_base_sink_activate_pull),
17330 (gst_base_sink_get_position), (gst_base_sink_change_state):
17331 * libs/gst/base/gstbasesink.h:
17332 Totally refactored matching the design doc.
17333 Use two segments, one to clip incomming buffers and another to
17335 Handle queueing correctly, bypass the queue when playing.
17336 Make EOS cancelable.
17337 Handle errors correctly when operating in pull based mode.
17339 * tests/check/elements/fakesink.c: (GST_START_TEST),
17341 Added new check for sinks.
17343 2006-02-02 Wim Taymans <wim@fluendo.com>
17345 * gst/gstsegment.c: (gst_segment_clip):
17346 No reason to refuse to clip when start == -1
17348 2006-02-02 Stefan Kost <ensonic@users.sf.net>
17351 * docs/manual/intro-basics.xml:
17352 * docs/manual/intro-preface.xml:
17353 * docs/manual/manual.xml:
17354 * docs/pwg/advanced-dparams.xml:
17355 * docs/pwg/intro-basics.xml:
17356 * docs/pwg/intro-preface.xml:
17357 * docs/pwg/pwg.xml:
17358 describe dparams (controller) for plugins
17359 unify docs a little more
17361 2006-02-02 Tim-Philipp Müller <tim at centricular dot net>
17363 * docs/gst/gstreamer-sections.txt:
17364 * gst/gstutils.c: (element_find_unconnected_pad),
17365 (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17367 Add new API: gst_parse_bin_from_description() and
17368 gst_bin_find_unconnected_pad() (#329069).
17370 2006-02-01 Stefan Kost <ensonic@users.sf.net>
17372 * docs/manual/README:
17373 uncover a nasty detail of the docs build
17375 2006-01-31 Wim Taymans <wim@fluendo.com>
17377 * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17378 Don't cache duration messages if we're not going to use or
17381 2006-01-31 Stefan Kost <ensonic@users.sf.net>
17383 * docs/manual/advanced-dparams.xml:
17384 * docs/pwg/advanced-dparams.xml:
17388 * libs/gst/controller/lib.c: (gst_controller_init):
17391 2006-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
17393 * gst/gstelement.c: (gst_element_message_full):
17394 also show file/line/func if no additional debug was given
17396 2006-01-31 Sebastien Moutte <sebastien@moutte.net>
17398 * win32/vs7/grammar.vcproj:
17399 activate copy of autogenerated files for Release mode
17401 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17403 * win32/common/libgstreamer.def:
17404 export gst_value_compare
17406 2006-01-30 Jan Schmidt <thaytan@mad.scientist.com>
17408 * plugins/elements/Makefile.am:
17409 * plugins/elements/gstelements.c:
17410 * plugins/elements/gstfdsink.c: (_do_init),
17411 (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17412 (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17413 (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17414 (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17415 (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17416 (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17417 (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17418 * plugins/elements/gstfdsink.h:
17419 Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17421 2006-01-30 Stefan Kost <ensonic@users.sf.net>
17423 * docs/manual/advanced-dparams.xml:
17424 describe controller
17425 * docs/manual/advanced-position.xml:
17426 * docs/manual/basics-init.xml:
17427 * docs/manual/manual.xml:
17428 * docs/manual/titlepage.xml:
17429 * docs/pwg/pwg.xml:
17430 * docs/pwg/titlepage.xml:
17431 cleanup xml (more to come)
17432 * libs/gst/controller/gstcontroller.c:
17435 2006-01-30 Sebastien Moutte <sebastien@moutte.net>
17437 * win32/vs6/grammar.dsp:
17438 add autogen of gstmarshal.c,h for Release mode
17440 2006-01-30 Wim Taymans <wim@fluendo.com>
17442 * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17443 (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17444 (gst_base_sink_handle_object), (gst_base_sink_event),
17445 (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17446 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17447 (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17448 (gst_base_sink_deactivate), (gst_base_sink_activate),
17449 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17450 (gst_base_sink_query), (gst_base_sink_change_state):
17451 Basesink cleanups, remove some old code.
17452 Handle the case where a subclass can preroll in the render
17453 method (mostly audiosinks).
17454 Handle more events.
17455 Remove some locks around variables that are now protected
17456 with the PREROLL_LOCK (clock_id, flushing, ..).
17457 Optimize position query some more, do correct locking.
17458 Remove old code to push queue in state change, this is not
17459 needed anymore since preroll blocks on all prerollable items
17461 Almost implemented as described in design doc.
17463 2006-01-30 Wim Taymans <wim@fluendo.com>
17465 * tests/check/gst/gstbin.c: (GST_START_TEST):
17466 Wait for refcount to settle down before checking.
17468 2006-01-30 Wim Taymans <wim@fluendo.com>
17470 * docs/design/part-element-sink.txt:
17471 Pseudo code overview of desired sink behaviour regarding
17474 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17475 * win32/vs6/grammar.dsp:
17476 fix some bugs in Release mode for autogenerated files
17478 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17479 * win32/common/libgstbase.def:
17480 * win32/common/libgstreamer.def:
17481 export some new symbols: gst_base_src_set_format,
17482 gst_iterator_next, gst_structure_set_valist
17484 2006-01-29 Julien MOUTTE <julien@moutte.net>
17486 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17487 Set pad functions unconditionally. Fixes #329105.
17489 2006-01-29 Sebastien Moutte <sebastien@moutte.net>
17491 add vs8 project files created by Sergey Scobich
17493 2006-01-28 Jan Schmidt <thaytan@mad.scientist.com>
17495 * gst/gstutils.c: (gst_element_unlink_pads):
17496 Don't leak pad references.
17498 * tests/check/elements/fakesink.c: (GST_START_TEST):
17499 * tests/check/generic/sinks.c: (GST_START_TEST):
17500 * tests/check/generic/states.c: (GST_START_TEST):
17501 * tests/check/gst/gstbin.c: (GST_START_TEST):
17502 * tests/check/gst/gstcaps.c: (GST_START_TEST):
17503 * tests/check/gst/gstelement.c: (GST_START_TEST):
17504 * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17505 * tests/check/gst/gstiterator.c: (GST_START_TEST):
17506 * tests/check/gst/gstvalue.c: (GST_START_TEST):
17507 Fix a bunch of leaks. Make generic/sinks.c
17508 use a bit less cpu by slowing the buffer rate
17509 between fakesrc and fakesink.
17511 2006-01-27 Stefan Kost <ensonic@users.sf.net>
17513 * gst/gstelement.c: (gst_element_send_event):
17516 * gst/gstiterator.c:
17517 * gst/gstiterator.h:
17518 * gst/gstpad.c: (gst_pad_send_event):
17519 * gst/gststructure.c:
17523 * libs/gst/base/gstadapter.c:
17524 doc fixes, to link to function, just write gst_cool_function(), don't
17527 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17529 * plugins/elements/gsttee.c: (gst_tee_do_push),
17530 (gst_tee_handle_buffer):
17531 Always prefer an actual return value from a src
17532 pad in place of NOT_LINKED. This means we return
17533 WRONG_STATE when all src pads are WRONG_STATE
17534 instead of NOT_LINKED.
17536 Lock when replacing the last message to prevent
17537 racing with the get_property method.
17541 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17543 * tests/check/Makefile.am:
17544 * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17546 Add a very simple check that should have caught the memleak I fixed
17547 last night (if not for the slice allocator hiding it)
17549 2006-01-27 Jan Schmidt <thaytan@mad.scientist.com>
17551 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17552 (gst_bin_remove_func), (gst_bin_handle_message_func),
17553 (bin_query_duration_fold), (bin_query_generic_fold):
17554 Clean up references to the clock provider when disposed or when
17555 handling a clock-lost message from it.
17557 Unref sinks when performing a query via gst_iterator_fold, as the
17558 gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17560 * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17561 (gst_clock_set_master):
17562 Drop our reference to the master clock, if any, when we are disposed.
17564 * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17565 Chain up in dispose.
17567 2006-01-26 Wim Taymans <wim@fluendo.com>
17569 * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17570 Add some debugging.
17572 2006-01-26 Julien MOUTTE <julien@moutte.net>
17574 * plugins/elements/gsttee.c: (gst_tee_do_push),
17575 (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17576 handles pad being NOT_LINKED or in WRONG_STATE.
17578 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17583 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17586 remove obsolete entry
17588 2006-01-26 Stefan Kost <ensonic@users.sf.net>
17590 * docs/gst/gstreamer-sections.txt:
17591 * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17592 (gst_bin_iterate_sources), (gst_bin_send_event):
17594 * gst/gstelement.c: (gst_element_send_event):
17596 * gst/gstpad.c: (gst_pad_send_event):
17597 added code for downstream events, reviewed docs in gstevent.c
17599 2006-01-25 Julien MOUTTE <julien@moutte.net>
17601 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17602 We only query position using the clock in the playing state.
17603 Query peer in the other cases.
17604 * win32/common/config.h: Updates.
17606 2006-01-24 Wim Taymans <wim@fluendo.com>
17608 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17609 A clock entry that is scheduled for the exact time of the
17610 clock is still in time.
17612 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17613 (gst_base_sink_do_sync):
17614 Add some more debug info.
17616 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17619 Add new vs7 project files and solution.
17621 2006-01-23 Sebastien Moutte <sebastien@moutte.net>
17624 all files removed as they were out-dated.
17626 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17628 * docs/random/release:
17630 * gst/gstbin.c: (gst_bin_init):
17631 * gst/gstbus.c: (gst_bus_new):
17633 * gst/gstpipeline.c: (gst_pipeline_init):
17634 use gst_bus_new(), improve logging, fix docs
17635 * win32/common/config.h:
17636 update for cvs build
17638 2006-01-20 Thomas Vander Stichele <thomas at apestaart dot org>
17641 up required version of automake to 1.7
17643 2006-01-20 Sebastien Moutte <sebastien@moutte.net>
17645 * win32/common/libgstreamer.def:
17646 export gst_buffer_is_metadata_writable
17648 2006-01-20 Tim-Philipp Müller <tim at centricular dot net>
17650 * docs/gst/gstreamer-sections.txt:
17652 Add gst_event_replace() (#327001)
17654 2006-01-20 Wim Taymans <wim@fluendo.com>
17656 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17657 Make it actually compile too..
17659 2006-01-20 Wim Taymans <wim@fluendo.com>
17662 Clarify behaviour of _is_equal() when passing NULL parameters.
17664 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17665 (gst_pad_set_caps):
17666 Cleanups. Don't unref NULL caps.
17667 When setting the same caps, protect caps of the pad with
17669 Use full functionality of _is_equal() when comparing caps.
17671 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17673 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17674 Don't loop infinitely if there are no buffers to present. Partially
17675 fixes #327197, but collectpads is just broken for reusing elements
17676 to do multiple encodes atm.
17678 2006-01-20 Jan Schmidt <thaytan@mad.scientist.com>
17680 * tools/gst-inspect.c: (print_element_features):
17681 * tools/gst-xmlinspect.c: (main):
17682 URL_HANDLER is not a plugin feature we can search for in
17685 2006-01-19 Edward Hervey <edward@fluendo.com>
17687 * gst/gstelement.c: (gst_element_pads_activate):
17688 When activating, do src pads first, then sink pads.
17689 When de-activating, do sink pads first, then src pads.
17691 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17693 * docs/gst/gstreamer-sections.txt:
17694 Add gst_index_add_associationv to the docs
17696 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17701 * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17702 (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17703 Do some refactoring. Doesn't actually change functionality,
17704 but makes landing the DRAIN event easier later.
17706 2006-01-19 Tim-Philipp Müller <tim at centricular dot net>
17708 * docs/pwg/advanced-scheduling.xml:
17709 Update from 0.9.x to 0.10 API and make example a bit
17712 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17714 * docs/gst/gstreamer-sections.txt:
17715 Add gst_buffer_(is|make)_metadata_writable methods.
17717 2006-01-19 Jan Schmidt <thaytan@mad.scientist.com>
17719 * docs/design/part-sparsestreams.txt:
17720 Update sparse streams doc, hopefully for greater clarity
17722 2006-01-18 Jan Schmidt <thaytan@mad.scientist.com>
17724 * docs/design/part-events.txt:
17725 Remove mention of FILLER events.
17728 * docs/design/part-sparsestreams.txt:
17729 Write some things about using NEWSEGMENT to keep sparse streams
17732 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17734 * gst/gstbin.c: (gst_bin_dispose):
17735 Guard gst_object_unref call against a NULL object (dispose
17736 can theoretically be called multiple times).
17738 2006-01-18 Wim Taymans <wim@fluendo.com>
17740 * gst/gstbin.c: (gst_bin_element_set_state):
17741 * gst/gstclock.c: (gst_clock_id_wait):
17742 Added some more debug info.
17744 * libs/gst/base/gstadapter.c:
17747 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17748 (gst_base_sink_do_sync), (gst_base_sink_chain):
17749 Added some comments.
17751 2006-01-18 Wim Taymans <wim@fluendo.com>
17753 * tests/check/Makefile.am:
17754 * tests/check/elements/fakesink.c: (chain_async_buffer),
17755 (chain_async), (chain_async_return), (GST_START_TEST),
17756 (fakesink_suite), (main):
17757 Added fakesink test that checks prerolling and clipping
17760 * tests/check/gst/gstutils.c: (GST_START_TEST):
17761 Make check run faster so that buildbots don't timeout.
17763 2006-01-18 Wim Taymans <wim@fluendo.com>
17765 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17766 (gst_base_sink_do_sync):
17768 When the sink finishes blocking on the preroll buffer, it can
17769 immediatly render it instead of rendering when the next buffer
17772 2006-01-18 Wim Taymans <wim@fluendo.com>
17774 * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17775 (gst_base_sink_get_property), (gst_base_sink_do_sync),
17776 (gst_base_sink_chain):
17778 GST_ELEMENT_CLOCK and sync are protected with LOCK.
17779 Don't store _last_stop if the buffer is dropped.
17781 2006-01-18 Tim-Philipp Müller <tim at centricular dot net>
17783 * plugins/elements/gsttypefindelement.c:
17784 (gst_type_find_element_class_init):
17785 'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17786 object method handler that sets the caps on the pad and we want
17787 that to happen before we emit the signal (fixes e.g. feeding a
17788 plain text file to decodebin).
17790 2006-01-18 Christian Schaller <Christian@fluendo.com>
17792 * gst/gstplugin.c: Add MPL and Proprietary as license options
17794 2006-01-18 Andy Wingo <wingo@pobox.com>
17796 * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17797 symbol was exported before, it appears this was just an oversight.
17799 Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17801 * gst/gstindex.c (gst_index_add_associationv): Changed int in
17802 prototype to gint. OK since this prototype was not in the header.
17804 2006-01-17 Andy Wingo <wingo@pobox.com>
17806 * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17807 registry while we remove plugins.
17809 * tools/gst-inspect.c (print_element_info): Don't unref the
17810 factory arg, that should be the responsibility of whatever code
17811 received the ref. Fixes a double-free when called from
17812 print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17813 (main): Unref the factory if we have one.
17814 (print_element_list): No change -- relies on the
17815 plugin_feature_list_free to free the list of features.
17817 2006-01-17 Jan Schmidt <thaytan@mad.scientist.com>
17819 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17820 (gst_buffer_make_metadata_writable):
17822 * libs/gst/base/gstbasetransform.c:
17823 (gst_base_transform_prepare_output_buf):
17824 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17825 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17826 Replace gst_buffer_(make|is)_metadata_writable patch now
17827 that the release is out.
17829 2006-01-17 Andy Wingo <wingo@pobox.com>
17831 * gst/gstregistry.c: Reflow design comment. Update so as to speak
17832 in the present tense without reference to versions.
17834 * gst/gstregistry.c (gst_registry_add_plugin)
17835 (gst_registry_remove_plugin, gst_registry_remove_feature)
17836 (gst_registry_find_feature, gst_registry_get_feature_list)
17837 (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17838 (gst_registry_lookup, gst_registry_scan_path)
17839 (_gst_registry_remove_cache_plugins)
17840 (gst_registry_get_feature_list_by_plugin): Add argument
17843 === release 0.10.2 ===
17845 2006-01-16 Thomas Vander Stichele <thomas at apestaart dot org>
17848 releasing 0.10.2, "If man is five"
17850 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17854 * libs/gst/base/gstbasetransform.c:
17855 (gst_base_transform_prepare_output_buf):
17856 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17857 * tests/check/gst/gstbuffer.c: (gst_test_suite):
17858 Back out patch until after the release.
17860 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17862 * gst/gstminiobject.c:
17863 Spelling fix in docs.
17864 * ChangeLog - remove conflict indicator
17866 2006-01-16 Jan Schmidt <thaytan@mad.scientist.com>
17868 Reviewed By: Andy Wingo
17870 * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17871 (gst_buffer_make_metadata_writable):
17873 Add gst_buffer_(is|make)_metadata_writable as analogues of
17874 gst_buffer_(is|make)_writable.
17876 * libs/gst/base/gstbasetransform.c:
17877 (gst_base_transform_prepare_output_buf):
17878 * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17879 Use name gst_buffer_(is|make)_metadata_writable functions.
17881 * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17882 Test gst_buffer_(is|make)_metadata_writable
17886 2006-01-14 Thomas Vander Stichele <thomas at apestaart dot org>
17888 * docs/manual/Makefile.am:
17889 don't do parallel make
17892 * win32/common/config.h.in:
17893 add generations for HOST_CPU and GST_MAJORMINOR
17894 * win32/common/config.h:
17895 commit generated result
17897 2006-01-13 Tim-Philipp Müller <tim at centricular dot net>
17899 * docs/manual/appendix-integration.xml:
17900 Update GNOME integration section to use gst_init_get_option_group()
17901 instead of the old popt stuff (#322911). Also, GNOME applications
17902 should now use gconf*sink and gconf*src instead of the old gconf
17905 2006-01-13 Stefan Kost <ensonic@users.sf.net>
17908 * docs/gst/gstreamer-docs.sgml:
17909 * docs/gst/gstreamer-sections.txt:
17910 * docs/libs/gstreamer-libs-sections.txt:
17911 add new API entries to the docs
17912 * libs/gst/controller/Makefile.am:
17913 * libs/gst/controller/gstcontroller.c:
17914 * libs/gst/controller/gstcontroller.h:
17915 * libs/gst/controller/gstcontrollerprivate.h:
17916 * libs/gst/controller/gsthelper.c:
17917 * libs/gst/controller/gstinterpolation.c:
17918 move private structs to private header
17920 gstreamer-0.7 -> gstreamer-0.10
17921 * tests/check/libs/struct_i386.h:
17922 remove private structs
17924 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17926 * plugins/indexers/Makefile.am:
17927 Fixes as part of #317048
17929 2006-01-13 Thomas Vander Stichele <thomas at apestaart dot org>
17931 * plugins/indexers/Makefile.am:
17932 fix #316086 - compilation when mmap is missing
17934 2006-01-12 Sebastien Moutte <sebastien@moutte.net>
17936 * libs/gst/base/gstbasesink.c:
17937 *cur = (now - base) * basesink->segment.abs_rate + time; replaced by
17938 *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17939 * win32/common/config.h:
17940 added some defines GST_MAJORMINOR and HOST_CPU
17941 * win32/common/libgstbase.def:
17942 * win32/common/libgstreamer.def:
17943 added some exported functions.
17945 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17947 * libs/gst/controller/gstcontroller.c:
17948 (gst_controlled_property_set_interpolation_mode),
17949 (gst_controlled_property_new):
17950 * libs/gst/controller/gstcontroller.h:
17951 * libs/gst/controller/gstinterpolation.c:
17952 (interpolate_none_get_string_value_array):
17953 make G_TYPE_STRING controlable
17955 2006-01-12 Stefan Kost <ensonic@users.sf.net>
17958 * tools/gst-feedback.1.in:
17959 * tools/gst-inspect.1.in:
17960 * tools/gst-launch.1.in:
17961 * tools/gst-md5sum.1.in:
17962 * tools/gst-typefind.1.in:
17963 * tools/gst-xmlinspect.1.in:
17964 * tools/gst-xmllaunch.1.in:
17965 cleanup man-pages, remove reference to gst-register, document env-vars
17967 2006-01-12 Jan Schmidt <thaytan@mad.scientist.com>
17969 * gst/gstbuffer.c: (gst_buffer_span):
17970 gst_buffer_span should copy the timestamp of the first buffer
17971 if they were both originally overlapping subbuffers of the
17972 same parent, using the same logic as the 'slow copy' case.
17974 2006-01-11 Jan Schmidt <thaytan@mad.scientist.com>
17976 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17977 Need to awaken ALL the pads when we pop a buffer, otherwise
17978 collectpads only works when there is 2 input streams.
17980 2006-01-11 Stefan Kost <ensonic@users.sf.net>
17982 * docs/random/ensonic/media-device-daemon.txt:
17985 fix doc example, add clarification
17986 * tools/gst-launch.1.in:
17987 add initial info about GST_PLUGIN_PATH, needs more work
17989 2006-01-11 Tim-Philipp Müller <tim at centricular dot net>
17991 * docs/manual/basics-bins.xml:
17992 * docs/manual/basics-elements.xml:
17993 * docs/manual/intro-basics.xml:
17994 Some more minor docs additions and updates.
17996 2006-01-11 Wim Taymans <wim@fluendo.com>
17998 * docs/manual/basics-bins.xml:
17999 * docs/manual/basics-elements.xml:
18000 Some small fixes as pointed out by Ser-ver on IRC.
18002 2006-01-10 Edward Hervey <edward@fluendo.com>
18004 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18005 Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18006 the single-segment mode.
18008 2006-01-10 Brian Cameron <brian dot cameron at sun dot com>
18010 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18012 * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18013 (gst_base_src_perform_seek), (gst_base_src_send_event),
18014 (gst_base_src_set_property), (gst_base_src_get_property),
18015 (gst_base_src_loop), (gst_base_src_start),
18016 (gst_base_src_activate_push):
18017 * libs/gst/base/gstbasesrc.h:
18018 Name (private) union; makes Sun's Forte compiler happy (#324900).
18020 2006-01-09 Tim-Philipp Müller <tim at centricular dot net>
18023 gst-register is gone.
18025 2006-01-07 Thomas Vander Stichele <thomas at apestaart dot org>
18027 * gst/gstvalue.c: (_gst_value_initialize):
18028 make the G_TYPE_DATE instantiation work if debug is disabled
18030 2006-01-06 Tim-Philipp Müller <tim at centricular dot net>
18032 * gst/gstmessage.c: (gst_message_parse_tag),
18033 (gst_message_parse_error), (gst_message_parse_warning):
18034 Don't crash when return location for error/warning debug
18035 string is NULL; add fact that return locations can be
18036 NULL to docs where appropriate.
18038 2006-01-05 Wim Taymans <wim@fluendo.com>
18040 * gst/gstplugin.c: (gst_plugin_load_file):
18041 Replace strdup by g_strdup.
18043 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18045 * docs/pwg/advanced-types.xml:
18048 2006-01-05 Thomas Vander Stichele <thomas at apestaart dot org>
18050 submitted by: Abel Cheung
18054 Added Chinese (traditional) translation
18056 2006-01-04 Wim Taymans <wim@fluendo.com>
18058 * docs/manual/basics-pads.xml:
18059 * docs/plugins/Makefile.am:
18060 * docs/plugins/gstreamer-plugins-docs.sgml:
18061 * docs/plugins/gstreamer-plugins-sections.txt:
18062 * docs/pwg/advanced-clock.xml:
18063 * docs/pwg/advanced-scheduling.xml:
18064 * docs/pwg/advanced-types.xml:
18065 * plugins/elements/gstfdsink.c:
18066 * plugins/elements/gstfdsrc.c:
18067 * plugins/elements/gstfdsrc.h:
18068 * plugins/elements/gstidentity.c: (gst_identity_class_init):
18069 * plugins/elements/gstidentity.h:
18070 * plugins/elements/gstqueue.h:
18071 * plugins/elements/gsttee.c:
18072 * plugins/elements/gsttee.h:
18073 * plugins/elements/gsttypefindelement.c:
18074 (gst_type_find_element_class_init):
18075 * plugins/elements/gsttypefindelement.h:
18076 Small updates to various docs.
18077 Added core plugins to docs.
18079 2006-01-03 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18082 add a suppression for liboil's uninitialized variable
18084 2006-01-02 James Livingston <jrl at ids dot org dot au>
18086 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
18089 Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18090 macro, so that gcc doesn't complain if the -Wmissing-prototypes
18091 compiler switch is being used (#325429).
18093 2005-12-29 Tim-Philipp Müller <tim at centricular dot net>
18095 * gst/gstbin.c: (gst_bin_query):
18096 Disable duration query caching in bins until it gets
18097 fixed (see #324807).
18099 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18101 * tools/gst-inspect.c: (print_element_properties_info):
18102 Handle properties of POINTER and BOXED type.
18104 2005-12-27 Tim-Philipp Müller <tim at centricular dot net>
18106 * gst/gst.c: (init_post):
18107 Init tags stuff and some other things before loading
18108 any static plugins (there may be other static plugins
18109 than just the GStreamer ones, and they may want to
18110 register their own tags or formats or whatever, and
18111 preferably without segfaulting).
18113 * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18114 Print at least a warning in the debug logs if we drop a
18115 query just because we don't know how to adjust the value
18116 in the particular format.
18118 2005-12-24 David Schleef <ds@schleef.org>
18120 * tools/gstreamer-completion:
18121 Replacement for gst-complete written in sh and sed. Only
18122 completes names of features, but that's 90% of what I want
18123 it for. Properties are not available in registry.xml. (Maybe
18126 === release 0.10.1 ===
18128 2005-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
18131 releasing 0.10.1, "Nollaig chridheil"
18133 2005-12-22 Tim-Philipp Müller <tim at centricular dot net>
18135 * docs/faq/cvs.xml:
18136 Add missing quote, should be make ERROR_CFLAGS="".
18138 2005-12-20 Wim Taymans <wim@fluendo.com>
18140 * docs/design/part-trickmodes.txt:
18141 More documentation on trickmodes.
18143 2005-12-20 Edward Hervey <edward@fluendo.com>
18145 * gst/gstcaps.c: (gst_static_caps_get_type):
18147 API addition: GST_TYPE_STATIC_CAPS
18148 Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18149 * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18150 * gst/gstpadtemplate.h:
18151 API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18152 Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18155 2005-12-18 Wim Taymans <wim@fluendo.com>
18157 * libs/gst/base/gstadapter.c:
18158 * libs/gst/base/gstadapter.h:
18159 * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18160 (gst_base_sink_get_position):
18161 * libs/gst/base/gstbasesink.h:
18162 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18163 (gst_base_src_default_query), (gst_base_src_default_do_seek),
18164 (gst_base_src_do_seek), (gst_base_src_perform_seek),
18165 (gst_base_src_send_event), (gst_base_src_update_length),
18166 (gst_base_src_get_range), (gst_base_src_loop),
18167 (gst_base_src_start):
18168 * libs/gst/base/gstbasesrc.h:
18169 * libs/gst/base/gstbasetransform.h:
18170 * libs/gst/base/gstcollectpads.h:
18171 * libs/gst/base/gstpushsrc.c:
18172 * libs/gst/base/gstpushsrc.h:
18173 * libs/gst/dataprotocol/dataprotocol.c:
18174 * libs/gst/dataprotocol/dataprotocol.h:
18175 * libs/gst/net/gstnetclientclock.h:
18176 * libs/gst/net/gstnettimeprovider.h:
18177 Documentation updates.
18179 2005-12-18 Tim-Philipp Müller <tim at centricular dot net>
18181 * docs/manual/basics-helloworld.xml:
18182 Remove superfluous closing bracket in helloworld example.
18184 2005-12-17 Tim-Philipp Müller <tim at centricular dot net>
18186 * tools/gst-launch.1.in:
18187 Update gst-launch man page; add a section with useful
18188 environment variables. Fixes #323882.
18190 2005-12-16 Stefan Kost <ensonic@users.sf.net>
18193 * gst/gst_private.h:
18194 change some char* into char[]
18196 2005-12-16 Wim Taymans <wim@fluendo.com>
18198 * gst/gstregistryxml.c: (load_feature):
18200 Don't use g_object_unref on GstObjects so that we avoid
18201 leaks on unsafe glibs.
18203 2005-12-16 Wim Taymans <wim@fluendo.com>
18205 * gst/gstbin.c: (gst_bin_recalc_state):
18208 2005-12-16 Wim Taymans <wim@fluendo.com>
18210 * common/check.mak:
18211 Added make forever target for check.
18213 2005-12-16 Thomas Vander Stichele <thomas at apestaart dot org>
18215 * gst/gst.c: (init_post):
18216 make the registry cache file HOST_CPU-dependent
18218 2005-12-16 Andy Wingo <wingo@pobox.com>
18220 * plugins/elements/gstbufferstore.c
18221 (gst_buffer_store_cleared_func): Pay attention to g_list_append
18224 * tests/check/gst/gstobject.c
18225 (test_fake_object_name_threaded_unique): Pay attention to
18226 g_list_sort return value.
18228 2005-12-16 Tim-Philipp Müller <tim at centricular dot net>
18230 * tools/gst-feedback-m.m:
18231 Update for 0.9/0.10 (fixes #323870).
18233 2005-12-15 Tim-Philipp Müller <tim at centricular dot net>
18235 * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18236 Fix lcopy for mini objects, the mini object needs to be ref'ed.
18238 * tests/check/gst/gstminiobject.c: (my_foo_init),
18239 (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18240 (test_value_collection), (gst_mini_object_suite):
18241 Add test to ensure refcounts end up as expected when passing
18242 GstMiniObjects through g_object_get() and g_object_set().
18244 2005-12-14 Julien MOUTTE <julien@moutte.net>
18246 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18247 (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18248 (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18249 of collectpads. This version removes a lot of races without
18250 touching API/ABI. Yay !
18252 2005-12-14 Jan Schmidt <thaytan@mad.scientist.com>
18254 * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18255 Don't allow activation of a srcpad in pull_range if it has no
18257 Change some debug statements to be a little clearer
18259 * plugins/elements/gsttypefindelement.c:
18260 (gst_type_find_handle_src_query):
18261 Check that we have a peer before executing queries thereupon.
18263 * tests/examples/metadata/read-metadata.c: (message_loop):
18264 Use gst_bus_pop instead of gst_bus_poll when we just want it to
18265 immediately return us any available message with 0 timeout.
18267 2005-12-12 Michael Smith <msmith@fluendo.com>
18269 * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18270 Don't unref factories after calling them.
18271 * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18272 * plugins/elements/gsttypefindelement.c:
18273 (gst_type_find_element_chain):
18274 Free lists of factories after using them. Fixing typefinding memory
18277 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18279 * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18280 (gst_plugin_feature_load):
18281 more meaningful debug output
18283 * tests/Makefile.am:
18284 * tests/old/examples/Makefile.am:
18285 make make distcheck happy again
18287 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18289 * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18290 Catch the special case where we are operating chain-based,
18291 but the downstream peer pad has no chain function. Emit a
18292 custom error message in this case instead of letting the
18293 core generate one implying that this is some sort of core
18294 bug. It's not, it just means that whatever got plugged
18295 into the pipeline downstream when we announced the type
18296 can only operate pull-based, while our source can only
18297 operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18298 Error string has not been marked for translation yet, as
18299 it probably needs some more work first.
18301 (gst_type_find_element_get_best_possibility):
18302 Add helper function to find the best of all available
18303 found possibilities that qualify given the min. threshold.
18305 (gst_type_find_element_handle_event):
18306 Fix the case where we get an EOS while still in TYPEFIND
18307 mode (we want to chose the best of all possible types,
18308 not just the first type that happens to be in our unsorted
18309 list of possible types).
18311 (gst_type_find_element_chain):
18312 Make sure we return GST_FLOW_ERROR when we errored out
18313 in stop_typefinding(); also, don't just find the best of
18314 all found type entries and then use the last examined
18315 type entry, but actually use the best entry.
18317 2005-12-12 Tim-Philipp Müller <tim at centricular dot net>
18319 * tests/examples/typefind/typefind.c: (type_found):
18320 * tests/examples/xml/runxml.c: (xml_loaded):
18321 More gcc4 fixes and a mem leak fix.
18323 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18325 * tests/examples/xml/createxml.c: (object_saved):
18328 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18330 * tests/Makefile.am:
18331 enable the examples even more
18333 2005-12-12 Andy Wingo <wingo@pobox.com>
18335 * libs/gst/net/gstnettimeprovider.c
18336 (gst_net_time_provider_class_init, gst_net_time_provider_init)
18337 (gst_net_time_provider_set_property)
18338 (gst_net_time_provider_get_property):
18339 API addition: Export "active" as a GObject property.
18340 (gst_net_time_provider_thread): Only respond to time queries if
18341 the time provider is active.
18343 * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18344 NetTimeProvider, preserving binary compat.
18346 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18348 * tests/examples/controller/audio-example.c: (main):
18349 * tests/examples/launch/Makefile.am:
18350 convert comments again
18352 2005-12-12 Wim Taymans <wim@fluendo.com>
18354 * libs/gst/base/gstpushsrc.c:
18357 2005-12-12 Wim Taymans <wim@fluendo.com>
18359 * docs/libs/gstreamer-libs-sections.txt:
18360 Added new symbol to docs.
18362 * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18363 (gst_base_src_init), (gst_base_src_set_format),
18364 (gst_base_src_default_query), (gst_base_src_query),
18365 (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18366 (gst_base_src_perform_seek), (gst_base_src_send_event),
18367 (gst_base_src_default_event), (gst_base_src_event_handler),
18368 (gst_base_src_set_property), (gst_base_src_get_property),
18369 (gst_base_src_wait), (gst_base_src_do_sync),
18370 (gst_base_src_update_length), (gst_base_src_get_range),
18371 (gst_base_src_check_get_range), (gst_base_src_loop),
18372 (gst_base_src_default_negotiate), (gst_base_src_start),
18373 (gst_base_src_activate_push), (gst_base_src_activate_pull),
18374 (gst_base_src_change_state):
18375 * libs/gst/base/gstbasesrc.h:
18376 Implement seeking to other formats than _BYTES.
18377 Implement more seeking methods correctly.
18379 Added query vmethod.
18380 Added do_seek vmethod to make life easier for subclasses
18382 API addition: gst_base_src_set_format()
18384 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18386 * tests/examples/Makefile.am:
18389 2005-12-12 Stefan Kost <ensonic@users.sf.net>
18392 * docs/random/ensonic/media-device-daemon.txt:
18393 * tests/examples/controller/.cvsignore:
18394 * tests/examples/controller/Makefile.am:
18395 * tests/examples/controller/audio-example.c: (main):
18396 * tests/examples/helloworld/.cvsignore:
18397 * tests/examples/helloworld/Makefile.am:
18398 * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18399 * tests/examples/launch/.cvsignore:
18400 * tests/examples/launch/Makefile.am:
18401 * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18402 * tests/examples/metadata/.cvsignore:
18403 * tests/examples/metadata/Makefile.am:
18404 * tests/examples/metadata/read-metadata.c: (message_loop),
18405 (make_pipeline), (print_tag), (main):
18406 * tests/examples/queue/.cvsignore:
18407 * tests/examples/queue/Makefile.am:
18408 * tests/examples/queue/queue.c: (event_loop), (main):
18409 * tests/examples/typefind/.cvsignore:
18410 * tests/examples/typefind/Makefile.am:
18411 * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18413 * tests/examples/xml/.cvsignore:
18414 * tests/examples/xml/Makefile.am:
18415 * tests/examples/xml/createxml.c: (object_saved), (main):
18416 * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18417 * tests/old/examples/Makefile.am:
18418 * tests/old/examples/TODO:
18419 * tests/old/examples/controller/.cvsignore:
18420 * tests/old/examples/controller/Makefile.am:
18421 * tests/old/examples/controller/audio-example.c:
18422 * tests/old/examples/helloworld/.cvsignore:
18423 * tests/old/examples/helloworld/Makefile.am:
18424 * tests/old/examples/helloworld/helloworld.c:
18425 * tests/old/examples/launch/.cvsignore:
18426 * tests/old/examples/launch/Makefile.am:
18427 * tests/old/examples/launch/mp3parselaunch.c:
18428 * tests/old/examples/launch/mp3play:
18429 * tests/old/examples/manual/Makefile.am:
18430 * tests/old/examples/metadata/Makefile.am:
18431 * tests/old/examples/metadata/read-metadata.c:
18432 * tests/old/examples/queue/.cvsignore:
18433 * tests/old/examples/queue/Makefile.am:
18434 * tests/old/examples/queue/queue.c:
18435 * tests/old/examples/typefind/.cvsignore:
18436 * tests/old/examples/typefind/Makefile.am:
18437 * tests/old/examples/typefind/typefind.c:
18438 * tests/old/examples/xml/.cvsignore:
18439 * tests/old/examples/xml/Makefile.am:
18440 * tests/old/examples/xml/createxml.c:
18441 * tests/old/examples/xml/runxml.c:
18442 applied some simple fixing to some examples
18443 re-enabled the working examples
18445 2005-12-12 Wim Taymans <wim@fluendo.com>
18447 * gst/gstsegment.c: (gst_segment_init),
18448 (gst_segment_set_last_stop), (gst_segment_set_seek),
18449 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18450 (gst_segment_to_running_time):
18451 Added more documentation.
18452 Make sure the last_pos value is updated properly.
18453 Make sure to_stream_time and to_running_time don't
18454 operate on wrong values.
18456 * tests/check/gst/gstsegment.c: (GST_START_TEST):
18459 2005-12-12 Michael Smith <msmith@fluendo.com>
18461 * plugins/elements/gsttypefindelement.c: (free_entry),
18462 (gst_type_find_element_chain):
18463 Now that we're not leaking factories, make sure we keep references
18464 to them while we need them.
18466 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18468 * tests/check/gst/struct_i386.h:
18469 ifdef out the XML structs
18471 2005-12-12 Thomas Vander Stichele <thomas at apestaart dot org>
18473 * gst/gstvalue.c: (gst_value_transform_double_fraction):
18474 floor is not needed, F is always positive; this obviates the
18475 need for adding -lm when building without libxml
18477 2005-12-12 Wim Taymans <wim@fluendo.com>
18479 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18480 Take current playback rate into account when reporting
18483 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18485 * docs/manual/mime-world.fig:
18486 Let's try this again, this time with a file that is
18487 actually in XFig format.
18489 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18491 * docs/manual/mime-world.fig:
18492 Add audioconvert element to diagram so that it
18493 matches the text and the code (fixes #319526).
18495 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18497 * docs/pwg/building-chainfn.xml:
18498 * docs/pwg/building-pads.xml:
18499 * docs/pwg/building-state.xml:
18500 * docs/pwg/other-source.xml:
18501 Update state change stuff for 0.10 (fixes #322969).
18503 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18505 * docs/manual/advanced-dataaccess.xml:
18506 * docs/manual/appendix-checklist.xml:
18507 * docs/manual/appendix-programs.xml:
18508 * docs/manual/basics-pads.xml:
18509 * docs/manual/highlevel-components.xml:
18510 * docs/manual/manual.xml:
18511 Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18512 add converters in front of pipelines; remove curly
18513 brackets for threads stuff, they no longer exist; use
18514 GST_TYPE_FRACTION for framerates; update some pieces of
18515 code to 0.10, but there's plenty more to do.
18517 * docs/manual/appendix-porting.xml:
18518 Expand on asynchroneous state changes; s/0.9/0.10/;
18519 mention disappearance of gst_init_get_popt_table()
18522 2005-12-11 Tim-Philipp Müller <tim at centricular dot net>
18524 * docs/faq/using.xml:
18525 Spider no longer exists, and neither does gst-launch-ext.
18526 Update examples to use decodebin and playbin and put
18527 converters in front of sinks (fixes #323726).
18529 2005-12-09 Michael Smith <msmith@fluendo.com>
18531 * plugins/elements/gsttypefindelement.c: (find_peek),
18532 (gst_type_find_element_chain):
18533 Fix leaking element factories in typefinding.
18534 Fix problem where we forgot about a probable type on non-seekable
18535 files, and thus later mis-typefound it.
18537 2005-12-09 Michael Smith <msmith@fluendo.com>
18539 * common/m4/gst-makecontext.m4:
18540 * common/m4/gst-mcsc.m4:
18542 * win32/common/config.h:
18543 * win32/common/config.h.in:
18544 Remove makecontext stuff; not used in 0.10 and causes problems on
18545 HPUX according to bug #322441
18547 2005-12-07 Wim Taymans <wim@fluendo.com>
18549 * tests/check/Makefile.am:
18550 * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18552 * tests/check/libs/struct_i386.h:
18553 Added ABI check for libs
18555 2005-12-07 Wim Taymans <wim@fluendo.com>
18557 * tests/check/Makefile.am:
18558 And add the struct_i386.h to dist.
18560 2005-12-07 Wim Taymans <wim@fluendo.com>
18562 * tests/check/Makefile.am:
18563 * tests/check/gst/.cvsignore:
18564 * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18566 * tests/check/gst/struct_i386.h:
18567 Added check for ABI compatibility.
18569 2005-12-07 Wim Taymans <wim@fluendo.com>
18571 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18572 (gst_fake_src_get_times), (gst_fake_src_create):
18573 Fix broken sync option, fixes #323259
18575 2005-12-07 Wim Taymans <wim@fluendo.com>
18580 * gst/gstcaps.c: (gst_caps_is_equal):
18581 Don't assert on NULL <--> X. Fixes #323260
18583 * gst/gstminiobject.c: (gst_mini_object_replace):
18584 If we're doing atomic operations, we might just as well use
18585 the proper way to get an atomic pointer.
18587 * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18588 Clean up debugging.
18590 2005-12-07 Michael Smith <msmith@fluendo.com>
18592 * gst/parse/grammar.y:
18593 Remove handling of { } for threads.
18595 2005-12-06 David Schleef <ds@schleef.org>
18597 * libs/gst/base/gstbasetransform.c: speling fix.
18599 2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
18601 * docs/libs/tmpl/gstdataprotocol.sgml:
18602 * docs/random/omega/testing/gstobject.c:
18605 * gst/gstelement.c:
18606 * gst/gstelementfactory.c:
18609 * gst/gstghostpad.c:
18611 * gst/gstpadtemplate.c:
18612 * gst/gstregistryxml.c:
18613 * gst/gsttaglist.c:
18614 * gst/gsttagsetter.c:
18615 * gst/gsttypefind.c:
18617 * libs/gst/base/gstbasesrc.c:
18618 * libs/gst/net/gstnetclientclock.c:
18619 * libs/gst/net/gstnettimeprovider.c:
18620 * plugins/elements/gstfakesrc.c:
18621 * plugins/elements/gstfdsrc.c:
18622 * plugins/elements/gstfilesrc.c:
18623 * plugins/elements/gstidentity.c:
18624 * plugins/elements/gstqueue.c:
18625 * plugins/elements/gsttypefindelement.c:
18626 * plugins/indexers/gstfileindex.c:
18627 * plugins/indexers/gstmemindex.c:
18628 * tests/check/gst/gsttag.c:
18629 * tests/old/examples/cutter/cutter.c:
18630 * tests/old/examples/mixer/mixer.c:
18631 * tests/old/examples/xml/runxml.c: (main):
18632 * tests/old/testsuite/caps/normalisation.c:
18633 * tests/old/testsuite/debug/global.c:
18634 * tests/old/testsuite/parse/parse1.c:
18635 * tools/gst-xmlinspect.c:
18636 * win32/common/dirent.c:
18639 === release 0.10.0 ===
18641 2005-12-05 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18644 releasing 0.10.0, "Maroilles"
18646 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18648 submitted by: Funda Wang <fundawang@linux.net.cn>
18652 added Chinese (Traditional) translation
18654 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18656 * docs/gst/gstreamer-sections.txt:
18657 * docs/libs/tmpl/gstdataprotocol.sgml:
18658 * docs/random/thomasvs/TODO:
18663 2005-12-05 Andy Wingo <wingo@pobox.com>
18665 patch by: Wim Taymans <wim@fluendo.com>
18667 * libs/gst/base/gstbasetransform.c
18668 (gst_base_transform_prepare_output_buf)
18669 (gst_base_transform_buffer_alloc):
18670 * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18671 alloc_buffer_and_set_caps.
18673 * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18674 set_caps on the source pad.
18675 (gst_pad_alloc_buffer_and_set_caps): New function, does what
18676 alloc_buffer used to do. Fixes #322874.
18678 * docs/gst/gstreamer-sections.txt:
18679 * docs/design/part-negotiation.txt:
18680 * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18683 2005-12-05 Thomas Vander Stichele <thomas at apestaart dot org>
18685 patch by: Sebastien Moutte
18688 * win32/common/config.h.in:
18689 * win32/vs6/libgstcontroller.dsp:
18692 2005-12-05 Wim Taymans <wim@fluendo.com>
18694 * gst/gstcaps.c: (gst_caps_is_equal):
18695 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18696 (gst_fake_src_create):
18697 Back out previous code changes, leave doc updates, file bugs
18700 2005-12-05 Wim Taymans <wim@fluendo.com>
18702 * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18703 (gst_fake_src_get_times), (gst_fake_src_create):
18704 * plugins/elements/gstfakesrc.h:
18705 Fix broken sync code.
18707 2005-12-05 Wim Taymans <wim@fluendo.com>
18709 * gst/gstcaps.c: (gst_caps_is_equal):
18710 Comparing NULL against !NULL yields different caps, not a
18713 2005-12-05 Wim Taymans <wim@fluendo.com>
18715 * gst/gstpipeline.c:
18716 Fix small typo in docs.
18718 2005-12-05 Andy Wingo <wingo@pobox.com>
18720 patch by: Thomas Vander Stichele <thomas at apestaart dot org>
18722 * gst/gst.c (init_post): remove hard-coded 0.9 location for
18723 registries/plugins with a MAJORMINOR one.
18724 (plugin_desc): Rename library from gstcoreleements to
18725 staticelements. Fixes #323222.
18727 2005-12-05 Tim-Philipp Müller <tim at centricular dot net>
18729 * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18730 Change debug category to 'collectpads' from 'collect_pads'
18733 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18735 patch by: Sebastien Moutte
18737 * libs/gst/controller/gstinterpolation.c:
18738 use convert function for uint64/double
18739 * win32/vs6/libgstcontroller.dsp:
18742 2005-12-04 Thomas Vander Stichele <thomas at apestaart dot org>
18744 * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18745 (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18747 * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18748 add tests that seem to show that the guint64/gdouble conversions
18751 2005-12-02 Wim Taymans <wim@fluendo.com>
18753 * gst/gstregistry.c: (gst_registry_add_path):
18754 * gst/gstregistry.h:
18755 * gst/gstregistryxml.c:
18758 2005-12-02 Wim Taymans <wim@fluendo.com>
18760 * gst/gstutils.c: (gst_util_uint64_scale_int64),
18761 (gst_util_uint64_scale_int):
18764 * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18765 Add debug log line.
18767 * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18770 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18773 * win32/common/config.h:
18774 * win32/vs6/gstreamer.dsw:
18775 * win32/vs6/libgstcoreelements.dsp:
18776 * win32/vs6/libgstelements.dsp:
18777 renamed core elements plugin
18779 2005-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
18781 * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18783 do piece-wise major/minor comparison so 0.9 < 0.10
18784 also allow .exe extensions for tools
18786 2005-12-02 Michael Smith <msmith@fluendo.com>
18789 Escape a % to make gtkdoc happier; bug 322958.
18791 === release 0.9.7 ===
18793 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18796 releasing 0.9.7, "My Dog Has No Nose"
18798 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18800 * common/gst-xmlinspect.py:
18802 * docs/libs/tmpl/gstdataprotocol.sgml:
18803 * docs/random/release:
18822 * win32/common/config.h:
18823 * win32/common/config.h.in:
18824 * win32/vs6/gst_inspect.dsp:
18825 * win32/vs6/gst_launch.dsp:
18826 * win32/vs6/libgstbase.dsp:
18827 * win32/vs6/libgstelements.dsp:
18828 * win32/vs6/libgstreamer.dsp:
18829 * win32/vs7/GStreamer.vcproj:
18830 * win32/vs7/gst-inspect.vcproj:
18831 * win32/vs7/gst-launch.vcproj:
18832 * win32/vs7/libgstbase.vcproj:
18833 bump GST_MAJORMINOR to 0.10
18834 reset libtool version
18836 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18840 Added Bulgarian translation by (Alexander Shopov)
18842 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18844 * tests/check/gst/gstplugin.c:
18847 2005-12-01 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18849 * common/gst-xmlinspect.py:
18850 * common/gtk-doc-plugins.mak:
18852 * docs/Makefile.am:
18853 * docs/gst/Makefile.am:
18854 * docs/gst/gstreamer-docs.sgml:
18855 * docs/gst/gstreamer-sections.txt:
18856 * docs/gst/gstreamer.types:
18857 * docs/gst/gstreamer.types.in:
18858 * docs/plugins/Makefile.am:
18859 * docs/plugins/gstreamer-plugins-docs.sgml:
18860 * docs/plugins/gstreamer-plugins-sections.txt:
18861 * docs/plugins/gstreamer-plugins.types:
18862 * docs/plugins/inspect.stamp:
18863 * docs/plugins/inspect/plugin-coreelements.xml:
18864 * docs/plugins/inspect/plugin-coreindexers.xml:
18865 * docs/plugins/scanobj-build.stamp:
18866 * gstreamer.spec.in:
18867 * plugins/elements/Makefile.am:
18868 * plugins/elements/gstelements.c:
18869 * plugins/elements/gstfakesink.c:
18870 * plugins/elements/gstfakesrc.c:
18871 * plugins/elements/gstfilesink.c:
18872 * plugins/elements/gstfilesrc.c:
18873 * plugins/elements/gstqueue.c:
18874 * plugins/indexers/Makefile.am:
18875 * plugins/indexers/gstindexers.c:
18876 document core plugins in a separate document just like all the
18878 rename these plugins to something starting with core
18880 2005-12-01 Andy Wingo <wingo@pobox.com>
18882 * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18883 padding here before, but it missed the commit.
18885 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18887 * libs/gst/controller/gstinterpolation.c:
18888 whitespace prices have crashed, we should feel free to use some now
18889 use gst_guint64_to_gdouble
18891 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18893 * libs/gst/controller/gstcontroller.c:
18894 * libs/gst/controller/gsthelper.c:
18895 * libs/gst/controller/gstinterpolation.c:
18896 * libs/gst/controller/lib.c:
18897 wrap config.h include
18899 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18901 * docs/gst/gstreamer-sections.txt:
18904 2005-12-01 Thomas Vander Stichele <thomas at apestaart dot org>
18906 * plugins/elements/gstelements.c:
18907 * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18908 (gst_fd_sink__class_init), (gst_fd_sink__init),
18909 (gst_fd_sink__chain), (gst_fd_sink__set_property),
18910 (gst_fd_sink__get_property):
18911 * plugins/elements/gstfdsink.h:
18912 * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18913 (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18914 (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18915 (gst_fd_src_unlock), (gst_fd_src_set_property),
18916 (gst_fd_src_get_property), (gst_fd_src_create),
18917 (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18918 (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18919 (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18920 (gst_fd_src_uri_handler_init):
18921 * plugins/elements/gstfdsrc.h:
18922 * plugins/elements/gstqueue.c: (gst_queue_get_type):
18925 2005-11-30 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18927 * docs/gst/Makefile.am:
18928 * docs/gst/gstreamer.types.in:
18932 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18938 * gst/gstregistry.h:
18939 * tests/benchmarks/complexity.c:
18940 * tests/benchmarks/mass-elements.c:
18941 * tests/check/Makefile.am:
18942 * tools/Makefile.am:
18943 * tools/gst-inspect.c:
18944 * tools/gst-xmlinspect.c:
18945 various fixes to make
18946 --disable-nls --disable-registry --disable-loadsave
18947 --disable-parse --disable-gst-debug
18948 work and get the core .so down to 360444 bytes after stripping
18950 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18955 * docs/random/thomasvs/TODO:
18956 * tests/Makefile.am:
18960 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18962 * win32/GStreamer.vcproj:
18965 * win32/Makefile.inspect:
18966 * win32/Makefile.launch:
18967 * win32/Makefile.register:
18968 * win32/README.txt:
18969 * win32/gst-inspect.vcproj:
18970 * win32/gst-launch.vcproj:
18971 * win32/gst-register.vcproj:
18972 * win32/gstelements.vcproj:
18973 * win32/gstgetbits.def:
18974 * win32/gstgetbits.vcproj:
18975 * win32/gstreamer-dbg.def:
18976 * win32/gstreamer.def:
18977 * win32/libgstbase.def:
18978 * win32/libgstbase.vcproj:
18979 * win32/link_oldruntime.c:
18983 * win32/msvc71.sln:
18984 move even more stuff, win32/ is nice and clean now
18986 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
18988 * libs/gst/control/.cvsignore:
18993 * win32/gstbytestream.def:
18994 * win32/gstbytestream.vcproj:
18995 * win32/gstconfig.h:
18996 * win32/gstenumtypes.c:
18997 * win32/gstenumtypes.h:
18998 * win32/gstoptimalscheduler.vcproj:
18999 * win32/gstversion.h:
19001 * win32/testsuite/bins.vcproj:
19002 * win32/testsuite/bytestream.vcproj:
19003 * win32/testsuite/caps.vcproj:
19004 * win32/testsuite/cleanup.vcproj:
19005 * win32/testsuite/clock.vcproj:
19006 * win32/testsuite/debug.vcproj:
19007 * win32/testsuite/dlopen.vcproj:
19008 * win32/testsuite/dynparams.vcproj:
19009 * win32/testsuite/elements.vcproj:
19010 * win32/testsuite/ghostpads.vcproj:
19011 * win32/testsuite/indexers.vcproj:
19012 * win32/testsuite/negotiation.vcproj:
19013 * win32/testsuite/parse.vcproj:
19014 * win32/testsuite/plugin.vcproj:
19015 * win32/testsuite/refcounting.vcproj:
19016 * win32/testsuite/schedulers.vcproj:
19017 * win32/testsuite/states.vcproj:
19018 * win32/testsuite/tags.vcproj:
19019 * win32/testsuite/threads.vcproj:
19020 remove old win32 stuff that isn't maintained and should be
19023 2005-11-30 Andy Wingo <wingo@pobox.com>
19025 * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19026 loading the gst.interfaces python module bork.
19028 * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19029 available since GLib 2.2. Fixes #318031.
19031 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19034 * check/.cvsignore:
19035 * check/Makefile.am:
19036 * check/elements/.cvsignore:
19037 * check/elements/fakesrc.c:
19038 * check/elements/fdsrc.c:
19039 * check/elements/identity.c:
19040 * check/generic/.cvsignore:
19041 * check/generic/states.c:
19042 * check/gst-libs/.cvsignore:
19043 * check/gst-libs/controller.c:
19044 * check/gst-libs/gdp.c:
19045 * check/gst/.cvsignore:
19046 * check/gst/capslist.h:
19048 * check/gst/gstbin.c:
19049 * check/gst/gstbuffer.c:
19050 * check/gst/gstbus.c:
19051 * check/gst/gstcaps.c:
19052 * check/gst/gstelement.c:
19053 * check/gst/gstevent.c:
19054 * check/gst/gstghostpad.c:
19055 * check/gst/gstiterator.c:
19056 * check/gst/gstmessage.c:
19057 * check/gst/gstminiobject.c:
19058 * check/gst/gstobject.c:
19059 * check/gst/gstpad.c:
19060 * check/gst/gstpipeline.c:
19061 * check/gst/gstplugin.c:
19062 * check/gst/gstsegment.c:
19063 * check/gst/gststructure.c:
19064 * check/gst/gstsystemclock.c:
19065 * check/gst/gsttag.c:
19066 * check/gst/gstutils.c:
19067 * check/gst/gstvalue.c:
19068 * check/net/.cvsignore:
19069 * check/net/gstnetclientclock.c:
19070 * check/net/gstnettimeprovider.c:
19071 * check/pipelines/.cvsignore:
19072 * check/pipelines/cleanup.c:
19073 * check/pipelines/simple_launch_lines.c:
19074 * check/pipelines/stress.c:
19075 * check/states/.cvsignore:
19076 * check/states/sinks.c:
19078 * examples/Makefile.am:
19079 * examples/appreader/.cvsignore:
19080 * examples/appreader/Makefile.am:
19081 * examples/appreader/appreader.c:
19082 * examples/controller/.cvsignore:
19083 * examples/controller/Makefile.am:
19084 * examples/controller/audio-example.c:
19085 * examples/cutter/.cvsignore:
19086 * examples/cutter/Makefile.am:
19087 * examples/cutter/cutter.c:
19088 * examples/cutter/cutter.h:
19089 * examples/events/Makefile.am:
19090 * examples/events/seek.c:
19091 * examples/helloworld/.cvsignore:
19092 * examples/helloworld/Makefile.am:
19093 * examples/helloworld/helloworld.c:
19094 * examples/helloworld2/.cvsignore:
19095 * examples/helloworld2/Makefile.am:
19096 * examples/helloworld2/helloworld2.c:
19097 * examples/launch/.cvsignore:
19098 * examples/launch/Makefile.am:
19099 * examples/launch/mp3parselaunch.c:
19100 * examples/launch/mp3play:
19101 * examples/manual/.cvsignore:
19102 * examples/manual/Makefile.am:
19103 * examples/manual/extract.pl:
19104 * examples/metadata/Makefile.am:
19105 * examples/metadata/read-metadata.c:
19106 * examples/mixer/.cvsignore:
19107 * examples/mixer/Makefile.am:
19108 * examples/mixer/mixer.c:
19109 * examples/mixer/mixer.h:
19110 * examples/pingpong/.cvsignore:
19111 * examples/pingpong/Makefile.am:
19112 * examples/pingpong/pingpong.c:
19113 * examples/plugins/.cvsignore:
19114 * examples/plugins/Makefile.am:
19115 * examples/plugins/example.c:
19116 * examples/plugins/example.h:
19117 * examples/pwg/.cvsignore:
19118 * examples/pwg/Makefile.am:
19119 * examples/pwg/extract.pl:
19120 * examples/queue/.cvsignore:
19121 * examples/queue/Makefile.am:
19122 * examples/queue/queue.c:
19123 * examples/queue2/.cvsignore:
19124 * examples/queue2/Makefile.am:
19125 * examples/queue2/queue2.c:
19126 * examples/queue3/.cvsignore:
19127 * examples/queue3/Makefile.am:
19128 * examples/queue3/queue3.c:
19129 * examples/queue4/.cvsignore:
19130 * examples/queue4/Makefile.am:
19131 * examples/queue4/queue4.c:
19132 * examples/retag/.cvsignore:
19133 * examples/retag/Makefile.am:
19134 * examples/retag/retag.c:
19135 * examples/retag/transcode.c:
19136 * examples/thread/.cvsignore:
19137 * examples/thread/Makefile.am:
19138 * examples/thread/thread.c:
19139 * examples/typefind/.cvsignore:
19140 * examples/typefind/Makefile.am:
19141 * examples/typefind/typefind.c:
19142 * examples/xml/.cvsignore:
19143 * examples/xml/Makefile.am:
19144 * examples/xml/createxml.c:
19145 * examples/xml/runxml.c:
19146 * tests/Makefile.am:
19147 * tests/check/Makefile.am:
19148 * testsuite/.cvsignore:
19149 * testsuite/Makefile.am:
19151 * testsuite/caps/.cvsignore:
19152 * testsuite/caps/Makefile.am:
19153 * testsuite/caps/app_fixate.c:
19154 * testsuite/caps/audioscale.c:
19155 * testsuite/caps/caps.c:
19156 * testsuite/caps/caps.h:
19157 * testsuite/caps/caps_strings:
19158 * testsuite/caps/compatibility.c:
19159 * testsuite/caps/deserialize.c:
19160 * testsuite/caps/enumcaps.c:
19161 * testsuite/caps/eratosthenes.c:
19162 * testsuite/caps/filtercaps.c:
19163 * testsuite/caps/fixed.c:
19164 * testsuite/caps/fraction-convert.c:
19165 * testsuite/caps/fraction-multiply-and-zero.c:
19166 * testsuite/caps/intersect2.c:
19167 * testsuite/caps/intersection.c:
19168 * testsuite/caps/normalisation.c:
19169 * testsuite/caps/random.c:
19170 * testsuite/caps/renegotiate.c:
19171 * testsuite/caps/sets.c:
19172 * testsuite/caps/simplify.c:
19173 * testsuite/caps/string-conversions.c:
19174 * testsuite/caps/structure.c:
19175 * testsuite/caps/subtract.c:
19176 * testsuite/caps/union.c:
19177 * testsuite/debug/.cvsignore:
19178 * testsuite/debug/Makefile.am:
19179 * testsuite/debug/category.c:
19180 * testsuite/debug/commandline.c:
19181 * testsuite/debug/global.c:
19182 * testsuite/debug/output.c:
19183 * testsuite/debug/printf_extension.c:
19184 * testsuite/dlopen/.cvsignore:
19185 * testsuite/dlopen/Makefile.am:
19186 * testsuite/dlopen/dlopen_gst.c:
19187 * testsuite/dlopen/loadgst.c:
19188 * testsuite/elements/.cvsignore:
19189 * testsuite/elements/Makefile.am:
19190 * testsuite/elements/gst-inspect-check.in:
19191 * testsuite/elements/struct_i386.h:
19192 * testsuite/elements/struct_size.c:
19193 * testsuite/indexers/.cvsignore:
19194 * testsuite/indexers/Makefile.am:
19195 * testsuite/indexers/cache1.c:
19196 * testsuite/indexers/indexdump.c:
19197 * testsuite/parse/.cvsignore:
19198 * testsuite/parse/Makefile.am:
19199 * testsuite/parse/parse1.c:
19200 * testsuite/parse/parse2.c:
19201 * testsuite/plugin/.cvsignore:
19202 * testsuite/plugin/Makefile.am:
19203 * testsuite/plugin/README:
19204 * testsuite/plugin/dynamic.c:
19205 * testsuite/plugin/linked.c:
19206 * testsuite/plugin/loading.c:
19207 * testsuite/plugin/registry.c:
19208 * testsuite/plugin/static.c:
19209 * testsuite/plugin/static2.c:
19210 * testsuite/plugin/testplugin.c:
19211 * testsuite/plugin/testplugin2.c:
19212 * testsuite/plugin/testplugin2_s.c:
19213 * testsuite/plugin/testplugin_s.c:
19214 * testsuite/refcounting/.cvsignore:
19215 * testsuite/refcounting/Makefile.am:
19216 * testsuite/refcounting/bin.c:
19217 * testsuite/refcounting/element.c:
19218 * testsuite/refcounting/element_pad.c:
19219 * testsuite/refcounting/mainloop.c:
19220 * testsuite/refcounting/mem.c:
19221 * testsuite/refcounting/mem.h:
19222 * testsuite/refcounting/object.c:
19223 * testsuite/refcounting/pad.c:
19224 * testsuite/refcounting/sched.c:
19225 * testsuite/refcounting/thread.c:
19226 * testsuite/states/.cvsignore:
19227 * testsuite/states/Makefile.am:
19228 * testsuite/states/bin.c:
19229 * testsuite/states/locked.c:
19230 * testsuite/states/parent.c:
19231 * testsuite/threads/.cvsignore:
19232 * testsuite/threads/159566.c:
19233 * testsuite/threads/159852.c:
19234 * testsuite/threads/Makefile.am:
19235 * testsuite/threads/queue.c:
19236 * testsuite/threads/signals.c:
19237 * testsuite/threads/staticrec.c:
19238 * testsuite/threads/thread.c:
19239 * testsuite/threads/threadb.c:
19240 * testsuite/threads/threadc.c:
19241 * testsuite/threads/threadd.c:
19242 * testsuite/threads/threade.c:
19243 * testsuite/threads/threadf.c:
19244 * testsuite/threads/threadg.c:
19245 * testsuite/threads/threadh.c:
19246 * testsuite/threads/threadi.c:
19247 move all of these under tests
19249 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19252 * tests/Makefile.am:
19255 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19257 * docs/gst/gstreamer-sections.txt:
19258 * tests/sched/.cvsignore:
19259 * tests/sched/Makefile.am:
19260 * tests/sched/cases/(fs-fs).xml:
19261 * tests/sched/cases/(fs-i-fs).xml:
19262 * tests/sched/cases/(fs-i-i-fs).xml:
19263 * tests/sched/cases/(fs-i-q[i-fs]).xml:
19264 * tests/sched/dynamic-pipeline.c:
19265 * tests/sched/interrupt1.c:
19266 * tests/sched/interrupt2.c:
19267 * tests/sched/interrupt3.c:
19268 * tests/sched/runtestcases:
19269 * tests/sched/runxml.c:
19270 * tests/sched/sched-stress.c:
19271 * tests/sched/sort.c:
19272 * tests/sched/testcases:
19273 * tests/sched/testcases1.tc:
19274 * tests/seeking/.cvsignore:
19275 * tests/seeking/Makefile.am:
19276 * tests/seeking/seeking1.c:
19277 * tests/threadstate/.cvsignore:
19278 * tests/threadstate/Makefile.am:
19279 * tests/threadstate/test1.c:
19280 * tests/threadstate/test2.c:
19281 * tests/threadstate/threadstate1.c:
19282 * tests/threadstate/threadstate2.c:
19283 * tests/threadstate/threadstate3.c:
19284 * tests/threadstate/threadstate4.c:
19285 * tests/threadstate/threadstate5.c:
19286 remove obsolete tests
19288 * tests/bench-complexity.scm:
19289 * tests/bench-mass_elements.scm:
19290 * tests/complexity.c:
19291 * tests/complexity.gnuplot:
19292 * tests/instantiate/.cvsignore:
19293 * tests/instantiate/Makefile.am:
19294 * tests/instantiate/caps.c:
19295 * tests/mass_elements.c:
19296 * tests/network-clock-utils.scm:
19297 * tests/network-clock.scm:
19299 First pass at cleaning up tests/ dir before moving the rest
19300 Combined with CVS surgery
19302 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19305 queue has moved, update
19307 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19309 * docs/gst/gstreamer-sections.txt:
19310 remove double entries from the docs
19311 * gst/gst_private.h:
19312 * gst/gstinfo.c: (_gst_debug_init):
19313 remove the THREAD debug category
19317 * docs/gst/gstreamer.types:
19318 * plugins/elements/gstqueue.c: (gst_queue_get_type),
19319 (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19320 completely move queue and fix up debugging categories
19322 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19324 * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19325 make initialization portable, using LL is not
19327 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19329 * win32/common/gstconfig.h:
19332 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19334 * win32/common/libgstreamer.def:
19335 rename symbols; sort base section
19337 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19339 * gst/gstclock.c: (do_linear_regression):
19340 remove crack non-portable handrolled DEBUG macro
19342 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19344 * docs/random/release:
19346 * win32/common/gstenumtypes.c: (register_gst_object_flags),
19347 (gst_object_flags_get_type), (register_gst_bin_flags),
19348 (gst_bin_flags_get_type), (register_gst_buffer_flag),
19349 (gst_buffer_flag_get_type), (register_gst_bus_flags),
19350 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19351 (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19352 (gst_caps_flags_get_type), (register_gst_clock_return),
19353 (gst_clock_return_get_type), (register_gst_clock_entry_type),
19354 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19355 (gst_clock_flags_get_type), (register_gst_state),
19356 (gst_state_get_type), (register_gst_state_change_return),
19357 (gst_state_change_return_get_type), (register_gst_state_change),
19358 (gst_state_change_get_type), (register_gst_element_flags),
19359 (gst_element_flags_get_type), (register_gst_core_error),
19360 (gst_core_error_get_type), (register_gst_library_error),
19361 (gst_library_error_get_type), (register_gst_resource_error),
19362 (gst_resource_error_get_type), (register_gst_stream_error),
19363 (gst_stream_error_get_type), (register_gst_event_type_flags),
19364 (gst_event_type_flags_get_type), (register_gst_event_type),
19365 (gst_event_type_get_type), (register_gst_seek_type),
19366 (gst_seek_type_get_type), (register_gst_seek_flags),
19367 (gst_seek_flags_get_type), (register_gst_format),
19368 (gst_format_get_type), (register_gst_index_certainty),
19369 (gst_index_certainty_get_type), (register_gst_index_entry_type),
19370 (gst_index_entry_type_get_type),
19371 (register_gst_index_lookup_method),
19372 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19373 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19374 (gst_index_resolver_method_get_type), (register_gst_index_flags),
19375 (gst_index_flags_get_type), (register_gst_debug_level),
19376 (gst_debug_level_get_type), (register_gst_debug_color_flags),
19377 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19378 (gst_iterator_result_get_type), (register_gst_iterator_item),
19379 (gst_iterator_item_get_type), (register_gst_message_type),
19380 (gst_message_type_get_type), (register_gst_mini_object_flags),
19381 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19382 (gst_pad_link_return_get_type), (register_gst_flow_return),
19383 (gst_flow_return_get_type), (register_gst_activate_mode),
19384 (gst_activate_mode_get_type), (register_gst_pad_direction),
19385 (gst_pad_direction_get_type), (register_gst_pad_flags),
19386 (gst_pad_flags_get_type), (register_gst_pad_presence),
19387 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19388 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19389 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19390 (gst_plugin_error_get_type), (register_gst_plugin_flags),
19391 (gst_plugin_flags_get_type), (register_gst_rank),
19392 (gst_rank_get_type), (register_gst_query_type),
19393 (gst_query_type_get_type), (register_gst_tag_merge_mode),
19394 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19395 (gst_tag_flag_get_type), (register_gst_task_state),
19396 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19397 (gst_alloc_trace_flags_get_type),
19398 (register_gst_type_find_probability),
19399 (gst_type_find_probability_get_type), (register_gst_uri_type),
19400 (gst_uri_type_get_type), (register_gst_parse_error),
19401 (gst_parse_error_get_type):
19402 * win32/common/gstenumtypes.h:
19403 * win32/common/gstversion.h:
19404 update visual studio generated files
19406 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19408 * win32/vs6/libgstbase.dsp:
19409 * win32/vs6/libgstelements.dsp:
19410 update project files for new locations
19412 2005-11-30 Thomas Vander Stichele <thomas at apestaart dot org>
19417 reinstate and update
19422 * docs/random/LICENSE:
19425 2005-11-30 Edward Hervey <edward@fluendo.com>
19427 * gst/gsttypefind.c: (gst_type_find_register):
19428 * gst/gsttypefind.h:
19429 * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19430 (gst_type_find_factory_dispose):
19431 * gst/gsttypefindfactory.h:
19432 Fix memory leak in GstTypeFindFactory.
19434 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19437 * plugins/elements/Makefile.am:
19438 * plugins/elements/gstelements.c:
19439 * plugins/elements/gstqueue.c:
19440 move queue from core to the elements plugin
19442 2005-11-29 Andy Wingo <wingo@pobox.com>
19444 * libs/gst/base/gstbasetransform.h:
19445 * libs/gst/base/gstbasesrc.h:
19446 * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19448 * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19449 of pointers by which to pad very extensible base classes (like the
19450 ones in libs/gst/base).
19452 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19454 * docs/gst/gstreamer-docs.sgml:
19455 * docs/gst/gstreamer-sections.txt:
19456 * docs/libs/gstreamer-libs-docs.sgml:
19457 * docs/libs/gstreamer-libs-sections.txt:
19458 moving documentation from core to lib
19460 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19462 * check/Makefile.am:
19464 * docs/gst/Makefile.am:
19466 * gst/base/.cvsignore:
19467 * gst/base/Makefile.am:
19469 * gst/base/gstadapter.c:
19470 * gst/base/gstadapter.h:
19471 * gst/base/gstbasesink.c:
19472 * gst/base/gstbasesink.h:
19473 * gst/base/gstbasesrc.c:
19474 * gst/base/gstbasesrc.h:
19475 * gst/base/gstbasetransform.c:
19476 * gst/base/gstbasetransform.h:
19477 * gst/base/gstcollectpads.c:
19478 * gst/base/gstcollectpads.h:
19479 * gst/base/gstpushsrc.c:
19480 * gst/base/gstpushsrc.h:
19481 * gst/base/gsttypefindhelper.c:
19482 * gst/base/gsttypefindhelper.h:
19483 * gst/check/Makefile.am:
19484 * gst/check/gstcheck.c:
19485 * gst/check/gstcheck.h:
19486 * gst/net/Makefile.am:
19487 * gst/net/gstnet.h:
19488 * gst/net/gstnetclientclock.c:
19489 * gst/net/gstnetclientclock.h:
19490 * gst/net/gstnettimepacket.c:
19491 * gst/net/gstnettimepacket.h:
19492 * gst/net/gstnettimeprovider.c:
19493 * gst/net/gstnettimeprovider.h:
19494 * libs/gst/Makefile.am:
19495 * libs/gst/base/Makefile.am:
19496 * libs/gst/base/gstbasetransform.c:
19497 * libs/gst/check/Makefile.am:
19498 * plugins/elements/Makefile.am:
19500 CVS surgery + support to move base, check, and net out of gst
19503 2005-11-29 Andy Wingo <wingo@pobox.com>
19505 * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19507 * gst/gststructure.h (struct _GstStructure): Only one pointer of
19510 * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19512 * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19514 * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19516 * gst/gstobject.h: (struct _GstObject): Only one pointer of
19517 padding; reduces object size by about 30%. We don't expect
19518 anything else to go into gstobject.
19520 * gst/gstminiobject.h (struct _GstMiniObject)
19521 (struct _GstMiniObjectClass): Only one pointer of padding; the
19522 payload is only a pointer and two ints anyway. For the class there
19523 are only two methods as well.
19525 * gst/gstelement.h (struct _GstElementClass): Removed
19526 the state_changed signal callback, it is not used.
19528 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19530 * docs/gst/gstreamer.types:
19531 fix includes, though they are a little dinky
19533 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19535 * check/Makefile.am:
19536 look in the right place for elements, a lot more chance of
19539 remove indexers and elements subdirs
19540 * plugins/Makefile.am:
19541 make indexers conditional
19543 2005-11-29 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
19547 * plugins/elements/Makefile.am:
19548 * plugins/elements/gstcapsfilter.c:
19549 * plugins/elements/gstfilesink.c:
19550 * plugins/elements/gstfilesrc.c:
19551 * plugins/elements/gstidentity.c:
19552 * plugins/indexers/Makefile.am:
19553 do CVS surgery and related build fixery to move elements
19554 and indexers in a new gstreamer/plugins directory, out of the
19557 2005-11-29 Andy Wingo <wingo@pobox.com>
19559 * check/Makefile.am:
19560 * pkgconfig/gstreamer-net-uninstalled.pc.in:
19561 * pkgconfig/gstreamer-net.pc.in:
19562 * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19565 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19567 * tools/Makefile.am:
19568 * tools/gst-complete.1.in:
19569 * tools/gst-complete.c:
19570 * tools/gst-compprep.1.in:
19571 * tools/gst-compprep.c:
19572 removing -compprep and -complete
19574 2005-11-29 Thomas Vander Stichele <thomas at apestaart dot org>
19576 * gst/gstevent.c: (gst_event_new_new_segment),
19577 (gst_event_parse_new_segment):
19579 fix #320529 - clean up new_segment API and structure.
19580 Let's hope everyone was using the methods, and not the structure.
19582 2005-11-29 Edward Hervey <edward@fluendo.com>
19584 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19585 (gst_base_sink_event), (gst_base_sink_do_sync),
19586 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19587 Properly handle non GST_FORMAT_TIME segment
19588 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19589 Properly handle non GST_FORMAT_TIME segment
19590 * gst/gstsegment.c:
19591 This function is valid if the accumulator is 0 and the format
19592 is different from the requested format.
19594 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19596 * docs/gst/gstreamer-sections.txt:
19597 Add gst_query_new_seeking and gst_query_parse_seeking to the
19600 2005-11-29 Jan Schmidt <thaytan@mad.scientist.com>
19602 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19603 Treat a pad alloc with new caps the same as if we were not
19604 negotiated, in order to allow a changing upstream output
19605 to produce a new format of data.
19607 2005-11-29 Edward Hervey <edward@fluendo.com>
19609 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19610 (gst_base_transform_event), (gst_base_transform_eventfunc):
19611 The event virtual method is now properly implemented, with a default
19613 Sub classes should call the parent_class event method. They should
19614 return FALSE if they had a problem handling the given event, or don't
19615 want GstBaseTransform to send that even downstream
19616 * gst/elements/gstidentity.c: (gst_identity_class_init),
19617 (gst_identity_init), (gst_identity_event),
19618 (gst_identity_transform_ip), (gst_identity_set_property),
19619 (gst_identity_get_property):
19620 * gst/elements/gstidentity.h:
19621 Added the single-segment boolean property.
19622 If set to TRUE, it will output a single segment of data, starting from
19623 0, will eat up all incoming newsegment, and modify the timestamp of the
19624 buffers accordingly
19626 2005-11-29 Tim-Philipp Müller <tim at centricular dot net>
19628 * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19629 Don't ref NULL target pad (#322751). Improve docs.
19631 2005-11-29 Michael Smith <msmith@fluendo.com>
19633 * gst/gstregistryxml.c: (load_plugin):
19634 Don't crash if we failed to load a feature from a plugin.
19636 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19638 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19640 use more check API and less GLib API
19642 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19645 don't run checks if we don't have check
19646 * common/check.mak:
19647 remove the registry when running make torture
19648 * docs/gst/gstreamer-sections.txt:
19649 remove second multiply
19650 * gst/gstqueue.c: (gst_queue_loop):
19651 fix a compile warning when disabling debug
19653 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19656 Hey! Let's print the pad name if the pointer != NULL instead
19657 of when it == NULL :-)
19659 2005-11-28 Wim Taymans <wim@fluendo.com>
19661 * check/gst/gstutils.c: (GST_START_TEST):
19662 Updated check, add some scaling accuracy checking code.
19664 * gst/gstutils.c: (gst_util_div128_64),
19665 (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19666 (gst_util_uint64_scale_int):
19667 Fix 6 times faster division code. Optimize for common
19668 1/1 and less common X/1 cases.
19670 2005-11-28 Wim Taymans <wim@fluendo.com>
19672 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19675 * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19676 (do_linear_regression), (gst_clock_add_observation):
19678 Release lock when the clock cannot be slaved.
19679 Catch the case where the regression returned an invalid denominator.
19681 * gst/gstutils.c: (gst_util_div128_64_iterate),
19682 (gst_util_div128_64), (gst_util_uint64_scale_int64),
19683 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19684 Add protentially more performant non-iterative 128/64 divide function
19685 that unfortunatly does not work yet.
19686 Shortcut the trivial 0/X = 0 case.
19687 Remove the warnings on overflow.
19689 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19691 * gst/gstplugin.c: (gst_plugin_register_func):
19692 everything causing a plugin not to load should be at least a WARNING
19694 2005-11-28 Stefan Kost <ensonic@users.sf.net>
19696 * docs/random/ensonic/dparams.txt:
19697 some TODOs for the next dev cycle
19698 * libs/gst/controller/gstcontroller.c:
19699 (gst_controlled_property_set_interpolation_mode),
19700 (gst_controlled_property_new):
19701 * libs/gst/controller/gstcontroller.h:
19702 use base type to assign acccessor functions
19704 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19706 * check/Makefile.am:
19707 Oops, that should have been top_srcdir
19709 2005-11-28 Jan Schmidt <thaytan@mad.scientist.com>
19711 * check/Makefile.am:
19712 * check/elements/fdsrc.c: (GST_START_TEST):
19713 Use a cmdline define to specify the location of a file to use for
19714 testing, to avoid breaking distcheck.
19716 2005-11-28 Andy Wingo <wingo@pobox.com>
19718 * gst/gstpad.c (fixate_value): Use array functions for arrays.
19720 2005-11-28 Edward Hervey <edward@fluendo.com>
19722 * tools/gst-launch.c: (main):
19723 Clarify the output strings, makes it easier to translate.
19726 2005-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
19729 don't try and build net if we don't even have <sys/socket.h>
19731 2005-11-27 Jan Schmidt <thaytan@mad.scientist.com>
19733 * check/Makefile.am:
19734 * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19735 (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19736 Add tests for fdsrc seekability
19738 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19739 (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19740 (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19741 (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19742 * gst/elements/gstfdsrc.h:
19743 fdsrc should not be a 'live' source.
19744 Implement seeking on seekable fd's.
19746 * gst/gstquery.c: (gst_query_new_seeking),
19747 (gst_query_parse_seeking):
19749 Implement SEEKING query functions:
19750 *_new_seeking and *_parse_seeking
19752 2005-11-27 Stefan Kost <ensonic@users.sf.net>
19754 * gst/gstelement.c: (gst_element_dispose):
19757 * gst/gstiterator.c:
19758 * gst/gststructure.c:
19761 * libs/gst/controller/gstcontroller.c:
19762 (gst_controlled_property_set_interpolation_mode):
19763 * libs/gst/controller/gstcontroller.h:
19764 * libs/gst/controller/gstinterpolation.c:
19765 (interpolate_none_get_enum_value_array):
19766 support controlling enums
19768 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19771 Improve documentation for gst_value_union().
19774 Change return value for union, intersect and subtract functions
19775 from gint to gboolean.
19777 2005-11-27 Tim-Philipp Müller <tim at centricular dot net>
19779 * gst/gstvalue.c: (gst_value_serialize_any_list),
19780 (gst_value_transform_any_list_string),
19781 (gst_value_deserialize_list), (gst_value_deserialize_array),
19782 (gst_value_set_int_range), (gst_value_deserialize_int_range),
19783 (gst_value_set_double_range), (gst_value_deserialize_double_range),
19784 (gst_value_set_fraction_range_full),
19785 (gst_value_deserialize_fraction_range),
19786 (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19787 (gst_value_deserialize_boolean),
19788 (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19789 (gst_value_serialize_float), (gst_value_deserialize_float),
19790 (gst_string_wrap), (gst_value_deserialize_string),
19791 (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19792 (gst_value_union_int_range_int_range),
19793 (gst_value_intersect_int_range_int_range),
19794 (gst_value_intersect_double_range_double_range),
19795 (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19796 (gst_value_subtract_int_range_int_range),
19797 (gst_value_subtract_double_double_range),
19798 (gst_value_subtract_double_range_double_range),
19799 (gst_value_deserialize_fraction):
19801 Use gint, gdouble and gchar in our API instead of int, double and
19802 char (and make usage in gstvalue.c more consistent).
19804 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19806 * check/Makefile.am:
19807 * libs/gst/controller/Makefile.am:
19808 * libs/gst/dataprotocol/Makefile.am:
19809 fix up Makefile.am and remove GST_ENABLE_NEW
19811 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19815 * gst/base/Makefile.am:
19816 * gst/check/Makefile.am:
19817 * gst/elements/Makefile.am:
19818 * gst/net/Makefile.am:
19819 update LDFLAGS use some more
19821 2005-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
19823 * common/m4/gst-doc.m4:
19826 2005-11-26 Edward Hervey <edward@fluendo.com>
19828 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19829 This shouldn't issue a g_warning since it returns NULL if it
19830 couldn't find the plugin, and all functions using this behave
19831 properly on a NULL return. Switching to a GST_WARNING.
19833 2005-11-25 Jan Schmidt <thaytan@mad.scientist.com>
19835 * gst/gstbin.c: (gst_bin_handle_message_func):
19836 Don't leak clock messages.
19838 2005-11-25 Wim Taymans <wim@fluendo.com>
19840 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19841 (gst_util_uint64_scale_int):
19842 Optimisations, remove unneeded vars.
19844 2005-11-25 Wim Taymans <wim@fluendo.com>
19846 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19847 Added more checks for the high precision uint64 cases.
19849 * gst/gstutils.c: (gst_util_uint64_scale_int64),
19850 (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19851 Implement high precision (guint64 * guint64) / guint64.
19853 2005-11-24 Wim Taymans <wim@fluendo.com>
19855 * gst/base/gstbasesrc.c: (gst_base_src_query):
19856 Fix wrong percentage query.
19858 * gst/gstutils.c: (gst_util_uint64_scale),
19859 (gst_util_uint64_scale_int):
19860 Add some more common cases that can be handled
19861 efficiently to _scale.
19863 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19865 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19866 (gst_mini_object_suite):
19867 don't use check calls from threads; check probably isn't
19868 threadsafe and using a lock to make it threadsafe would
19869 defeat the purpose of this check
19870 * gst/check/gstcheck.c:
19871 * gst/check/gstcheck.h:
19872 use GST_DEBUG some more
19874 2005-11-24 Wim Taymans <wim@fluendo.com>
19876 * gst/gstutils.c: (gst_util_uint64_scale),
19877 (gst_util_uint64_scale_int):
19878 Chain trivial case to _scale_int.
19880 2005-11-24 Wim Taymans <wim@fluendo.com>
19882 * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19883 Added test for scaling.
19888 * gst/gstutils.c: (gst_util_uint64_scale_int):
19889 Implemented high precision scaling code.
19891 2005-11-24 Stefan Kost <ensonic@users.sf.net>
19894 do not crash on pad==NULL
19896 2005-11-24 Thomas Vander Stichele <thomas at apestaart dot org>
19898 Patch by: Stefan Kost
19900 * common/gtk-doc.mak:
19901 * docs/gst/Makefile.am:
19902 * docs/libs/Makefile.am:
19903 Fix distcheck issues for the libraries docs build
19906 2005-11-24 Michael Smith <msmith@fluendo.com>
19908 * docs/manual/basics-helloworld.xml:
19909 Fix bug #315027: memory leak in example code in docs.
19911 2005-11-24 Michael Smith <msmith@fluendo.com>
19913 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19914 Unlock the PREROLL_LOCK in a failure case.
19916 2005-11-24 Wim Taymans <wim@fluendo.com>
19918 * docs/gst/gstreamer-sections.txt:
19919 * gst/base/gstadapter.h:
19920 * gst/base/gstbasesink.h:
19921 * gst/base/gstbasesrc.h:
19922 * gst/base/gstbasetransform.h:
19923 * gst/base/gstpushsrc.h:
19924 * gst/elements/gstfakesink.h:
19925 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19926 * gst/elements/gstfakesrc.h:
19927 * gst/elements/gstfilesink.h:
19928 * gst/elements/gstfilesrc.h:
19931 * gst/gstbuffer.c: (_gst_buffer_copy):
19934 * gst/gstchildproxy.c:
19936 * gst/gstelement.c:
19937 * gst/gstelementfactory.c:
19938 * gst/gstelementfactory.h:
19940 * gst/gstghostpad.h:
19942 * gst/gstinterface.h:
19943 * gst/gstminiobject.c:
19944 * gst/gstminiobject.h:
19947 * gst/gstpadtemplate.h:
19948 * gst/gstpipeline.h:
19949 * gst/gstpluginfeature.h:
19952 * gst/gsttaglist.c:
19953 * gst/gsttaglist.h:
19954 * gst/gsttagsetter.c:
19955 * gst/gsttagsetter.h:
19958 * gst/gsttypefind.h:
19961 * gst/net/gstnetclientclock.c:
19962 * gst/net/gstnetclientclock.h:
19963 * gst/net/gstnettimepacket.c:
19964 * gst/net/gstnettimeprovider.c:
19965 * gst/net/gstnettimeprovider.h:
19968 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19970 * configure.ac: back to HEAD
19972 === release 0.9.6 ===
19974 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19977 releasing 0.9.6, "Always On Time"
19979 2005-11-23 Wim Taymans <wim@fluendo.com>
19981 * docs/gst/gstreamer-sections.txt:
19982 * gst/glib-compat.c:
19983 * gst/gsttagsetter.c:
19985 * gst/net/gstnetclientclock.c:
19986 * gst/net/gstnettimepacket.h:
19989 2005-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
19991 * docs/faq/using.xml:
19992 * docs/libs/tmpl/gstcontrol.sgml:
19993 * docs/manual/advanced-dparams.xml:
19994 * docs/manual/appendix-checklist.xml:
19995 * docs/manual/basics-elements.xml:
19996 * docs/pwg/other-source.xml:
19997 * docs/random/moving-plugins:
19999 * tools/gst-launch.1.in:
20000 remove mentions of sinesrc
20002 2005-11-23 Michael Smith <msmith@fluendo.com>
20004 * docs/gst/gstreamer-sections.txt:
20005 Update for new API and API changes.
20007 Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20009 Documentation typo fix.
20010 * gst/net/gstnettimepacket.c:
20011 Documentation fixes for arguments.
20013 2005-11-23 Jan Schmidt <thaytan@mad.scientist.com>
20015 * gst/gststructure.c: (gst_structure_get_fraction),
20016 (gst_structure_parse_value),
20017 (gst_structure_fixate_field_nearest_fraction):
20018 * gst/gststructure.h:
20019 * gst/gstutils.c: (gst_util_uint64_scale_int):
20021 * scripts/update-funcnames:
20023 Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20024 Make gst_structure_fixate_field_nearest_fraction take a numerator
20025 and denominator argument instead of a GValue
20026 add gst_structure_get_fraction helper function.
20028 2005-11-23 Wim Taymans <wim@fluendo.com>
20030 * docs/design/part-TODO.txt:
20033 * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20034 * gst/net/gstnetclientclock.h:
20035 Use parent fields for timeout and window_size.
20037 2005-11-23 Andy Wingo <wingo@pobox.com>
20039 * check/net/gstnetclientclock.c (test_functioning): Adjust to
20040 rate_num/rate_denom change.
20042 * gst/net/gstnetclientclock.c
20043 (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20044 OBJECT_LOCK. Don't call add_observation with the lock.
20046 * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20048 (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20050 (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20051 deal with rate as a fraction whose numerator and denominator are
20052 GstClockTime values.
20053 (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20054 master; the other fields are protected by the SLAVE_LOCK.
20055 (do_linear_regression): Note that this must be called with the
20057 (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20058 OBJECT_LOCK. Call set_calibration instead of touching the
20059 variables directly.
20060 (gst_clock_set_property, gst_clock_get_property): Protect
20061 master/slave parameters with the SLAVE_LOCK.
20063 * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20064 rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20065 note that all of the instance variables that add_observation and
20066 the set_master functions use are protected by that lock and not
20068 (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20070 * gst/gstclock.c (gst_clock_add_observation): No longer requires
20071 the caller to take the object lock.
20073 2005-11-23 Wim Taymans <wim@fluendo.com>
20075 * gst/gsterror.c: (_gst_core_errors_init):
20077 Add error for clock stuff.
20079 * gst/gstpipeline.c: (gst_pipeline_change_state),
20080 (gst_pipeline_set_clock):
20081 Post clock error when clock cannot be used in a pipeline.
20083 2005-11-23 Stefan Kost <ensonic@users.sf.net>
20085 * docs/gst/gstreamer-sections.txt:
20086 make two symbols from gstinfo private for the docs
20087 * gst/base/gstcollectpads.h:
20089 fix doc typos, update docs
20091 2005-11-22 Wim Taymans <wim@fluendo.com>
20093 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20094 (gst_base_sink_wait), (gst_base_sink_do_sync),
20095 (gst_base_sink_handle_event):
20096 * gst/base/gstbasesink.h:
20097 No need to store the clock, the parent element class already
20100 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20101 Updates for clock_set returning a gboolean
20103 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20104 (gst_clock_id_wait_async), (gst_clock_class_init),
20105 (gst_clock_init), (gst_clock_finalize),
20106 (gst_clock_get_internal_time), (gst_clock_get_time),
20107 (gst_clock_slave_callback), (gst_clock_set_master),
20108 (gst_clock_get_master), (do_linear_regression),
20109 (gst_clock_add_observation), (gst_clock_set_property),
20110 (gst_clock_get_property):
20112 Implement master/slave. When setting a clock as a slave, a
20113 periodic timeout is scheduled to sample master and slave times.
20114 Then the slave clock is recalibrated to match offset and rate
20115 of the master clock.
20116 Update logging a bit.
20117 Add flag so that a clock can state that is cannot be slaved to
20120 * gst/gstelement.c: (gst_element_set_clock):
20121 * gst/gstelement.h:
20122 The set clock returns a gboolean for when an element cannot
20123 deal with the selected clock in the pipeline.
20125 * gst/gstpipeline.c: (gst_pipeline_change_state),
20126 (gst_pipeline_set_clock):
20127 * gst/gstpipeline.h:
20128 Handle the case where the selected clock cannot be set on
20131 * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20132 (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20133 (gst_net_client_clock_set_property),
20134 (gst_net_client_clock_get_property),
20135 (gst_net_client_clock_observe_times):
20136 * gst/net/gstnetclientclock.h:
20137 Use regression code in GstClock parent, remove duplicated
20140 2005-11-22 Michael Smith <msmith@fluendo.com>
20142 * gst/gstutils.c: (gst_util_clock_time_scale):
20144 * docs/gst/gstreamer-sections.txt:
20145 Rename method to have extra underscore.
20147 2005-11-22 Thomas Vander Stichele <thomas at apestaart dot org>
20149 * gst/elements/Makefile.am:
20150 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20151 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20152 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20153 (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20154 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20155 * gst/elements/gstfakesrc.h:
20156 * gst/gstqueue.c: (queue_leaky_get_type):
20157 correctly fix GEnumValues so that nick is the short lowercase
20159 * tools/gst-inspect.c: (print_element_properties_info):
20160 also show the nick, since it's useful to use from parse_launch
20164 2005-11-22 Michael Smith <msmith@fluendo.com>
20166 * gst/gstutils.c: (gst_util_clocktime_scale):
20168 * docs/gst/gstreamer-sections.txt:
20169 Add util method for scaling a clocktime by a fraction. Useful
20170 implementation is left as an exercise for the reader.
20172 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20174 * gst/gstvalue.c: (gst_value_collect_fraction_range):
20175 If needed, allocate storage in the destination value during
20178 2005-11-22 Edward Hervey <edward@fluendo.com>
20180 * docs/gst/gstreamer-sections.txt:
20183 * gst/gsturitype.c:
20184 * gst/gsturitype.h:
20185 * gst/gstutils.c: (gst_util_set_object_arg):
20186 * tools/gst-compprep.c: (main):
20187 * tools/gst-inspect.c: (print_element_properties_info):
20188 Removed GstURI, closes bug #321061
20190 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20192 * check/gst/gststructure.c: (GST_START_TEST):
20193 * gst/gststructure.c: (gst_structure_parse_value):
20194 Oops, broke automatic string type parsing.
20195 Add a test to catch it in future.
20197 2005-11-22 Andy Wingo <wingo@pobox.com>
20199 * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode)
20200 (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20201 Actually rename the function implementations. Grr.
20203 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20205 * check/gst/capslist.h:
20207 * check/gst/gststructure.c: (GST_START_TEST),
20208 (gst_structure_suite):
20209 Test automatic value type detection in gst_structure_from_string.
20210 * gst/gststructure.c: (gst_structure_parse_value):
20211 Add fraction as a type we try and guess automatically in
20212 caps/structure strings.
20214 2005-11-22 Andy Wingo <wingo@pobox.com>
20216 patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20218 * gst/gsttagsetter.h:
20219 * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20220 (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20221 (gst_tag_setter_add_tag_valist)
20222 (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20223 _add_values, _add_valist, and _add_valist_values. Since this is an
20224 interface the function suffixes should be more explicit so
20225 language binding don't end up with element.add_valist ->
20226 gst_tag_setter_add_valist, for example. Fixes #322069.
20228 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20230 * check/gst/gstcaps.c: (GST_START_TEST):
20231 Extend caps string tests to check that a caps to string
20232 conversion is reversible and produces the same caps.
20234 * gst/gststructure.c: (gst_structure_value_get_generic_type):
20235 Output "fraction" as the generic type fraction range, so caps
20236 serialisation and deserialisation works.
20237 * check/gst/capslist.h:
20238 * gst/gstvalue.c: (gst_value_deserialize_fraction):
20239 Support 'MIN' and 'MAX' for deserialising fractions.
20241 2005-11-22 Andy Wingo <wingo@pobox.com>
20243 * gst/gstevent.h (gst_event_new_new_segment)
20244 (gst_event_parse_new_segment, gst_event_new_buffer_size)
20245 (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20246 Renamed from *_newsegment, *_buffersize, *_notarget.
20248 * scripts/update-funcnames: New script, performs the changes
20251 2005-11-22 Wim Taymans <wim@fluendo.com>
20253 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20254 Make sure the GstFlowReturn is returned.
20256 * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20257 (gst_bus_add_signal_watch):
20259 add gst_bus_add_signal_watch_full.
20261 * gst/gstplugin.c: (gst_plugin_load_file):
20262 Small style cleanup.
20264 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20266 * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20267 Block the fakesrc srcpad when we send an event, to avoid
20268 contention on the stream_lock causing random test failures.
20270 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20272 * check/gst/gstvalue.c: (GST_START_TEST):
20273 * gst/gstvalue.c: (gst_value_fraction_subtract):
20276 2005-11-22 Stefan Kost <ensonic@users.sf.net>
20279 include "gstchildproxy.h"
20280 * gst/gstchildproxy.h:
20281 * libs/gst/controller/gstcontroller.h:
20282 use G_GNUC_NULL_TERMINATED
20284 2005-11-22 Jan Schmidt <thaytan@mad.scientist.com>
20286 * check/gst/capslist.h:
20287 * check/gst/gstcaps.c: (GST_START_TEST):
20288 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20289 * gst/gststructure.c: (gst_structure_parse_range),
20290 (gst_structure_fixate_field_nearest_fraction):
20291 * gst/gststructure.h:
20292 * gst/gstvalue.c: (gst_value_init_fraction_range),
20293 (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20294 (gst_value_collect_fraction_range),
20295 (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20296 (gst_value_set_fraction_range_full),
20297 (gst_value_get_fraction_range_min),
20298 (gst_value_get_fraction_range_max),
20299 (gst_value_serialize_fraction_range),
20300 (gst_value_transform_fraction_range_string),
20301 (gst_value_compare_fraction_range),
20302 (gst_value_deserialize_fraction_range),
20303 (gst_value_intersect_fraction_fraction_range),
20304 (gst_value_intersect_fraction_range_fraction_range),
20305 (gst_value_subtract_fraction_fraction_range),
20306 (gst_value_subtract_fraction_range_fraction),
20307 (gst_value_subtract_fraction_range_fraction_range),
20308 (gst_value_collect_fraction), (gst_value_fraction_multiply),
20309 (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20310 (gst_value_transform_string_fraction), (_gst_value_initialize):
20312 Implement fraction ranges and extend GstFraction to support
20313 arithmetic subtraction, as well as deserialization from integer
20314 strings such as "100"
20315 Add a testsuite as for int and double range set operations
20317 2005-11-21 Andy Wingo <wingo@pobox.com>
20319 * gst/gsttaglist.h:
20321 * gst/gststructure.h: Add glib-compat.h.
20323 2005-11-21 Wim Taymans <wim@fluendo.com>
20325 * gst/gstbin.c: (gst_bin_change_state_func):
20328 2005-11-21 Wim Taymans <wim@fluendo.com>
20330 * gst/gstsegment.h:
20331 And add a nice define too.
20333 2005-11-21 Wim Taymans <wim@fluendo.com>
20335 * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20336 (gst_segment_new), (gst_segment_free), (gst_segment_init),
20337 (gst_segment_set_duration), (gst_segment_set_last_stop),
20338 (gst_segment_set_seek), (gst_segment_set_newsegment),
20339 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20340 (gst_segment_clip):
20341 * gst/gstsegment.h:
20342 Make binding friendly.
20344 2005-11-21 Andy Wingo <wingo@pobox.com>
20346 * gst/gsttagsetter.h:
20347 * gst/gsttaglist.h:
20348 * gst/gststructure.h:
20350 * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20353 * gst/gsterror.c (_gst_core_errors_init):
20354 * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20357 * gst/Makefile.am (gst_headers): Add glib-compat.h.
20358 (noinst_HEADERS): noinst the -private.
20360 2005-11-21 Michael Smith <msmith@fluendo.com>
20363 * gst/gstregistry.h:
20364 Remove unimplemented declarations for which we can see no sensible
20367 2005-11-21 Andy Wingo <wingo@pobox.com>
20369 * gst/gst.h: Include glib-compat.h.
20371 * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20373 * gst/glib-compat.c: Include the public and the private header.
20375 * gst/glib-compat-private.h: Copied here from glib-compat.h.
20379 * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20381 * check/gst/gstevent.c (create_custom_events): Check that
20382 FLUSH_STOP is serialized.
20384 * check/elements/identity.c (event_func):
20385 * check/elements/fakesrc.c (event_func): No stream lock, the core
20388 * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20389 stream lock taking, yay.
20391 * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20392 ensure that core takes the stream lock.
20394 * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20397 * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20398 the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20399 it already. For the flush start we do take it though so we get the
20400 right preroll state change messages.
20402 * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20403 the stream lock here, the core does it for us.
20405 * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20406 GST_STREAM_GET_LOCK.
20407 (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK)
20408 (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL)
20409 (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20410 (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20411 (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK)
20412 (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20414 * gst/gstpad.c: Update for stream lock name change.
20416 * gst/base/gstbasesink.c: Update for preroll lock name change.
20418 2005-11-21 Wim Taymans <wim@fluendo.com>
20420 * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20421 (gst_clock_get_master):
20423 * gst/gstsystemclock.c: (gst_system_clock_init):
20424 Convert Clock flags to object flags.
20425 Added methods to manage master/slave clocks.
20427 2005-11-21 Wim Taymans <wim@fluendo.com>
20429 * check/gst/gstsegment.c: (GST_START_TEST):
20430 * docs/design/part-TODO.txt:
20431 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20432 (gst_base_sink_event), (gst_base_sink_do_sync),
20433 (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20434 (gst_base_sink_query), (gst_base_sink_change_state):
20435 * gst/base/gstbasesink.h:
20436 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20437 (gst_base_src_default_newsegment),
20438 (gst_base_src_configure_segment), (gst_base_src_do_seek),
20439 (gst_base_src_get_range), (gst_base_src_loop),
20440 (gst_base_src_change_state):
20441 * gst/base/gstbasesrc.h:
20442 * gst/base/gstbasetransform.c:
20443 (gst_base_transform_prepare_output_buf),
20444 (gst_base_transform_event), (gst_base_transform_change_state):
20445 * gst/base/gstbasetransform.h:
20446 * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20447 (gst_collect_pads_event):
20448 * gst/base/gstcollectpads.h:
20449 * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20450 (gst_fake_src_create):
20451 * gst/elements/gstfakesrc.h:
20452 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20453 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20454 (gst_segment_set_last_stop), (gst_segment_set_seek),
20455 (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20456 (gst_segment_to_running_time), (gst_segment_clip):
20457 * gst/gstsegment.h:
20458 More segment updates, replace code in plugins with segment
20461 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20463 * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20464 Don't ignore sscanf results
20466 2005-11-21 Andy Wingo <wingo@pobox.com>
20468 * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20471 * *.c: Ran scripts/update-macros. Oh yes.
20473 * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20474 (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20477 * scripts/update-macros: New script. Run it on your files to
20478 change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20481 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20483 * docs/gst/Makefile.am:
20484 * docs/gst/gstreamer-docs.sgml:
20485 * docs/gst/gstreamer-sections.txt:
20486 * docs/gst/gstreamer.types:
20488 more docs fixes, add new api to the docs
20490 2005-11-21 Andy Wingo <wingo@pobox.com>
20492 * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20493 state_broadcast call.
20495 * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20497 2005-11-21 Julien MOUTTE <julien@moutte.net>
20499 * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20500 function calls for arrays.
20502 2005-11-21 Stefan Kost <ensonic@users.sf.net>
20504 * docs/random/ensonic/media-device-daemon.txt:
20505 wild idea, can this be done?
20506 * docs/gst/gstreamer-sections.txt:
20511 * gst/gstpluginfeature.c:
20515 doc fixes and additions
20517 2005-11-21 Andy Wingo <wingo@pobox.com>
20519 * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL)
20520 (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND)
20521 (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK)
20522 (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20523 private to the basesrc implementation.
20525 * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20526 behalf of event function if necessary. It should no longer be
20527 necessary to take the stream lock in pad's event functions. Fixes
20530 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20531 * docs/gst/gstreamer-sections.txt:
20532 * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20533 (gst_structure_fixate_field_nearest_double),
20534 (gst_structure_fixate_field_boolean):
20535 * gst/gststructure.h:
20536 * win32/common/libgstreamer.def:
20537 * win32/gstreamer.def:
20539 Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20542 2005-11-21 Jan Schmidt <thaytan@mad.scientist.com>
20544 * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20545 (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20546 (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20547 (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20548 (gst_fdsrc_uri_handler_init):
20549 * gst/elements/gstfdsrc.h:
20550 Port fd:// URI handler from 0.8 to fdsrc
20552 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20554 * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20555 (gst_value_serialize_fourcc):
20557 Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20558 consistent with our other format defines (#320324).
20560 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20562 * gst/gstvalue.c: (gst_value_is_fixed):
20563 Revert previous commit. Value lists are by definition
20564 not fixed, as they are a list of possible values.
20566 2005-11-21 Andy Wingo <wingo@pobox.com>
20568 * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20569 during the stable series if we need it. Fixes #319178.
20571 * gst/gstevent.c (gst_event_new_filler): Removed.
20573 * check/gst/gstevent.c: Update comment about filler events.
20575 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20577 * gst/gstvalue.c: (gst_value_is_fixed):
20578 Should handle both value arrays and value lists.
20580 2005-11-21 Andy Wingo <wingo@pobox.com>
20582 patch by: Alessandro Dessina <alessandro nnva org>
20584 * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20585 functions to access arrays. Fixes #321962.
20587 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20589 * docs/gst/gstreamer.types:
20590 gst_collectpads_get_type => gst_collect_pads_get_type.
20592 * gst/base/gstbasetransform.c:
20593 Remove unused SIGNAL_HANDOFF enum.
20595 2005-11-21 Andy Wingo <wingo@pobox.com>
20597 * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20598 the event type (upstream, downstream, serialized). Renamed
20599 GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20600 (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20601 CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20603 * gst/gstevent.c: Update for new CUSTOM event names.
20605 * check/gst/gstevent.c: Update check for new CUSTOM event names.
20608 * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20611 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20613 * docs/gst/gstreamer-sections.txt:
20614 * win32/common/libgstbase.def:
20615 * win32/libgstbase.def:
20616 * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20617 (gst_collect_pads_class_init), (gst_collect_pads_init),
20618 (gst_collect_pads_finalize), (gst_collect_pads_new),
20619 (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20620 (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20621 (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20622 (gst_collect_pads_start), (gst_collect_pads_stop),
20623 (gst_collect_pads_peek), (gst_collect_pads_pop),
20624 (gst_collect_pads_available), (gst_collect_pads_read),
20625 (gst_collect_pads_flush), (gst_collect_pads_event),
20626 (gst_collect_pads_chain):
20627 * gst/base/gstcollectpads.h:
20628 Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20629 unimplemented functions as unimplemented. Add padding to
20630 GstCollectData. (#320766, #320423)
20632 2005-11-21 Tim-Philipp Müller <tim at centricular dot net>
20634 * gst/gstmessage.c:
20635 Improve docs for DURATION message (usage of duration parameter)
20638 2005-11-20 Wim Taymans <wim@fluendo.com>
20640 * check/Makefile.am:
20641 * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20645 * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20646 (gst_segment_set_seek), (gst_segment_set_newsegment),
20647 (gst_segment_to_stream_time), (gst_segment_to_running_time),
20648 (gst_segment_clip):
20649 * gst/gstsegment.h:
20650 Added segment helper structure and methods. Not fully implemented
20652 Added segment check.
20654 2005-11-20 Jan Schmidt <thaytan@mad.scientist.com>
20656 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20657 Add a deserialisation test for fractions
20658 * examples/metadata/read-metadata.c: (message_loop),
20659 (make_pipeline), (main):
20660 Fix up metadata reading sample.
20661 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20663 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20664 Don't try and fixate empty caps
20665 * gst/gst_private.h:
20666 Wrap in G_BEGIN_DECLS/G_END_DECLS
20667 * gst/gstvalue.c: (gst_value_collect_fraction),
20668 (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20669 (gst_value_transform_string_fraction),
20670 (gst_value_compare_fraction):
20671 Add some extra guards to ensure that we don't end up
20672 with an invalid denominator of 0 in a gstfraction and
20673 that fractions always get reduced.
20675 2005-11-20 Wim Taymans <wim@fluendo.com>
20677 * docs/gst/gstreamer-sections.txt:
20679 * gst/gstelement.c:
20688 2005-11-20 Wim Taymans <wim@fluendo.com>
20690 * docs/design/part-TODO.txt:
20692 Make a proper enum of the flag.
20694 2005-11-19 Wim Taymans <wim@fluendo.com>
20696 * docs/design/part-TODO.txt:
20697 * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20698 (gst_format_to_quark), (gst_format_register):
20700 * gst/gstquery.c: (_gst_query_initialize),
20701 (gst_query_type_get_name), (gst_query_type_to_quark),
20702 (gst_query_type_register):
20704 Add type to quark and type to string conversions.
20706 2005-11-19 Andy Wingo <wingo@pobox.com>
20708 * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20711 2005-11-19 Wim Taymans <wim@fluendo.com>
20713 * docs/design/part-TODO.txt:
20714 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20715 (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20716 (gst_bin_handle_message_func):
20718 Make message handling overridable.
20720 2005-11-19 Andy Wingo <wingo@pobox.com>
20722 * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20725 * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20727 (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20728 is a GstClockTime. Fixes #321710.
20730 * gst/gstclock.h (GstClock): Remove offset property. Add
20731 internal_calibration and external_calibration. Fix padding. Pad
20732 also by GstClockTime so we don't run into problems.
20734 * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20735 (gst_clock_get_rate_offset): Remove.
20736 (gst_clock_set_time_adjust): Remove. Fixes #321712.
20739 * gst/gstutils.c (g_static_rec_cond_wait)
20740 (g_static_rec_cond_timed_wait): Removed, no longer needed.
20742 * gst/gstbin.c: Remove terrible continue_state prototype.
20744 * gst/gstelement.h (gst_element_continue_state): Make public.
20746 * gst/gstelement.h:
20747 * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20748 by continue_state. Fixes #319389.
20750 * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20751 Really fixes #168438. However I don't see anywhere where the
20752 filter function is called... stupid GStreamer...
20754 * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20755 don't have a dispose function, so it won't get called when the
20756 object is unreffed, but oh well!
20758 * gst/gstindex.c (gst_index_set_filter_full): New API function,
20759 allows a destroy function to be set so user_data can be freed.
20761 (gst_index_set_filter): Call gst_index_set_filter_full.
20763 * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20765 * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20766 string should produce an error, given the lack of a way to
20767 represent NULL strings. Fixes #165650.
20770 * gst/gstvalue.c (gst_value_array_append_value)
20771 (gst_value_array_prepend_value, gst_value_array_get_size)
20772 (gst_value_array_get_value): New API, copied from
20773 gst_value_list_*, only operates on arrays.
20774 (gst_value_list_append_value, gst_value_list_prepend_value)
20775 (gst_value_list_concat, gst_value_list_get_size)
20776 (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20778 * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20779 init_list, because it works on both.
20780 (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20781 (gst_value_copy_list_or_array): Renamed from copy_list.
20782 (gst_value_free_list_or_array): Renamed from free_list.
20783 (gst_value_collect_list_or_array): Renamed from collect_list.
20784 (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20785 (gst_value_list_or_array_peek_pointer): Renamed from
20787 (_gst_value_array_value_table, _gst_value_list_value_table):
20788 Update value table functions.
20789 (gst_value_compare_list_or_array): Renamed from compare_list.
20791 * gsttaglist.h: Whoops, foreach function returns void. Also fix
20794 * gst/gsttaglist.c:
20795 * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20796 GstTagList*. Fixes #143472.
20798 * gst/gststructure.h: Clarify what the foreach/map functions can
20799 or can't do to their arguments.
20801 2005-11-18 Wim Taymans <wim@fluendo.com>
20803 * gst/gstclock.c: (gst_clock_set_calibration),
20804 (gst_clock_get_calibration):
20806 Calibration can be set with internal time equal to current
20809 2005-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
20815 2005-11-18 Andy Wingo <wingo@pobox.com>
20818 * pkgconfig/gstreamer-net.pc.in:
20819 * pkgconfig/gstreamer-net-uninstalled.pc.in:
20820 * pkgconfig/Makefile.am: Add net pkgconfig files.
20822 2005-11-18 Stefan Kost <ensonic@users.sf.net>
20825 * gst/gstghostpad.c:
20831 2005-11-18 Andy Wingo <wingo@pobox.com>
20833 * gst/net/gstnetclientclock.c: Turn off debugging.
20835 * check/net/gstnetclientclock.c (test_functioning): Assert that the
20836 times connverge somewhat. Can't make a real test.
20838 * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20839 integer arithmetic. Return the minimum of the domain, which can be
20840 set as "internal" for gst_clock_set_calibration.
20841 (gst_net_client_clock_observe_times): Call _set_calibration.
20842 (gst_net_client_clock_new): Call _set_calibration instead of
20845 * check/net/gstnetclientclock.c (test_functioning): Use the right
20849 * gst/gstclock.c (gst_clock_get_calibration)
20850 (gst_clock_set_calibration): New functions, obsolete the ones I
20851 added yesterday. Doh. Precision issues mean we have to extrapolate
20852 from a point in the more recent past than 1970.
20853 (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20855 (gst_clock_adjust_unlocked): Use the right calibration data.
20857 2005-11-18 Edward Hervey <edward@fluendo.com>
20859 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20860 Also reset the ->current_* values in READY->PAUSED
20862 2005-11-18 Andy Wingo <wingo@pobox.com>
20864 * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20865 Whoops, check the right fd. Also add some debugging.
20866 (gst_net_client_clock_observe_times): Adjust for int64 offset.
20867 (do_linear_regression): Add a crapload of debugging. Subtract off
20868 the minimum values from the input series to discard unneeded bits.
20869 Use only int arithmetic. There is still double arithmetic when
20870 calculating the intercept that needs fixing. Return boolean to
20871 indicate success; FALSE would mean the domain or range is too
20872 great. Still needs fixes.
20874 2005-11-18 Wim Taymans <wim@fluendo.com>
20876 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20877 For the current position in stream time, we need to subtract
20880 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20881 Release lock before calling the callback function of async
20884 2005-11-18 Andy Wingo <wingo@pobox.com>
20886 * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20887 Port goes all the way to MAXUINT16.
20889 * gst/net/gstnettimeprovider.c: Make the port range the same as
20890 for the kernel: 0 assigns, otherwise ports are less than
20893 * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20896 * check/net/gstnetclientclock.c (test_functioning): Add the start
20899 2005-11-18 Wim Taymans <wim@fluendo.com>
20901 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20902 (gst_bin_remove_func), (bin_bus_handler):
20904 Removing a clock provider from a bin, triggers a clock lost message
20905 so that a new clock will be selected.
20906 Adding a clock to a bin triggers a clock provider message.
20907 Make sure we reselect a clock when we received a clock lost message.
20908 Keep a reference to the element that provided the clock.
20910 2005-11-18 Andy Wingo <wingo@pobox.com>
20912 * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20913 the clock initially so it produces values around the base time.
20914 (gst_net_client_clock_class_init): Typo fix.
20915 (gst_net_client_clock_thread): Add note on when the socket gets
20918 2005-11-17 Wim Taymans <wim@fluendo.com>
20920 * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20921 Free remote and local time arrays.
20923 2005-11-17 Wim Taymans <wim@fluendo.com>
20925 * gst/net/gstnetclientclock.c: (do_linear_regression),
20926 (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20927 Fix compilation, uninitialized vars and a forgotten continue.
20929 2005-11-17 Andy Wingo <wingo@pobox.com>
20931 * check/Makefile.am (check_PROGRAMS):
20932 * check/net/gstnetclientclock.c: Add a most minimal test for the
20933 net client clock. More to come later.
20935 * gst/net/gstnet.h:
20936 * gst/net/Makefile.am: Add netclientclock.
20938 * gst/net/gstnetclientclock.h:
20939 * gst/net/gstnetclientclock.c: New files, implement an untested
20940 GstClock that takes its time from a network time provider.
20941 Implements the algorithm in network-clock.scm.
20943 * tests/network-clock.scm (*window-size*): Rename from
20945 * tests/network-clock.scm (network-time):
20946 * tests/network-clock-utils.scm (q-push): Update callers.
20948 2005-11-17 Wim Taymans <wim@fluendo.com>
20950 * gst/gstbin.c: (gst_bin_provide_clock_func),
20951 (gst_bin_sort_iterator_new):
20952 And unref the child too..
20954 2005-11-17 Wim Taymans <wim@fluendo.com>
20956 * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20957 (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20958 Refactor the sort iterator so it can be used while holding the
20960 Make clock selection select a clock closest to the source.
20962 2005-11-17 Michael Smith <msmith@fluendo.com>
20964 * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20965 (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20967 Anonymous structs are a gcc (and some other compilers) extension, so
20968 don't use them. Since this is only for ABI-compatibility, and our
20969 API/ABI freeze is over in a few days, this whole thing will only
20970 last a few days, so don't bother trying to think up a meaningful
20971 name for the struct.
20973 2005-11-17 Andy Wingo <wingo@pobox.com>
20975 * gst/gstclock.h (GstClock): Add rate and offset properties,
20976 preserving ABI stability. Add rate/offset accessors. Will file bug
20977 for the freeze break.
20979 * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20980 and offset, trying to keep precision and avoiding
20981 underflow/overflow.
20982 (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20983 functions. Make gst_clock_set_time_adjust obsolete.
20984 (gst_clock_set_time_adjust): Note that this function is obsolete.
20985 Will file bug soon.
20987 * gst/base/gstbasetransform.h: Make the ABI-stability hack
20988 greppable by using GST_PADDING-1+1.
20990 2005-11-17 Torsten Schoenfeld <kaffeetisch at gmx dot net>
20992 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
20994 * gst/gstmessage.c: (gst_message_parse_clock_lost):
20995 Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20997 * gst/gstpadtemplate.h:
20998 * gst/gstpluginfeature.h:
20999 Don't use c++ style comments in headers (#321638).
21001 2005-11-16 Andy Wingo <wingo@pobox.com>
21003 * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21006 * check/net/gstnettimeprovider.c: Check to see that the time
21007 provider actually provides times. Works, yo!
21009 2005-11-16 Wim Taymans <wim@fluendo.com>
21011 * check/Makefile.am:
21014 * check/elements/fakesrc.c: (GST_START_TEST):
21015 Set element to NULL before disposing it.
21017 2005-11-16 Andy Wingo <wingo@pobox.com>
21019 * gst/net/Makefile.am:
21020 * gst/net/gstnet.h:
21021 * gst/net/gstnettimeprovider.c:
21022 * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21023 provider, include it from gstnet.h, and add it to the build.
21025 * gst/net/gstnettimepacket.h:
21026 * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21027 sending and receiving.
21029 2005-11-16 Wim Taymans <wim@fluendo.com>
21031 * check/Makefile.am:
21032 Enable valgrind check.
21034 * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21035 (gst_fake_src_alloc_buffer):
21038 2005-11-16 Wim Taymans <wim@fluendo.com>
21040 * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21041 Call parent finalize too.
21043 2005-11-16 Wim Taymans <wim@fluendo.com>
21045 * check/Makefile.am:
21046 Enable valgrind check that should work fine now.
21048 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21049 * gst/gstqueue.c: (gst_queue_init):
21050 Fix memleaks in pad allocation.
21052 2005-11-16 Andy Wingo <wingo@pobox.com>
21054 * gst/net/Makefile.am:
21055 * gst/net/gstnet.h: New part of core to hold network elements and
21056 objects. Put in core because it exposes API that applications want
21057 to use. The library is named libgstnet-tempname right now because
21058 of the existing libgstnet in gst-plugins-base. Solution is
21059 probably to rename the one in plugins-base; will file a bug for
21062 * gst/net/gstnettimeprovider.c:
21063 * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21064 get_time call over the network.
21067 * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21069 * check/Makefile.am:
21070 * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21071 get additions shortly.
21073 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21075 * gst/gstpad.c: (gst_pad_new_from_static_template):
21077 add gst_pad_new_from_static_template functions
21078 * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21079 (gst_check_setup_sink_pad):
21080 * gst/elements/gsttee.c: (gst_tee_init):
21083 2005-11-16 Wim Taymans <wim@fluendo.com>
21085 * gst/gstpad.c: (gst_pad_pause_task):
21086 Removed warning, it's not really an error either.
21088 2005-11-16 Wim Taymans <wim@fluendo.com>
21090 * gst/base/gstbasetransform.c:
21091 (gst_base_transform_prepare_output_buf),
21092 (gst_base_transform_event):
21093 Check if the caps are NULL, this can happen if the element
21094 is shutting down and the pad caps are set to NULL.
21096 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21098 * gst/elements/gsttee.c: (gst_tee_init):
21099 fix pad template leak in tee
21101 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21103 * gst/glib-compat.c: (g_value_dup_gst_object):
21104 * gst/glib-compat.h:
21105 * gst/gstpad.c: (gst_pad_set_property):
21106 use gst_object_ref when setting the pad template; this will
21107 trigger the pad template leaks on GLib 2.6 and the slaves
21109 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21111 * gst/glib-compat.c: (gst_flags_get_first_value):
21112 * gst/glib-compat.h:
21113 * gst/gstregistryxml.c:
21114 remove functions copied from GLib 2.6
21116 2005-11-16 Michael Smith <msmith@fluendo.com>
21119 Don't link against VALGRIND_LIBS. That was always the wrong thing to
21120 do, but only breaks with newer valgrind versions. We're not a
21121 valgrind tool, we have no link-time dependencies on libcoregrind.
21123 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21125 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21127 * gst/gstmessage.h:
21130 2005-11-16 Thomas Vander Stichele <thomas at apestaart dot org>
21132 * gst/base/gstbasesrc.c: (gst_base_src_init):
21133 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21134 * gst/gstqueue.c: (gst_queue_init):
21135 * gst/gstregistryxml.c: (load_feature):
21136 Revert all these unrefs, they don't even pass make check !
21138 2005-11-15 Johan Dahlin <johan@gnome.org>
21140 * gst/base/gstbasesrc.c: (gst_base_src_init):
21141 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21142 * gst/gstqueue.c: (gst_queue_init):
21143 Free pad templates, fixes a couple of leaks.
21145 2005-11-15 Daniel Fischer <dan at f3c dot com>
21147 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
21149 * gst/gstpad.c: (gst_pad_get_property):
21150 GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21151 GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21154 2005-11-15 Wim Taymans <wim@fluendo.com>
21159 2005-11-15 Andy Wingo <wingo@pobox.com>
21161 * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21163 * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21164 using GST_CLOCK_TIME_NONE to disable base time management.
21165 (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21166 time if it was NONE before.
21167 (gst_pipeline_change_state): Only munge the base time if
21168 stream_time != GST_CLOCK_TIME_NONE.
21170 * check/gst/gstpipeline.c (test_base_time): Punt around the
21171 problem of the probe not being called, because that's not the
21172 issue I'm looking at. Add a check that setting stream_time to NONE
21173 disables base time management.
21175 2005-11-15 Wim Taymans <wim@fluendo.com>
21177 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21178 segment_stop == -1 at startup.
21180 * gst/base/gstbasetransform.c: (gst_base_transform_event),
21181 (gst_base_transform_change_state):
21182 Init segment values at start.
21184 2005-11-15 Wim Taymans <wim@fluendo.com>
21186 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21187 0 segment values are 0 in any format.
21189 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21190 * gst/base/gstbasetransform.h:
21191 Parse newsegment correctly in basetransform
21193 * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21194 Sync to clock using updated segment values.
21196 2005-11-15 Andy Wingo <wingo@pobox.com>
21198 * check/gst/gstpipeline.c (test_base_time): Add check that the
21199 base time and stream time are reset correctly.
21201 2005-11-15 Wim Taymans <wim@fluendo.com>
21203 * docs/design/part-TODO.txt:
21204 Some more TODO items.
21206 2005-11-15 Andy Wingo <wingo@pobox.com>
21208 * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21209 error if the user selected "no clock" as the clocking method.
21211 * check/gst/gstpipeline.c (test_base_time): New test for buffer
21212 timestamps with live capture.
21214 * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21215 is 0 but we are a live source, timestamp the buffers using the
21218 2005-11-14 Stefan Kost <ensonic@users.sf.net>
21220 * docs/gst/gstreamer-sections.txt:
21222 * gst/gstghostpad.c:
21227 2005-11-14 Wim Taymans <wim@fluendo.com>
21230 add suppressions from Wim's Debian machine
21232 2005-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
21235 add suppressions from Andy's AMD64 Ubuntu machine
21237 2005-11-14 Andy Wingo <wingo@pobox.com>
21239 * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21240 STATE_LOCK not necessary. Fixes #311489.
21242 * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21245 * gst/gstindex.c (gst_index_add_object): Note in the docs that
21246 this function is not implemented.
21248 2005-11-14 Julien MOUTTE <julien@moutte.net>
21250 * gst/base/gstbasetransform.c:
21251 (gst_base_transform_prepare_output_buf):
21252 Ref the source pad caps while we need them.
21255 2005-11-11 Wim Taymans <wim@fluendo.com>
21257 * docs/gst/gstreamer-sections.txt:
21258 Added some docs for GstCollectData.
21260 * gst/base/gstadapter.c:
21261 Some small code example fix.
21263 * gst/base/gstcollectpads.c:
21264 * gst/base/gstcollectpads.h:
21265 Document some more.
21267 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21269 * configure.ac: back to HEAD
21271 === release 0.9.5 ===
21273 2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
21276 releasing 0.9.5, "Bike Lunch Day"
21278 2005-11-11 Wim Taymans <wim@fluendo.com>
21280 * gst/gstbuffer.c: (_gst_buffer_copy):
21283 * gst/gstcaps.c: (gst_caps_is_equal):
21285 Make _is_equal fast in the trivial cases.
21287 * gst/gstminiobject.c:
21288 * gst/gstminiobject.h:
21289 More docs. Spifify .h file.
21294 2005-11-11 Wim Taymans <wim@fluendo.com>
21296 * gst/base/gstbasetransform.c:
21297 (gst_base_transform_prepare_output_buf),
21298 (gst_base_transform_handle_buffer):
21300 If we're processing a buffer and need to allocate an output
21301 buffer, we cannot accept a format change. If we did get a
21302 format change, we have to alloc a buffer ourselves of the
21305 2005-11-11 Wim Taymans <wim@fluendo.com>
21307 * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21308 While checking the flag for reentrancy in the gstcaps function
21309 is nice to detect recursive invocations, it also makes it
21310 impossible to call getcaps from multiple threads, which must be
21311 possible. So, checking for recursive calls has to go.
21313 2005-11-11 Michael Smith <msmith@fluendo.com>
21315 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21316 Don't sync on buffers that fall partially outside our current
21317 segment. Prevents an assertion failure/abort playing some files.
21319 2005-11-10 Andy Wingo <wingo@pobox.com>
21321 * check/gst/gstbin.c (test_message_state_changed_children): Style
21324 * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21325 gst_bus_poll with the signal watch. Ensures that poll and a signal
21326 watch see the same messages.
21328 * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21329 a poll and a watch at the same time get the same messages.
21331 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21333 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21334 * gst/gstcaps.c: (gst_caps_intersect):
21335 Don't call gst_caps_do_simplify - it doesn't respect order of caps
21336 and it's not needed.
21338 2005-11-10 Wim Taymans <wim@fluendo.com>
21340 * docs/design/part-TODO.txt:
21343 2005-11-10 Wim Taymans <wim@fluendo.com>
21345 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21346 * gst/base/gstbasesrc.c: (gst_base_src_wait),
21347 (gst_base_src_do_sync), (gst_base_src_get_range):
21348 Implement clock sync in base class.
21350 2005-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
21352 patch by: Tim-Philipp Müller <tim at centricular dot net>
21354 * gst/gststructure.c: (gst_structure_parse_field),
21355 (gst_structure_from_string):
21356 Forward-port a 0.8 patch to handle escaped spaces in structure string,
21357 so that gst_parse_launch() can deal with spaces in filtered link
21358 caps (fixes #164479)
21359 * check/gst/capslist.h:
21360 * check/gst/gststructure.c: (GST_START_TEST):
21361 add unit tests for this change
21363 2005-11-10 Wim Taymans <wim@fluendo.com>
21365 * docs/gst/gstreamer-sections.txt:
21366 * gst/gstelement.c:
21367 * gst/gstelement.h:
21368 Fix docs, move some STATE macros to private.
21370 2005-11-10 Wim Taymans <wim@fluendo.com>
21372 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21373 Added check for bug #317341
21377 Some more spiffifying.
21379 * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21380 Call peer linkfunction if we are a source pad. Totally fixes
21384 Update docs, source pads should call the peer linkfunction
21385 so they can atomically perform the pad link.
21387 2005-11-09 Wim Taymans <wim@fluendo.com>
21391 Uber-spiffy-spiffify some more.
21393 2005-11-09 Tim-Philipp Müller <tim at centricular dot net>
21395 * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21396 * gst/elements/gstfilesink.c: (gst_file_sink_init):
21397 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21398 * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21399 (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21400 * gst/gstpad.c: (gst_pad_init):
21401 Use GST_DEBUG_FUNCPTR() more extensively.
21403 2005-11-09 Wim Taymans <wim@fluendo.com>
21405 * gst/gstobject.c: (gst_object_class_init):
21407 Documentation fixes.
21409 2005-11-09 Edward Hervey <edward@fluendo.com>
21411 * gst/gsttypefindfactory.c:
21414 2005-11-09 Edward Hervey <edward@fluendo.com>
21416 * gst/base/gsttypefindhelper.c:
21417 * gst/gsttypefind.c:
21418 * gst/gsttypefind.h:
21421 2005-11-09 Wim Taymans <wim@fluendo.com>
21423 * gst/gstiterator.c:
21430 2005-11-09 Wim Taymans <wim@fluendo.com>
21436 2005-11-09 Wim Taymans <wim@fluendo.com>
21438 * docs/gst/gstreamer-sections.txt:
21439 Moved the message async delivery private lock and cond
21440 to the private section.
21442 * gst/gstmessage.c:
21443 * gst/gstmessage.h:
21446 2005-11-09 Edward Hervey <edward@fluendo.com>
21448 * docs/gst/gstreamer-sections.txt:
21451 Document GstURIHandler
21453 2005-11-09 Wim Taymans <wim@fluendo.com>
21455 * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21456 (gst_iterator_find_custom):
21457 * gst/gstiterator.h:
21460 2005-11-09 Wim Taymans <wim@fluendo.com>
21463 Document another field.
21465 * gst/gststructure.c:
21466 * gst/gststructure.h:
21469 2005-11-09 Wim Taymans <wim@fluendo.com>
21472 Documented structs.
21474 2005-11-09 Wim Taymans <wim@fluendo.com>
21476 * docs/gst/gstreamer-sections.txt:
21477 Added some new macros.
21484 2005-11-09 Wim Taymans <wim@fluendo.com>
21486 * docs/design/part-TODO.txt:
21487 Some more items for the TODO
21493 2005-11-09 Andy Wingo <wingo@pobox.com>
21495 * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21496 to work on something else now tho...
21498 * gst/base/gstadapter.c: More adapter docs.
21500 * gst/elements/gstfilesink.c (gst_file_sink_start)
21501 (gst_file_sink_stop): New functions, replace the state change
21503 (gst_file_sink_class_init): Hook up the start and stop functions.
21504 (gst_file_sink_base_init): Don't set the state change handler any
21505 more. It was a bit ugly too, being set from here...
21506 (gst_file_sink_get_property, gst_file_sink_set_property):
21508 (gst_file_sink_set_location): More robust check that doesn't call
21509 GST_STATE. Ugggggg.
21511 2005-11-08 Tim-Philipp Müller <tim at centricular dot net>
21513 * gst/base/gstbasetransform.c: (gst_base_transform_event):
21514 Hold STREAM_LOCK while pushing newsegment or tag events as well.
21516 2005-11-08 Wim Taymans <wim@fluendo.com>
21518 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21519 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21520 (gst_base_sink_chain), (gst_base_sink_change_state):
21521 * gst/base/gstbasesink.h:
21522 * gst/base/gstbasesrc.h:
21523 * gst/gstelement.h:
21525 Avoid excessive typechecking in macros.
21527 * gst/gstminiobject.c: (gst_mini_object_get_type),
21528 (gst_mini_object_init), (gst_mini_object_new),
21529 (gst_mini_object_free):
21530 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21531 (gst_object_finalize):
21532 Remove cruft code, optimize alloc_trace.
21534 2005-11-07 Thomas Vander Stichele <thomas at apestaart dot org>
21536 * docs/faq/gst-uninstalled:
21537 fix up PS1 for systems that try to reset it
21539 2005-11-07 Wim Taymans <wim@fluendo.com>
21541 * gst/base/gstbasesrc.c: (gst_base_src_init),
21542 (gst_base_src_get_range):
21543 Set the segment_end to -1 initially. Fixed typefind.
21545 2005-11-07 Tim-Philipp Müller <tim at centricular dot net>
21547 * gst/base/gstadapter.c:
21548 Debug category should be 'adapter', not 'GstAdapter'.
21550 * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21551 (gst_collectpads_class_init), (gst_collectpads_init),
21552 (gst_collectpads_peek), (gst_collectpads_pop),
21553 (gst_collectpads_event), (gst_collectpads_chain):
21554 Add debug category and some debugging output. Use boilerplate
21555 macros. Remove some extraneous words from docs.
21557 2005-11-05 Andy Wingo <wingo@pobox.com>
21559 * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21562 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21564 * docs/gst/gstreamer-sections.txt:
21567 * gst/gstminiobject.h:
21572 2005-11-04 Wim Taymans <wim@fluendo.com>
21574 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21575 Small update to stop at the configured segment_end
21578 2005-11-04 Stefan Kost <ensonic@users.sf.net>
21580 * gst/gstregistry.c:
21581 * gst/gstregistry.h:
21584 2005-11-04 Edward Hervey <edward@fluendo.com>
21586 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21587 Check if we are doing a segment seek and have arrived at the
21588 end of that segment.
21590 2005-11-04 Wim Taymans <wim@fluendo.com>
21592 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21593 Don't leak a mutex unlock in case of an error.
21598 2005-11-04 Wim Taymans <wim@fluendo.com>
21600 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21602 Get the context to wake up only once.
21604 2005-11-03 Wim Taymans <wim@fluendo.com>
21606 * check/states/sinks.c: (GST_START_TEST):
21607 Uncomment fixed check.
21609 * docs/design/part-TODO.txt:
21612 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21613 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21614 (gst_base_sink_get_position):
21615 If we are going to PLAYING, post the right pending state
21616 when we post the intermediate paused message.
21618 * gst/gstelement.c: (gst_element_continue_state),
21619 (gst_element_set_state_func), (gst_element_change_state):
21620 Don't post state changes that were between the same state
21621 and were not ASYNC.
21623 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21625 * docs/gst/gstreamer-sections.txt:
21628 * gst/gstminiobject.h:
21631 more docs and doc style fixes
21633 2005-11-03 Stefan Kost <ensonic@users.sf.net>
21635 * docs/gst/gstreamer-sections.txt:
21636 * gst/gstelement.c:
21637 * gst/gstminiobject.c:
21640 2005-11-03 Andy Wingo <wingo@pobox.com>
21642 * check/states/sinks.c (test_livesrc_sink): Add checks that the
21643 state-changed messages actually have the right order and the right
21646 2005-11-03 Wim Taymans <wim@fluendo.com>
21648 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21649 Added some more checks. Specifically the case where NO_PREROLL
21650 elements are in the pipeline.
21652 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21653 (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21654 (gst_base_sink_get_position):
21655 Post READY->PAUSED state change messages too.
21656 Fix bug where VOID was posted as pending state...
21658 * gst/gstbin.c: (gst_bin_recalc_state):
21659 use _element_continue_state() to continue the state change.
21661 * gst/gstelement.c: (gst_element_continue_state),
21662 (gst_element_commit_state), (gst_element_set_state_func),
21663 (gst_element_change_state), (gst_element_change_state_func):
21664 Lots of state change cleanups, assign the STATE_RETURN in
21665 a new continue_state() function that also propagates the
21666 last return value from a state change to the app.
21667 Update some debug statements with proper category.
21669 2005-11-03 Wim Taymans <wim@fluendo.com>
21671 * docs/design/part-events.txt:
21672 * docs/design/part-gstpipeline.txt:
21673 * docs/design/part-messages.txt:
21674 * docs/design/part-overview.txt:
21675 * docs/design/part-seeking.txt:
21676 * docs/design/part-states.txt:
21677 * docs/design/part-trickmodes.txt:
21678 * docs/manual/advanced-position.xml:
21679 Small docs updates.
21682 People think !! is ugly, this looks better.
21684 * gst/gstpad.c: (gst_pad_set_blocked_async):
21685 Remove !! since it's fixed elsewhere now.
21687 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21689 * gst/gstminiobject.h:
21691 Add !! to _FLAG_IS_SET macros to make the result boolean.
21693 2005-11-03 Edward Hervey <edward@fluendo.com>
21695 * gst/gstpad.c: (gst_pad_set_blocked_async):
21696 comparing a flag and a gboolean rarely returns coherent results...
21697 Added two characters (!!) to make that work correctly.
21699 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21701 * gst/gstbus.c: (gst_bus_class_init):
21704 * gst/gstqueue.c: (gst_queue_loop):
21705 Don't assume a miniobject that isn't a buffer is an
21706 event (it could be that there is a refcounting
21707 problem somewhere and the pointer is stale and
21708 refers to an already destroyed miniobject).
21710 2005-11-03 Julien MOUTTE <julien@moutte.net>
21712 * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21714 2005-11-03 Tim-Philipp Müller <tim at centricular dot net>
21716 * docs/manual/advanced-position.xml:
21717 Update seek example and explanations to current 0.9 API.
21719 * gst/elements/gsttypefindelement.c:
21720 (gst_type_find_element_activate):
21721 Remove FIXME comment now that the found caps
21724 2005-11-03 Thomas Vander Stichele <thomas at apestaart dot org>
21726 * gst/gstregistryxml.c: (load_feature):
21727 Add another GST_STR_NULL instance
21729 2005-11-02 Edward Hervey <edward@fluendo.com>
21731 * gst/gstpad.c: (handle_pad_block):
21732 Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21734 2005-11-02 Wim Taymans <wim@fluendo.com>
21739 * gst/gstelement.c: (gst_element_commit_state):
21740 Remove unused value.
21742 * gst/gstiterator.c:
21743 Mention that the returned element is reffed in the docs.
21745 2005-11-02 Wim Taymans <wim@fluendo.com>
21747 * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21748 (gst_pad_push), (gst_pad_push_event):
21749 Unlock blocked pads when they are flushed.
21751 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21754 * docs/gst/gstreamer-sections.txt:
21757 * gst/gstregistry.c: (gst_registry_scan_path_level):
21758 fix for a nasty little missed situation where an installed plug-in
21759 which was in the cache did not get overridden by an uninstalled one
21760 which was earlier in the plugin path because the newly created plugin
21761 for the uninstalled one (not in the registry) didn't get its
21762 ->registered set to TRUE
21764 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21766 * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21767 (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21768 (gst_collectpads_is_active), (gst_collectpads_collect),
21769 (gst_collectpads_collect_range), (gst_collectpads_start),
21770 (gst_collectpads_stop), (gst_collectpads_peek),
21771 (gst_collectpads_pop), (gst_collectpads_available),
21772 (gst_collectpads_read), (gst_collectpads_flush):
21773 Guard public API with assertions.
21776 Fix docs for gst_pad_set_link_function().
21778 2005-11-02 Johan Dahlin <johan@gnome.org>
21780 * gst/elements/gsttypefindelement.c (gst_type_find_element_activate):
21781 Unref found_caps after we used it.
21783 2005-11-02 Tim-Philipp Müller <tim at centricular dot net>
21785 * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21786 Don't try to ref NULL.
21788 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21790 * win32/common/config.h.in:
21791 provide a GST_FUNCTION that just gives a string for now
21793 2005-11-02 Thomas Vander Stichele <thomas at apestaart dot org>
21795 * win32/common/gstenumtypes.c: (register_gst_object_flags),
21796 (gst_object_flags_get_type), (register_gst_bin_flags),
21797 (gst_bin_flags_get_type), (register_gst_buffer_flag),
21798 (gst_buffer_flag_get_type), (register_gst_bus_flags),
21799 (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21800 (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21801 (gst_clock_return_get_type), (register_gst_clock_entry_type),
21802 (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21803 (gst_clock_flags_get_type), (register_gst_state),
21804 (gst_state_get_type), (register_gst_state_change_return),
21805 (gst_state_change_return_get_type), (register_gst_state_change),
21806 (gst_state_change_get_type), (register_gst_element_flags),
21807 (gst_element_flags_get_type), (register_gst_core_error),
21808 (gst_core_error_get_type), (register_gst_library_error),
21809 (gst_library_error_get_type), (register_gst_resource_error),
21810 (gst_resource_error_get_type), (register_gst_stream_error),
21811 (gst_stream_error_get_type), (register_gst_event_type),
21812 (gst_event_type_get_type), (register_gst_seek_type),
21813 (gst_seek_type_get_type), (register_gst_seek_flags),
21814 (gst_seek_flags_get_type), (register_gst_format),
21815 (gst_format_get_type), (register_gst_index_certainty),
21816 (gst_index_certainty_get_type), (register_gst_index_entry_type),
21817 (gst_index_entry_type_get_type),
21818 (register_gst_index_lookup_method),
21819 (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21820 (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21821 (gst_index_resolver_method_get_type), (register_gst_index_flags),
21822 (gst_index_flags_get_type), (register_gst_debug_level),
21823 (gst_debug_level_get_type), (register_gst_debug_color_flags),
21824 (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21825 (gst_iterator_result_get_type), (register_gst_iterator_item),
21826 (gst_iterator_item_get_type), (register_gst_message_type),
21827 (gst_message_type_get_type), (register_gst_mini_object_flags),
21828 (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21829 (gst_pad_link_return_get_type), (register_gst_flow_return),
21830 (gst_flow_return_get_type), (register_gst_activate_mode),
21831 (gst_activate_mode_get_type), (register_gst_pad_direction),
21832 (gst_pad_direction_get_type), (register_gst_pad_flags),
21833 (gst_pad_flags_get_type), (register_gst_pad_presence),
21834 (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21835 (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21836 (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21837 (gst_plugin_error_get_type), (register_gst_plugin_flags),
21838 (gst_plugin_flags_get_type), (register_gst_rank),
21839 (gst_rank_get_type), (register_gst_query_type),
21840 (gst_query_type_get_type), (register_gst_tag_merge_mode),
21841 (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21842 (gst_tag_flag_get_type), (register_gst_task_state),
21843 (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21844 (gst_alloc_trace_flags_get_type),
21845 (register_gst_type_find_probability),
21846 (gst_type_find_probability_get_type), (register_gst_uri_type),
21847 (gst_uri_type_get_type), (register_gst_parse_error),
21848 (gst_parse_error_get_type):
21849 * win32/common/gstversion.h:
21850 update win32 copies
21852 2005-11-01 Luca Ognibene <luogni@tin.it>
21855 fix docs. popt is dead, long live GOption.
21857 2005-10-31 Wim Taymans <wim@fluendo.com>
21862 2005-10-31 Andy Wingo <wingo@pobox.com>
21866 * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21868 * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21869 need to serialize property notifications on GLib 2.8. GLib 2.6 has
21870 the possibility of deadlocks here if code calling notify() or
21871 set() has a lock that can be taken in another notify handler (ABBA
21872 with class lock and e.g. python GIL state lock).
21874 2005-10-28 Julien MOUTTE <julien@moutte.net>
21876 * gst/gstbus.c: Doc updates.
21878 2005-10-28 Wim Taymans <wim@fluendo.com>
21880 * docs/design/part-TODO.txt:
21881 * gst/gstiterator.c:
21882 * gst/gstsystemclock.c:
21883 * gst/gstsystemclock.h:
21886 2005-10-28 Edward Hervey <edward@fluendo.com>
21888 * docs/gst/gstreamer-docs.sgml:
21889 * docs/gst/gstreamer-sections.txt:
21890 the GstURIType documentation page is private, it only defines GstURIType
21891 which should be defined in the GstURIHandler page
21893 2005-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
21895 * gst/gstbin.c: (gst_bin_class_init):
21898 Documentation updates.
21900 2005-10-28 Wim Taymans <wim@fluendo.com>
21902 * docs/gst/gstreamer-sections.txt:
21905 Documented the clocks.
21907 2005-10-28 Stefan Kost <ensonic@users.sf.net>
21909 * docs/gst/gstreamer-sections.txt:
21910 move some macros to private sections
21911 * gst/gstminiobject.c:
21912 * gst/gstminiobject.h:
21913 add descriptions provided by ds and some more
21915 mark macro as to be removed
21917 2005-10-28 Wim Taymans <wim@fluendo.com>
21919 * docs/design/part-TODO.txt:
21920 Add an item to TODO.
21922 * gst/gstiterator.c: (gst_iterator_fold),
21923 (gst_iterator_find_custom):
21924 * gst/gstiterator.h:
21927 2005-10-28 Wim Taymans <wim@fluendo.com>
21929 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21930 (gst_base_transform_init):
21933 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21934 An EOS event marks the queue as completely filled.
21936 2005-10-27 Wim Taymans <wim@fluendo.com>
21938 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21939 (gst_base_sink_do_sync), (gst_base_sink_get_position):
21940 Some more debugging.
21942 * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21943 (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21944 (gst_base_transform_event), (gst_base_transform_getrange),
21945 (gst_base_transform_chain):
21946 * gst/base/gstbasetransform.h:
21948 Protect transform and concurrent buffer alloc with a new lock.
21949 Try not to break ABI/API.
21951 2005-10-27 Wim Taymans <wim@fluendo.com>
21953 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21954 (gst_base_src_init), (gst_base_src_query),
21955 (gst_base_src_default_newsegment),
21956 (gst_base_src_configure_segment), (gst_base_src_do_seek),
21957 (gst_base_src_send_event), (gst_base_src_event_handler),
21958 (gst_base_src_pad_get_range), (gst_base_src_loop),
21959 (gst_base_src_unlock), (gst_base_src_default_negotiate),
21960 (gst_base_src_start), (gst_base_src_deactivate),
21961 (gst_base_src_activate_push), (gst_base_src_change_state):
21962 Move some stuff around and cleanup things.
21964 2005-10-27 Tim-Philipp Müller <tim at centricular dot net>
21966 * gst/base/gstbasesrc.c: (gst_base_src_query):
21967 Add missing break statements.
21969 2005-10-27 Wim Taymans <wim@fluendo.com>
21971 * check/gst/gstbin.c: (GST_START_TEST):
21972 An extra refcount is taken in basesrc.
21974 * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21975 (gst_base_src_get_range), (gst_base_src_pad_get_range),
21976 (gst_base_src_loop):
21977 Small cleanups, check for flushing after being unlocked from the
21978 LIVE_LOCK. take refcounts correctly (not yet everywhere).
21979 Don't send out EOS when going to READY.
21981 2005-10-27 Wim Taymans <wim@fluendo.com>
21983 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21984 (gst_base_sink_get_position):
21987 * gst/gstbin.c: (message_check), (bin_replace_message),
21988 (bin_remove_messages), (is_eos), (gst_bin_add_func),
21989 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21990 (bin_query_duration_init), (bin_query_duration_fold),
21991 (bin_query_duration_done), (bin_query_generic_fold),
21993 * tools/gst-launch.c: (main):
21996 2005-10-26 Stefan Kost <ensonic@users.sf.net>
21998 * examples/controller/audio-example.c: (main):
21999 * examples/queue/queue.c: (event_loop):
22000 * gst/base/gstbasetransform.h:
22001 * gst/gstelement.c: (gst_element_send_event):
22003 * gst/gstpad.c: (gst_pad_send_event):
22006 changing log priority in error situations
22008 2005-10-25 Wim Taymans <wim@fluendo.com>
22010 * gst/gstbin.c: (message_check), (bin_replace_message),
22011 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22012 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22013 (bin_query_duration_init), (bin_query_duration_fold),
22014 (bin_query_duration_done), (bin_query_generic_fold),
22016 Some doc and debug updates.
22017 Cache previously requested query DURATION for speed. invalidate
22018 cached duration if element posts a DURATION message.
22020 2005-10-25 Wim Taymans <wim@fluendo.com>
22022 * docs/design/part-TODO.txt:
22025 * gst/gstbin.c: (message_check), (bin_replace_message),
22026 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22027 (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22028 (bin_query_duration_init), (bin_query_duration_fold),
22029 (bin_query_duration_done), (bin_query_generic_fold),
22031 Handle SEGMENT_START/DONE messages correctly.
22032 More evolved query algorithm that handles duration queries
22035 * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22036 (gst_element_get_state_func), (gst_element_abort_state),
22037 (gst_element_commit_state), (gst_element_lost_state):
22038 Some more debugging.
22040 * gst/gstmessage.h:
22043 2005-10-25 Wim Taymans <wim@fluendo.com>
22045 * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22046 Don't use invalid stream_time.
22048 * gst/gstevent.c: (gst_event_new_newsegment):
22049 stream_time in newsegment cannot be undefined.
22051 2005-10-24 Wim Taymans <wim@fluendo.com>
22056 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22058 Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22060 2005-10-24 Stefan Kost <ensonic@users.sf.net>
22062 * docs/libs/tmpl/gstdparam.sgml:
22063 * docs/libs/tmpl/gstdplinint.sgml:
22064 * docs/libs/tmpl/gstdpman.sgml:
22065 * docs/libs/tmpl/gstdpsmooth.sgml:
22066 * docs/libs/tmpl/gstunitconvert.sgml:
22069 2005-10-24 Thomas Vander Stichele <thomas at apestaart dot org>
22074 === release 0.9.4 ===
22076 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22079 releasing 0.9.4, "Tyrannosaurus Rex"
22081 2005-10-23 Tim-Philipp Müller <tim at centricular dot net>
22083 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22084 (gst_file_sink_get_current_offset):
22085 Use fseeko() and ftello() if available. When falling back on
22086 lseek() to get the current offset, fflush() first to make sure
22087 everything is up-to-date and we get the right offset.
22089 2005-10-23 Thomas Vander Stichele <thomas at apestaart dot org>
22091 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22092 * gst/base/gstbasesrc.c: (gst_base_src_loop):
22093 * gst/gsterror.c: (_gst_stream_errors_init):
22095 * gst/gstqueue.c: (gst_queue_loop):
22097 remove prematurely added error category and clean up the instances
22099 2005-10-21 Wim Taymans <wim@fluendo.com>
22101 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22102 (gst_base_sink_get_position), (gst_base_sink_query),
22103 (gst_base_sink_change_state):
22104 Simply set the right flag when going to playing, that's all
22105 we need to do instead of calling a function inside the object
22106 lock (that could take the lock as well and deadlock)
22108 2005-10-21 Wim Taymans <wim@fluendo.com>
22110 * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22111 (gst_base_src_loop):
22112 Don't warn, the peer element knows what to do best when
22113 the seek failed, it might try something else.
22115 2005-10-21 Wim Taymans <wim@fluendo.com>
22117 * gst/base/gstbasesrc.c: (gst_base_src_init),
22118 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22121 2005-10-21 Wim Taymans <wim@fluendo.com>
22123 * docs/design/part-segments.txt:
22126 * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22127 Correctly set caps, even on the subbufer.
22129 2005-10-21 Wim Taymans <wim@fluendo.com>
22131 * docs/gst/gstreamer-docs.sgml:
22132 * docs/gst/gstreamer-sections.txt:
22133 * gst/gstelement.h:
22136 * gst/gstmessage.h:
22139 * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22143 And 2% more doc coverage.
22145 2005-10-21 Andy Wingo <wingo@pobox.com>
22147 * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22148 position reporting.
22150 2005-10-20 Wim Taymans <wim@fluendo.com>
22152 * gst/gsterror.c: (gst_error_get_message):
22155 * gst/gststructure.c:
22160 2005-10-20 Wim Taymans <wim@fluendo.com>
22165 Another 1% more coverage.
22167 2005-10-20 Wim Taymans <wim@fluendo.com>
22169 * docs/gst/gstreamer-sections.txt:
22170 * gst/gstelement.c: (gst_element_get_state_func),
22171 (gst_element_abort_state), (gst_element_commit_state),
22172 (gst_element_lost_state):
22174 * gst/gstquery.c: (gst_query_set_position),
22175 (gst_query_parse_position), (gst_query_set_duration),
22176 (gst_query_parse_duration), (gst_query_new_convert):
22178 Yay! 1% more docs coverage.
22180 2005-10-20 Wim Taymans <wim@fluendo.com>
22183 * gst/gstquery.c: (gst_query_set_position),
22184 (gst_query_parse_position), (gst_query_set_duration),
22185 (gst_query_parse_duration), (gst_query_new_convert):
22187 * gst/gstutils.c: (gst_element_query_convert):
22189 Docs and consistency fixes.
22191 2005-10-20 Wim Taymans <wim@fluendo.com>
22197 2005-10-20 Wim Taymans <wim@fluendo.com>
22199 * gst/gstbin.c: (message_check), (bin_replace_message),
22200 (bin_remove_messages), (is_eos), (gst_bin_add_func),
22201 (update_degree), (gst_bin_sort_iterator_next),
22202 (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22203 Reworked the message handling a bit, cache the messages instead of
22204 only the senders. alows us to do more in the future.
22206 2005-10-20 Wim Taymans <wim@fluendo.com>
22208 * docs/design/part-TODO.txt:
22211 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22212 (gst_base_sink_query):
22213 Don't use clock time to report position when in EOS.
22215 2005-10-20 Tim-Philipp Müller <tim at centricular dot net>
22217 * tools/gst-inspect.c: (print_interfaces),
22218 (print_element_properties_info), (print_element_info):
22219 Fix interface output with gst-inspect -a; don't print
22220 newlines after double/float properties.
22222 2005-10-20 Wim Taymans <wim@fluendo.com>
22224 * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22225 (gst_base_sink_query):
22226 Speed up current position calculation.
22228 * gst/base/gstbasesrc.c: (gst_base_src_query),
22229 (gst_base_src_default_newsegment):
22230 Correctly set stream position in newsegment.
22232 * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22233 (update_degree), (gst_bin_sort_iterator_next),
22234 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22235 * gst/gstmessage.c: (gst_message_new_custom):
22236 Clean up debugging info
22238 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22239 (gst_queue_loop), (gst_queue_handle_src_query):
22242 2005-10-19 Wim Taymans <wim@fluendo.com>
22244 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22245 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22246 Fix query handling again.
22248 2005-10-19 Wim Taymans <wim@fluendo.com>
22250 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22251 (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22252 * gst/base/gstbasesrc.c: (gst_base_src_query):
22253 * gst/elements/gstfilesink.c: (gst_file_sink_query):
22254 * gst/elements/gsttypefindelement.c:
22255 (gst_type_find_handle_src_query), (find_element_get_length),
22256 (gst_type_find_element_activate):
22259 * gst/gstquery.c: (gst_query_new_position),
22260 (gst_query_set_position), (gst_query_parse_position),
22261 (gst_query_new_duration), (gst_query_set_duration),
22262 (gst_query_parse_duration), (gst_query_set_segment),
22263 (gst_query_parse_segment):
22265 Bundling query position/duration is not a good idea since duration
22266 does not change much and we don't want to recalculate it for every
22267 position query, so they are separated again..
22268 Base value in segment query is not needed.
22270 * gst/gstqueue.c: (gst_queue_handle_src_query):
22271 * gst/gstutils.c: (gst_element_query_position),
22272 (gst_element_query_duration), (gst_pad_query_position),
22273 (gst_pad_query_duration):
22275 Updates for query API change.
22276 Added some docs here and there.
22278 2005-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
22280 * check/gst/gstbin.c: (GST_START_TEST):
22281 * check/gst/gstghostpad.c: (GST_START_TEST):
22282 * check/pipelines/cleanup.c: (GST_START_TEST):
22283 wait on thread to die so we can check refcount correctly
22285 2005-10-18 Wim Taymans <wim@fluendo.com>
22287 * check/pipelines/stress.c: (GST_START_TEST):
22288 Make check a little more time consuming.
22290 2005-10-18 Wim Taymans <wim@fluendo.com>
22292 * check/Makefile.am:
22293 * check/pipelines/stress.c: (GST_START_TEST),
22294 (simple_launch_lines_suite), (main):
22295 Small state change torture test.
22297 * docs/design/part-states.txt:
22298 * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22299 (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22300 (gst_base_sink_change_state):
22301 Never take state lock from streaming thread, clean up ugly
22302 hacks. Unfortunatly core does not yet support nice ways to
22303 async commit state.
22305 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22307 Start state recalc if a STATE_DIRTY message is posted, but only
22308 on the toplevel bin.
22310 * gst/gstelement.c: (gst_element_sync_state_with_parent),
22311 (gst_element_get_state_func), (gst_element_abort_state),
22312 (gst_element_commit_state), (gst_element_lost_state),
22313 (gst_element_set_state_func), (gst_element_change_state):
22314 * gst/gstelement.h:
22315 State variables are now protected with the LOCK, the state
22316 lock is only used to serialize _set_state().
22318 2005-10-18 Wim Taymans <wim@fluendo.com>
22320 * check/gst/gstbin.c: (GST_START_TEST):
22321 * check/gst/gstmessage.c: (GST_START_TEST):
22322 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22323 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22325 * gst/gstelement.c: (gst_element_abort_state),
22326 (gst_element_commit_state), (gst_element_lost_state):
22327 * gst/gstmessage.c: (gst_message_new_state_changed),
22328 (gst_message_new_state_dirty), (gst_message_new_segment_start),
22329 (gst_message_new_segment_done), (gst_message_new_duration),
22330 (gst_message_parse_state_changed),
22331 (gst_message_parse_segment_start),
22332 (gst_message_parse_segment_done), (gst_message_parse_duration):
22333 * gst/gstmessage.h:
22334 * tools/gst-launch.c: (event_loop):
22335 Seriously, this is better than a previous commit as we only need
22336 to notify the fact that an element changed state in a streaming
22337 thread, marking the state of the parents dirty, hence the
22338 STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22341 2005-10-18 Wim Taymans <wim@fluendo.com>
22343 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22344 (gst_bin_recalc_func):
22345 * gst/gstelement.c: (gst_element_set_clock),
22346 (gst_element_abort_state), (gst_element_lost_state):
22347 Cleanups, prepare for state change fixes.
22349 2005-10-18 Wim Taymans <wim@fluendo.com>
22352 * gst/gstelement.c: (gst_element_class_init),
22353 (gst_element_set_state), (gst_element_set_state_func):
22354 * gst/gstelement.h:
22355 Pending ABI changes.
22356 GThreadPool in GstBinClass to monitor async state changes.
22357 state_cookie in GstElement to detect concurrent gst/set state.
22358 set_state is now virtual too in case a very complicated element
22359 has to be constructed.
22361 2005-10-18 Wim Taymans <wim@fluendo.com>
22363 * check/gst/gstbin.c: (GST_START_TEST):
22364 * check/gst/gstmessage.c: (GST_START_TEST):
22365 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22366 * gst/gstbin.c: (bin_bus_handler):
22367 * gst/gstelement.c: (gst_element_commit_state),
22368 (gst_element_lost_state):
22369 * gst/gstmessage.c: (gst_message_new_state_changed),
22370 (gst_message_new_segment_start), (gst_message_new_segment_done),
22371 (gst_message_new_duration), (gst_message_parse_state_changed),
22372 (gst_message_parse_segment_start),
22373 (gst_message_parse_segment_done), (gst_message_parse_duration):
22374 * gst/gstmessage.h:
22375 * tools/gst-launch.c: (event_loop):
22376 Make messages future proof.
22377 state-change gets a flag if it was a message comming from the
22379 segment-start/stop can also be specified in other formats.
22380 A message to notify an app that a pipeline changed playback
22382 Also fix a GstMessage leak in -launch
22384 2005-10-18 Andy Wingo <wingo@pobox.com>
22386 * gst/gstelement.c (gst_element_dispose): More helpful message.
22388 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22390 reviewed by: <delete if not using a buddy>
22392 * common/gtk-doc.mak:
22394 2005-10-18 Thomas Vander Stichele <thomas at apestaart dot org>
22396 * gst/gstregistry.c: (gst_registry_scan_path_level):
22397 unref a plug-in we get that was already initialized
22399 2005-10-18 Stefan Kost <ensonic@users.sf.net>
22401 * docs/gst/gstreamer-sections.txt:
22402 * docs/libs/gstreamer-libs-sections.txt:
22403 * gst/gstelement.h:
22404 add new api entries
22405 hide internal macro
22407 2005-10-17 Andy Wingo <wingo@pobox.com>
22409 * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22412 * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22414 * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22416 * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22417 (gst_element_get_state_func): Better debug message.
22418 (gst_element_commit_state): s/INFO/DEBUG/.
22419 (gst_element_lost_state, gst_element_change_state):
22421 * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22422 (gst_message_new_custom): s/INFO/LOG/.
22424 2005-10-17 Michael Smith <msmith@fluendo.com>
22426 * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22427 Check if end time is valid using end time, not start time.
22429 2005-10-17 Stefan Kost <ensonic@users.sf.net>
22431 * check/gst-libs/controller.c: (GST_START_TEST),
22432 (gst_controller_suite):
22433 * libs/gst/controller/gstcontroller.c:
22434 (gst_controlled_property_set_interpolation_mode):
22435 * libs/gst/controller/gstcontroller.h:
22436 * libs/gst/controller/gstinterpolation.c:
22437 * testsuite/controller/.cvsignore:
22438 * testsuite/controller/Makefile.am:
22439 * testsuite/controller/interpolator.c:
22440 merge controller testsuites
22442 remove mem-chunk from docs
22444 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22446 * gst/gstmemchunk.c:
22447 * gst/gstmemchunk.h:
22448 * gst/gsttrashstack.c:
22449 * gst/gsttrashstack.h:
22450 out. get out. you're fired. to the Attic !
22452 2005-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
22454 * gst/gstcaps.c: (gst_caps_intersect):
22455 fix signedness issues in a (hopefully) correct way
22456 * gst/gstelement.c: (gst_element_pads_activate):
22458 * gst/gstobject.c: (gst_object_set_parent):
22461 2005-10-17 Julien MOUTTE <julien@moutte.net>
22463 * gst/gstvalue.h: Fix prototypes.
22465 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22467 * docs/gst/gstreamer-sections.txt:
22468 * gst/gst.c: (gst_version_string):
22470 * gst/gstversion.h.in:
22471 * win32/common/libgstreamer.def:
22472 add gst_version_string ()
22474 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22478 * gst/gst.c: (init_post):
22479 * win32/common/config.h.in:
22481 * gst/gstcaps.c: (gst_caps_intersect):
22482 use gint64, the range could be bigger than a guint
22484 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22487 document potential problem in 2038
22489 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22491 * gst/gstcaps.c: (gst_caps_intersect):
22492 Fix guint j diving under 0
22494 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22497 * win32/common/config.h:
22498 * win32/common/config.h.in:
22499 check for process.h, declares getpid() on Windows
22501 include process.h if we have it
22502 * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22503 * gst/gstmemchunk.h:
22504 fix signedness issues
22505 * win32/common/libgstreamer.def:
22508 2005-10-16 Julien MOUTTE <julien@moutte.net>
22510 * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22511 fix. Because of unsigned ints, caps intersection was going nuts and
22512 trying to access structures with G_MAXUINT index. That fixes
22513 videotestsrc ! ffmpegcolorspace ! fakesink
22514 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22517 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22520 use the gettext macro
22521 * gst/elements/gstelements.c:
22523 * gst/indexers/gstindexers.c:
22524 update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22525 * win32/common/config.h:
22527 * win32/common/config.h.in:
22528 add the template to generate config.h
22529 * win32/common/gstenumtypes.c:
22530 * win32/common/gstversion.h:
22533 2005-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
22535 * gst/gst.c: (gst_version):
22536 * gst/gstversion.h.in:
22539 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22542 Oops, add missing closing bracket.
22544 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22547 use common m4's for argument checking
22549 2005-10-15 Tim-Philipp Müller <tim at centricular dot net>
22551 * docs/gst/gstreamer-sections.txt:
22553 Add GST_EVENT_TYPE_NAME() macro.
22555 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22558 * gst/gstpluginfeature.c:
22560 privatize more symbols
22562 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22565 add srcdir, builddir includes to GST_ALL_CFLAGS, since
22566 everything that uses GStreamer API should have the includes
22568 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22570 * docs/gst/gstreamer-sections.txt:
22571 * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22573 give each value a _get_type, removes the DATA exports
22575 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22579 remove _gst_registry_auto_load, not used anymore
22580 * gst/gstbin.c: (gst_bin_get_type):
22582 * gst/gstelement.c: (gst_element_get_type):
22583 * gst/gstelement.h:
22584 * gst/gstobject.c: (gst_object_get_type):
22586 * gst/gstpad.c: (gst_pad_get_type):
22588 make _get_type functions similar, fixes data export from library
22590 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22593 correctly make conditionals
22594 * gst/elements/Makefile.am:
22595 * gst/elements/gstelements.c:
22596 fix typo causing fdsrc not to build
22598 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22600 * testsuite/Makefile.am:
22601 * testsuite/bytestream/.cvsignore:
22602 * testsuite/bytestream/Makefile.am:
22603 * testsuite/bytestream/filepadsink.c:
22604 * testsuite/bytestream/gstbstest.c:
22605 * testsuite/bytestream/test1.c:
22606 * testsuite/bytestream/testfile1:
22607 * testsuite/caps/normalisation.c:
22608 * testsuite/caps/random.c: (main):
22609 * testsuite/cleanup/.cvsignore:
22610 * testsuite/cleanup/Makefile.am:
22611 * testsuite/cleanup/cleanup1.c:
22612 * testsuite/cleanup/cleanup2.c:
22613 * testsuite/cleanup/cleanup3.c:
22614 * testsuite/cleanup/cleanup4.c:
22615 * testsuite/cleanup/cleanup5.c:
22616 * testsuite/controller/interpolator.c:
22617 * testsuite/debug/printf_extension.c: (main):
22618 * testsuite/elements/tee.c:
22619 * testsuite/negotiation/.cvsignore:
22620 * testsuite/negotiation/Makefile.am:
22621 * testsuite/negotiation/pad_link.c:
22622 * testsuite/pad/Makefile.am:
22623 * testsuite/pad/chainnopull.c:
22624 * testsuite/pad/getnopush.c:
22625 * testsuite/pad/link.c:
22626 * testsuite/refcounting/sched.c: (create_pipeline):
22627 * testsuite/registry/Makefile.am:
22628 * testsuite/registry/gst-print-formats.c:
22629 * testsuite/schedulers/.cvsignore:
22630 * testsuite/schedulers/142183-2.c:
22631 * testsuite/schedulers/142183.c:
22632 * testsuite/schedulers/143777-2.c:
22633 * testsuite/schedulers/143777.c:
22634 * testsuite/schedulers/147713.c:
22635 * testsuite/schedulers/147819.c:
22636 * testsuite/schedulers/147894-2.c:
22637 * testsuite/schedulers/147894.c:
22638 * testsuite/schedulers/Makefile.am:
22639 * testsuite/schedulers/group_link.c:
22640 * testsuite/schedulers/queue_link.c:
22641 * testsuite/schedulers/relink.c:
22642 * testsuite/schedulers/unlink.c:
22643 * testsuite/schedulers/unref.c:
22644 * testsuite/schedulers/useless_iteration.c:
22645 * testsuite/states/bin.c:
22646 clean out/remove some stuff from the testsuite directories
22648 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22651 check for some headers
22652 * gst/elements/Makefile.am:
22653 * gst/elements/gstelements.c:
22654 don't compile fdsrc without sys/socket.h
22655 * gst/indexers/Makefile.am:
22656 * gst/indexers/gstindexers.c: (plugin_init):
22657 don't compile fileindex without mmap
22659 2005-10-15 Thomas Vander Stichele <thomas at apestaart dot org>
22666 * check/Makefile.am:
22667 * docs/gst/Makefile.am:
22668 * examples/helloworld/Makefile.am:
22670 * gst/base/Makefile.am:
22671 * gst/check/Makefile.am:
22672 * gst/elements/Makefile.am:
22673 * gst/indexers/Makefile.am:
22674 * gst/parse/Makefile.am:
22675 * libs/gst/controller/Makefile.am:
22676 * libs/gst/dataprotocol/Makefile.am:
22677 * examples/helloworld/helloworld.c: (event_loop):
22678 compile fixes, though it's not being compiled currently
22680 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22682 * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22683 Add some simple tests for the new taglist date API.
22685 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22687 * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22688 * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22689 Beautify 'last-message' output: print 'none' for buffer timestamps
22690 and durations if none is set; improve alignment with next messages.
22692 2005-10-14 Tim-Philipp Müller <tim at centricular dot net>
22694 * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22695 * gst/gstpluginfeature.h:
22696 * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22697 * gst/gstregistry.h:
22698 * docs/gst/gstreamer-sections.txt:
22699 Add new API to check plugin feature version requirements.
22701 * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22702 Some basic tests for the above.
22704 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22706 * gst/gststructure.c: (gst_structure_to_string):
22707 guard against NULL printf - happens when for example
22708 a message structure with GstClock gets serialized
22710 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22712 * gst/base/gstcollectpads.c: (gst_collectpads_event):
22713 Fix presumable copy'n'pasto.
22715 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22717 * gst/elements/gstfakesrc.h:
22718 * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22719 * gst/elements/gsttypefindelement.c:
22720 fix some signedness
22721 * gst/elements/gstfilesink.c: (gst_file_sink_render):
22722 I wonder if this could actually write +2GB files before
22724 2005-10-13 Andy Wingo <wingo@pobox.com>
22726 * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22727 Fix Timmeke Waymans bug.
22728 (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22729 string of the proper length to gst_caps_from_string. There's a
22730 potential for, before this fix, that this could cause someone
22731 connecting over the network to cause a segfault if the payload is
22732 not NUL-terminated.
22734 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22736 * docs/design/draft-push-pull.txt:
22737 * docs/design/part-overview.txt:
22738 * docs/random/TODO-pre-0.9:
22739 * docs/random/old/ChangeLog.gstreamer:
22740 * gst/base/gstpushsrc.c:
22744 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22746 * gst/glib-compat.c: (gst_flags_get_first_value):
22747 * gst/glib-compat.h:
22748 * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22749 (gst_value_compare_double), (gst_value_serialize_flags):
22750 GLib 2.6 g_flags_get_first_value has a bug that triggers an
22753 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22755 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22756 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22758 * tools/gst-launch.c: (event_loop):
22759 print out clock nicely
22761 2005-10-13 Tim-Philipp Müller <tim at centricular dot net>
22763 * docs/gst/gstreamer-sections.txt:
22764 * gst/gsttaglist.h:
22765 * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22766 (gst_tag_list_get_date_index):
22767 Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22768 GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22770 2005-10-13 Julien MOUTTE <julien@moutte.net>
22772 * gst/base/gstcollectpads.c: (gst_collectpads_event),
22773 (gst_collectpads_chain):
22774 * gst/base/gstcollectpads.h: Handle newsegment and store informations
22777 2005-10-13 Stefan Kost <ensonic@users.sf.net>
22779 * docs/gst/gstreamer-sections.txt:
22782 * tools/gst-inspect.c: (main):
22783 * tools/gst-launch.c: (main):
22784 * tools/gst-run.c: (main):
22785 * tools/gst-xmlinspect.c: (main):
22786 fix GOption context leaks
22789 2005-10-13 Thomas Vander Stichele <thomas at apestaart dot org>
22793 * win32/common/config.h:
22795 * win32/vs6/grammar.dsp:
22796 * win32/vs6/libgstelements.dsp:
22797 * win32/vs6/libgstreamer.dsp:
22800 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22802 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22803 * gst/base/gstbasesrc.c: (gst_base_src_query):
22804 fix more guint64<->gdouble conversions
22806 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22809 add win32-update target
22810 * win32/common/gstconfig.h:
22811 * win32/common/gstenumtypes.c:
22812 * win32/common/gstenumtypes.h:
22813 * win32/common/gstversion.h:
22814 add files that visual studio can't generate
22816 2005-10-12 Thomas Vander Stichele <thomas at apestaart dot org>
22819 add a win32-update target
22822 2005-10-12 Wim Taymans <wim@fluendo.com>
22824 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22825 (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22826 * gst/gstelement.c: (gst_element_commit_state),
22827 (gst_element_set_state):
22828 Protect flags with proper lock.
22829 unref provided cached clock in dispose.
22831 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22834 * gst/gstminiobject.h:
22836 * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22837 removed unused flags from miniobject
22840 2005-10-12 Wim Taymans <wim@fluendo.com>
22842 * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22843 (gst_file_sink_event), (gst_file_sink_render):
22844 Flush before seeking.
22846 2005-10-12 Andy Wingo <wingo@pobox.com>
22848 * gst/gst.c (gst_init_check): Ignore unknown options, as has
22849 always been the case.
22851 2005-10-12 Stefan Kost <ensonic@users.sf.net>
22853 * check/gst/gstbin.c: (GST_START_TEST):
22854 * docs/gst/gstreamer-sections.txt:
22855 * gst/base/gstbasesink.c: (gst_base_sink_init):
22856 * gst/base/gstbasesrc.c: (gst_base_src_init),
22857 (gst_base_src_get_range), (gst_base_src_check_get_range),
22858 (gst_base_src_start), (gst_base_src_stop):
22859 * gst/base/gstbasesrc.h:
22860 * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22861 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22862 (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22866 * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22868 * gst/gstelement.c: (gst_element_is_locked_state),
22869 (gst_element_set_locked_state), (gst_element_commit_state),
22870 (gst_element_set_state):
22871 * gst/gstelement.h:
22872 * gst/gstindex.c: (gst_index_init):
22874 * gst/gstminiobject.h:
22875 * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22876 (gst_object_set_parent):
22878 * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22879 (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22881 * gst/gstpadtemplate.h:
22882 * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22883 (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22884 * gst/gstpipeline.h:
22885 * gst/indexers/gstfileindex.c: (gst_file_index_load),
22886 (gst_file_index_commit):
22887 * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22888 * testsuite/pad/link.c: (gst_test_src_init),
22889 (gst_test_filter_init), (gst_test_sink_init):
22890 * testsuite/states/locked.c: (main):
22891 renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22892 moved bitshift from macro to enum definition
22894 2005-10-12 Wim Taymans <wim@fluendo.com>
22896 * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22897 * gst/elements/gstfilesink.c: (gst_file_sink_event),
22898 (gst_file_sink_render):
22899 Some more debugging info.
22901 2005-10-12 Wim Taymans <wim@fluendo.com>
22903 * docs/design/part-states.txt:
22904 * tools/gst-launch.c: (main):
22906 Revert non-intentional change.
22908 2005-10-12 Wim Taymans <wim@fluendo.com>
22910 * check/gst/gstbin.c: (GST_START_TEST):
22911 * check/gst/gstelement.c: (GST_START_TEST):
22912 * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22913 * check/gst/gstghostpad.c: (GST_START_TEST):
22914 * check/gst/gstpipeline.c: (GST_START_TEST):
22915 * check/pipelines/simple_launch_lines.c: (run_pipeline):
22916 * check/states/sinks.c: (GST_START_TEST):
22917 * gst/elements/gsttypefindelement.c: (stop_typefinding):
22918 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22919 (gst_bin_remove_func), (gst_bin_get_state_func),
22920 (gst_bin_recalc_state), (gst_bin_change_state_func),
22922 * gst/gstelement.c: (gst_element_get_state_func),
22923 (gst_element_get_state), (gst_element_abort_state),
22924 (gst_element_commit_state), (gst_element_set_state),
22925 (gst_element_change_state), (gst_element_change_state_func):
22926 * gst/gstelement.h:
22927 * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22928 (gst_pipeline_provide_clock_func):
22929 * gst/gstutils.c: (gst_element_link_pads_filtered):
22930 * tools/gst-launch.c: (main):
22931 * tools/gst-typefind.c: (main):
22932 Use GstClockTime in _get_state() instead of GTimeVal.
22933 Remove old code in gstutils.c
22935 2005-10-12 Andy Wingo <wingo@pobox.com>
22937 * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22940 * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22941 there is no task. Shouldn't affect any code, as nothing in our
22942 plugins checks this return value.
22943 (gst_pad_stop_task): Also take the stream lock if the pad has no
22944 task. Docs updated.
22946 2005-10-12 Wim Taymans <wim@fluendo.com>
22948 * gst/gstpad.c: (pre_activate), (post_activate),
22949 (gst_pad_activate_pull), (gst_pad_activate_push):
22950 Cleanup activation code. Reset old state if
22953 2005-10-12 Wim Taymans <wim@fluendo.com>
22955 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22956 (gst_base_sink_change_state):
22957 No need to prerol after receiving EOS.
22959 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22960 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22961 * gst/elements/gstidentity.c: (gst_identity_event):
22962 Print events more verbosely.
22964 2005-10-12 Wim Taymans <wim@fluendo.com>
22966 * check/Makefile.am:
22967 * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22968 * check/states/sinks2.c:
22969 Moved sinks2 testcode in sinks check.
22971 * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22972 (gst_bin_remove_func), (gst_bin_recalc_state),
22973 (gst_bin_change_state_func), (bin_bus_handler):
22974 Fix potential race condition when _get_state() iterated over an
22975 ASYNC element right before it posted a state completion.
22978 Do proper cast here.
22980 * gst/gstevent.c: (gst_event_new_newsegment),
22981 (gst_event_parse_newsegment):
22982 A playback rate of 0.0 is not allowed.
22984 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
22986 * win32/common/config.h:
22987 * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22988 (_trewinddir), (_ttelldir), (_tseekdir):
22989 * win32/common/dirent.h:
22990 * win32/common/gtchar.h:
22991 * win32/common/libgstbase.def:
22992 * win32/common/libgstreamer.def:
22993 * win32/vs6/grammar.dsp:
22994 * win32/vs6/gst_inspect.dsp:
22995 * win32/vs6/gst_launch.dsp:
22996 * win32/vs6/gstreamer.dsw:
22997 * win32/vs6/libgstbase.dsp:
22998 * win32/vs6/libgstelements.dsp:
22999 * win32/vs6/libgstreamer.dsp:
23000 Visual Studio 6 project files, and a new common directory.
23003 2005-10-11 Wim Taymans <wim@fluendo.com>
23005 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23006 (gst_base_sink_do_sync), (gst_base_sink_query),
23007 (gst_base_sink_change_state):
23008 * gst/base/gstbasesink.h:
23009 Correctly parse newsegment info.
23011 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23013 * gst/gst.c: (init_post):
23014 split plugin paths correctly
23016 2005-10-11 Wim Taymans <wim@fluendo.com>
23018 * check/gst/gstevent.c: (GST_START_TEST):
23019 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23020 (gst_base_sink_change_state):
23021 * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23022 * gst/base/gstbasetransform.c: (gst_base_transform_event):
23023 * gst/elements/gstfilesink.c: (gst_file_sink_event):
23024 * gst/gstevent.c: (gst_event_new_newsegment),
23025 (gst_event_parse_newsegment):
23027 Added extra flag to newsegment for future API freeze.
23028 Updated check and base elements.
23030 2005-10-11 Julien MOUTTE <julien@moutte.net>
23032 * gst/base/gstcollectpads.c: (gst_collectpads_init),
23033 (gst_collectpads_add_pad), (gst_collectpads_pop),
23034 (gst_collectpads_event), (gst_collectpads_chain):
23035 * gst/base/gstcollectpads.h: Handle EOS correctly.
23037 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23039 * tools/gst-launch.c: (main):
23040 more null protecting
23042 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23044 * gst/gst-i18n-lib.h:
23045 check for ENABLE_NLS, not GETTEXT_PACKAGE
23046 * gst/gstregistry.c: (gst_registry_add_plugin),
23047 (gst_registry_scan_path_level),
23048 (_gst_registry_remove_cache_plugins):
23049 protect possibly NULL strings
23050 * gst/parse/types.h:
23051 config.h already included before
23052 * tools/gst-inspect.c: (main):
23053 sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23054 check for ENABLE_NLS, not GETTEXT_PACKAGE
23055 * tools/gst-launch.c: (main):
23056 check for ENABLE_NLS, not GETTEXT_PACKAGE
23058 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23061 if we don't have glib, fail before testing 2.8
23062 * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23063 fix a leak, should fix plugins-base testsuite
23065 2005-10-11 Andy Wingo <wingo@pobox.com>
23067 * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23068 take the mode we're going to as an arg. Go head and set the mode
23069 and flushing flags now, so that if the activate function starts a
23070 thread all the flags will be in the right state.
23071 (post_activate): Renamed also. Just handle making sure streaming
23072 finishes for the deactivation case, and setting the deactivated
23074 (gst_pad_set_active): Complain loudly if deactivation fails.
23075 (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23076 (gst_pad_activate_push): Adapt to pre/post_activate changes,
23077 remove the terrible hack.
23079 2005-10-11 Wim Taymans <wim@fluendo.com>
23081 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23082 (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23083 (gst_bin_recalc_state), (gst_bin_change_state_func),
23084 (gst_bin_dispose), (bin_bus_handler):
23086 Prepare to make current EOS message queue more generic.
23089 * gst/gstevent.c: (gst_event_new_newsegment),
23090 (gst_event_parse_newsegment):
23092 Rename base to stream_time.
23094 * gst/gstmessage.h:
23097 2005-10-11 Wim Taymans <wim@fluendo.com>
23099 * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23100 (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23101 (gst_bin_change_state_func), (bin_bus_handler):
23103 Work on proper clock selection.
23105 2005-10-11 Edward Hervey <edward@fluendo.com>
23107 * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list):
23108 * libs/gst/controller/gstcontroller.h:
23109 Added GList* version of _remove_properties() in order to be able to wrap
23112 2005-10-11 Wim Taymans <wim@fluendo.com>
23114 * docs/design/part-states.txt:
23117 * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23118 (gst_bin_change_state_func), (bin_bus_handler):
23119 Doc updates. Don't distribute the same clock over and over again.
23125 * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23126 (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23127 (gst_pad_send_event):
23129 Make probe emission threadsafe again.
23130 Register quarks and move _get_name() from utils.
23133 * gst/gstpipeline.c: (gst_pipeline_class_init),
23134 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23135 Only redistribute the clock of it changed.
23137 * gst/gstsystemclock.h:
23142 Moved the _flow_get_name() to GstPad.
23144 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23146 * check/gst-libs/gdp.c: (GST_START_TEST):
23147 * check/gst/gstcaps.c: (GST_START_TEST):
23148 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23149 (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23150 (gst_dp_packet_from_caps):
23151 fix more valgrind warnings before turning up the heat
23153 2005-10-11 Thomas Vander Stichele <thomas at apestaart dot org>
23155 * gst/parse/grammar.y:
23156 some cleanup before the hacking
23158 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23160 * gst/base/gstbasesrc.c: (gst_base_src_query):
23162 * gst/gstutils.c: (gst_guint64_to_gdouble),
23163 (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23165 externalize, basesrc uses it
23166 obviously the implementation needs testing
23168 2005-10-10 Wim Taymans <wim@fluendo.com>
23170 * tests/sched/Makefile.am:
23171 * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23172 (make_pipeline3), (make_pipeline4), (print_elem), (main):
23174 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23176 * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23177 apparently converting from guint64 to double is not implemented
23180 2005-10-10 Wim Taymans <wim@fluendo.com>
23182 * check/Makefile.am:
23183 * check/generic/states.c: (GST_START_TEST):
23184 * check/gst/gstbin.c: (GST_START_TEST):
23185 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23186 * check/states/sinks.c: (GST_START_TEST):
23187 * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23189 Check fixes, use API as stated in design docs, remove hacks.
23191 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23192 (gst_base_sink_change_state):
23193 Catch stopping our task while we're shutting down.
23195 * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23196 (gst_bin_remove_func), (gst_bin_get_state_func),
23197 (gst_bin_recalc_state), (gst_bin_change_state_func),
23200 * gst/gstelement.c: (gst_element_init),
23201 (gst_element_get_state_func), (gst_element_abort_state),
23202 (gst_element_commit_state), (gst_element_lost_state),
23203 (gst_element_set_state), (gst_element_change_state),
23204 (gst_element_change_state_func):
23205 * gst/gstelement.h:
23206 New state change algorithm (see #318116)
23208 * gst/gstpipeline.c: (gst_pipeline_class_init),
23209 (gst_pipeline_init), (gst_pipeline_set_property),
23210 (gst_pipeline_get_property), (do_pipeline_seek),
23211 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23212 * gst/gstpipeline.h:
23213 Remove crude state change hacks.
23216 Remove crude hacks.
23218 * tools/gst-launch.c: (main):
23219 Fixes for state change. Needs some more work to fully use the
23222 2005-10-10 Andy Wingo <wingo@pobox.com>
23224 * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23226 * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23227 this flag, but it's not even in GLib 2.6. Odd. Hack around the
23230 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23232 * gst/gstiterator.c: (gst_iterator_new):
23233 Fix my previous commit: GTypes passed to gst_iterator_new()
23234 can be fundamental types.
23236 2005-10-10 Wim Taymans <wim@fluendo.com>
23238 * gst/gstelement.c: (gst_element_iterate_pad_list),
23239 (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23240 (gst_element_iterate_sink_pads):
23241 Use src/sink pads lists for the respective iterators instead
23244 2005-10-10 Andy Wingo <wingo@pobox.com>
23246 Merged in popt removal + GOption addition patch from Ronald, bug
23249 * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23250 GstElement macros around, remove popt-related symbols, add goption
23253 * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23255 * docs/gst/Makefile.am:
23256 * docs/libs/Makefile.am: No POPT_CFLAGS.
23258 * examples/manual/Makefile.am:
23259 * docs/manual/basics-init.xml: Doc updates with an example.
23261 * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23262 (gst_init), (parse_one_option), (parse_goption_arg):
23263 * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23264 bit of hand merging and debugging to get the GOption stuff working
23267 * tests/Makefile.am:
23268 * tools/Makefile.am:
23269 * tools/gst-inspect.c: (main):
23270 * tools/gst-launch.c: (main):
23271 * tools/gst-run.c: (main):
23272 * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23274 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23276 * gst/gstiterator.c: (gst_iterator_new):
23277 Add assertions to make sure passed GType is likely to really
23278 be a GType (as the compiler won't catch it if the size and
23279 GType arguments get mixed up, see #318447).
23281 2005-10-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
23283 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23285 * gst/gstbin.c: (gst_bin_iterate_sorted):
23286 Pass GType and size arguments to gst_iterator_new() in the right
23287 order (maybe we should make _new() take the GType as first argument
23288 just like _new_list()?) (#318447).
23291 2005-10-10 Wim Taymans <wim@fluendo.com>
23293 * gst/gstelement.c: (gst_element_finalize):
23294 And free the GStaticRecMutex too
23296 2005-10-10 Andy Wingo <wingo@pobox.com>
23298 * gst/gstelement.c (gst_element_init, gst_element_finalize):
23299 Allocate and free the mutex properly.
23301 * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23303 (GstElement): The state_lock is now recursive. Rebuild your
23304 plugins, suckers. Old macros adapted.
23306 * docs/gst/gstreamer-sections.txt: Doc updates.
23309 * gst/gstutils.c (g_static_rec_cond_timed_wait)
23310 (g_static_rec_cond_wait): Ported from state changes patch, while
23311 we wait on bug #317802 to be solved in a well-distributed GLib.
23313 * gst/gstelement.c (gst_element_change_state_func): Renamed from
23314 gst_element_change_state, variable name changes.
23315 (gst_element_change_state): Split out of gst_element_set_state in
23316 preparation for the state change merge. Doesn't pay attention to
23317 the 'transition' argument.
23318 (gst_element_set_state): Updates, hopefully purely cosmetic.
23319 (gst_element_sync_state_with_parent): MT-safety. Ported from the
23320 state change patch.
23321 (gst_element_get_state_func): Renamed from get_state, cosmetic
23324 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23326 * gst/elements/gstelements.c:
23327 * win32/GStreamer.vcproj:
23329 * win32/dirent.c: (_tseekdir):
23330 * win32/gst-inspect.vcproj:
23331 * win32/gst-launch.vcproj:
23332 * win32/gstconfig.h:
23333 * win32/gstelements.vcproj:
23334 * win32/gstenumtypes.c: (gst_object_flags_get_type):
23335 * win32/gstreamer.def:
23336 * win32/msvc71.sln:
23337 updates for the win32 build (patch from Sebastien Moutte)
23339 2005-10-10 Andy Wingo <wingo@pobox.com>
23341 * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23342 gst_bin_get_state, cleaned up (but no logic changes).
23343 (bin_element_is_sink): Comment updates.
23344 (sink_iterator_filter): Remove needless cast.
23345 (gst_bin_iterate_sinks): Doc update.
23346 (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23347 cleaned up (but no logic changes).
23349 * check/states/sinks.c (test_src_sink): Cleanups from the state
23351 (test_livesrc_sink): Sync on the state.
23353 * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23354 the state change patch.
23356 * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23359 * check/gst/gstbin.c: Merge in some style fixes and additional
23360 checks from Wim's state change patch.
23362 2005-10-10 Tim-Philipp Müller <tim at centricular dot net>
23364 * gst/base/gsttypefindhelper.c: (helper_find_peek),
23365 (gst_type_find_helper):
23366 Check whether we have the requested data already in our list of
23367 cached buffers before pulling a new buffer; also make the buffer
23368 list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23370 2005-10-10 Thomas Vander Stichele <thomas at apestaart dot org>
23375 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23376 don't use long long, it's not portable. Replacing with
23377 gint64 seems to work; let's hope no skeletons fall out of the closet.
23379 2005-10-10 Andy Wingo <wingo@pobox.com>
23381 * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23383 2005-10-09 Stefan Kost <ensonic@users.sf.net>
23385 * docs/gst/gstreamer-sections.txt:
23390 * gst/gstmessage.c: (gst_message_parse_state_changed):
23393 more docs, fix compilation
23395 2005-10-09 Philippe Khalaf <burger@speedy.org>
23396 * gst/gstmessage.c:
23397 Fixed a few forgotten variables on previous commit
23399 2005-10-09 Tim-Philipp Müller <tim at centricular dot net>
23401 * gst/base/gsttypefindhelper.c: (helper_find_peek):
23402 Fix evil typefind crasher: getrange() might return a short
23403 buffer at the end of a file, but gst_type_find_peek() must
23404 either return the full data as requested or NULL, but
23405 never a short buffer.
23407 2005-10-09 Thomas Vander Stichele <thomas at apestaart dot org>
23409 * gst/gstmessage.c: (gst_message_new_state_changed),
23410 (gst_message_parse_state_changed):
23411 * gst/gstmessage.h:
23412 don't use "new", it's a C++ keyword
23414 2005-10-08 Wim Taymans <wim@fluendo.com>
23416 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23417 * gst/gstelement.c: (gst_element_post_message):
23418 * gst/gstpipeline.c: (gst_pipeline_change_state):
23419 Small docs and debug updates.
23421 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23423 * docs/gst/gstreamer-sections.txt:
23424 * gst/gstelementfactory.c:
23426 * gst/gsttaglist.c:
23429 2005-10-08 Wim Taymans <wim@fluendo.com>
23431 * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23432 (gst_bin_dispose), (bin_bus_handler):
23433 Fix typos, add comments.
23434 Clear EOS list when going to PAUSED from any direction and do it
23435 in a threadsafe way.
23436 Get base time in a threadsafe way too.
23437 Fix confusing debug in the change_state function.
23438 Various other small cleanups.
23440 * gst/gstelement.c: (gst_element_post_message):
23441 Fix very verbose bus posting code.
23443 * gst/gstpipeline.c: (gst_pipeline_class_init),
23444 (gst_pipeline_set_property), (gst_pipeline_get_property),
23445 (gst_pipeline_change_state):
23446 Small ARG_ -> PROP_ cleanup
23448 2005-10-08 Wim Taymans <wim@fluendo.com>
23450 * gst/gstbin.c: (is_eos), (bin_bus_handler):
23451 Do a less CPU demanding EOS check because we can.
23453 2005-10-08 Wim Taymans <wim@fluendo.com>
23455 * libs/gst/dataprotocol/dataprotocol.c:
23456 (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23457 (gst_dp_packet_from_event):
23458 * libs/gst/dataprotocol/dataprotocol.h:
23459 * libs/gst/dataprotocol/dp-private.h:
23460 It's about time we bump the version number.
23461 Since event types don't fit in the guint8 anymore describing
23462 the payload type, make payload type 16 bits wide.
23464 2005-10-08 Wim Taymans <wim@fluendo.com>
23466 * docs/design/part-TODO.txt:
23467 * docs/design/part-clocks.txt:
23468 * docs/design/part-events.txt:
23469 * docs/design/part-gstbin.txt:
23470 * docs/design/part-gstelement.txt:
23471 * docs/design/part-gstpipeline.txt:
23472 * docs/design/part-live-source.txt:
23473 * docs/design/part-messages.txt:
23474 * docs/design/part-overview.txt:
23475 * docs/design/part-states.txt:
23478 2005-10-08 Wim Taymans <wim@fluendo.com>
23482 Fix event quark registration.
23483 Add some space between events so we can insert them in the
23486 2005-10-08 Wim Taymans <wim@fluendo.com>
23488 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23489 (gst_base_sink_handle_buffer):
23490 Better log message.
23493 * gst/gstelement.h:
23496 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23497 (gst_queue_set_property), (gst_queue_get_property):
23499 Remove old unused properties.
23501 2005-10-08 Stefan Kost <ensonic@users.sf.net>
23502 * docs/gst/gstreamer-sections.txt:
23503 * gst/gstmessage.c:
23504 * gst/gstmessage.h:
23505 * gst/gstminiobject.c:
23506 * gst/gstminiobject.h:
23510 lots of new docs and doc fixes
23512 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23514 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23516 * gst/gstregistry.c: (gst_registry_lookup_locked),
23517 (gst_registry_scan_path_level):
23518 * gst/gstregistryxml.c: (load_plugin):
23519 Only ever load one plugin for a given plugin basename.
23520 This ensures correct overriding of GST_PLUGIN_PATH over
23521 GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23522 system installed plugins.
23524 2005-10-08 Wim Taymans <wim@fluendo.com>
23526 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23527 (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23528 Prepare for doing QOS.
23530 2005-10-08 Wim Taymans <wim@fluendo.com>
23532 * check/gst/gstbin.c: (GST_START_TEST):
23533 * check/pipelines/cleanup.c: (GST_START_TEST):
23534 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23535 Allow new clock message too.
23537 2005-10-08 Wim Taymans <wim@fluendo.com>
23539 * gst/gstmessage.c: (gst_message_new_error),
23540 (gst_message_new_warning), (gst_message_new_tag),
23541 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23542 (gst_message_new_clock_lost), (gst_message_new_new_clock),
23543 (gst_message_new_segment_start), (gst_message_new_segment_done),
23544 (gst_message_parse_state_changed),
23545 (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23546 (gst_message_parse_new_clock):
23547 * gst/gstmessage.h:
23548 Also carry the clock in question.
23550 2005-10-08 Wim Taymans <wim@fluendo.com>
23552 * gst/gstmessage.c: (gst_message_new_custom),
23553 (gst_message_new_eos), (gst_message_new_error),
23554 (gst_message_new_warning), (gst_message_new_tag),
23555 (gst_message_new_state_changed), (gst_message_new_clock_provide),
23556 (gst_message_new_new_clock), (gst_message_new_segment_start),
23557 (gst_message_new_segment_done), (gst_message_parse_state_changed),
23558 (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23559 * gst/gstmessage.h:
23561 Added clock related messages.
23563 * gst/gstpipeline.c: (gst_pipeline_change_state):
23564 Post message when the clock changed.
23566 * tools/gst-launch.c: (event_loop):
23569 2005-10-08 Tim-Philipp Müller <tim at centricular dot net>
23571 * tools/gst-inspect.c: (print_element_properties_info):
23572 Can't pass NULL strings to g_print() on windows.
23574 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23576 * docs/Makefile.am:
23577 * docs/gst/Makefile.am:
23578 * docs/gst/gstreamer-docs.sgml:
23579 * docs/gst/running.xml:
23580 * docs/version.entities.in:
23581 add a chapter on running GStreamer.
23582 document GST_DEBUG and GST_PLUGIN* env vars
23584 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23589 remove PLUGINS_BUILDDIR stuff
23590 * gst/gst.c: (init_post):
23591 reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23593 remove, it was condescending and not needed
23595 2005-10-08 Wim Taymans <wim@fluendo.com>
23597 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23598 (gst_base_sink_handle_object), (gst_base_sink_event),
23599 (gst_base_sink_wait), (gst_base_sink_handle_event),
23600 (gst_base_sink_change_state):
23601 * gst/base/gstbasesink.h:
23602 Repost EOS message while going to PLAYING if still EOS.
23603 Make sure that when receiving a FLUSH_START we don't attempt
23604 to sync on the clock anymore.
23606 2005-10-08 Wim Taymans <wim@fluendo.com>
23608 * tools/gst-launch.c: (event_loop):
23609 Better message printout.
23611 2005-10-08 Wim Taymans <wim@fluendo.com>
23613 * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23614 (gst_bin_child_proxy_get_children_count):
23615 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23616 (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23617 (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23618 (gst_child_proxy_set_valist):
23619 * gst/parse/grammar.y:
23620 Make ChildProxy threadsafe and fix mem leaks.
23622 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23624 * gst/gst.c: (init_post):
23625 debug the GST_PLUGIN_ env vars
23627 2005-10-08 Wim Taymans <wim@fluendo.com>
23629 * check/gst/gstbin.c: (GST_START_TEST):
23630 * check/gst/gstmessage.c: (GST_START_TEST):
23631 * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23632 * gst/gstelement.c: (gst_element_commit_state),
23633 (gst_element_lost_state):
23634 * gst/gstmessage.c: (gst_message_new_state_changed),
23635 (gst_message_parse_state_changed):
23636 * gst/gstmessage.h:
23637 * tools/gst-launch.c: (event_loop):
23638 Added extra field to STATE_CHANGE message with the pending
23639 state, which will be different from the new state soon.
23641 2005-10-08 Wim Taymans <wim@fluendo.com>
23643 * gst/gstbus.c: (gst_bus_pop):
23645 * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23646 Small cleanups and doc updates.
23648 2005-10-08 Thomas Vander Stichele <thomas at apestaart dot org>
23650 * gst/gst.c: (init_pre):
23651 * gst/gstbin.c: (gst_bin_add_func):
23652 log distributing clocks and base time
23653 * gst/gstregistry.c: (gst_registry_add_plugin),
23654 (gst_registry_scan_path_level), (gst_registry_scan_path):
23655 clean up the debugging output a little
23656 * gst/gstutils.c: (gst_element_state_get_name):
23657 warn about a memleak (I've actually seen this be used, though
23658 it was probably a bug)
23660 2005-10-07 Wim Taymans <wim@fluendo.com>
23662 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23663 (gst_base_src_init), (gst_base_src_default_newsegment),
23664 (gst_base_src_newsegment), (gst_base_src_do_seek),
23665 (gst_base_src_loop), (gst_base_src_start):
23666 * gst/base/gstbasesrc.h:
23667 Make the newsegment event customizable by subclasses.
23669 2005-10-07 Wim Taymans <wim@fluendo.com>
23671 * gst/gstevent.c: (gst_event_new_buffersize),
23672 (gst_event_parse_buffersize):
23674 New event for future idea.
23676 2005-10-07 Andy Wingo <wingo@pobox.com>
23678 * gst/gstelement.c (gst_element_post_message): Doc update.
23680 * docs/gst/gstreamer-sections.txt: Update.
23682 * gst/gstmessage.c (gst_message_new_application): Made into a
23683 function like honest API calls.
23684 (gst_message_new_element): New message type.
23686 * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23688 * check/elements/fakesrc.c (test_no_preroll): New check, checks
23689 that setting a live fakesrc to PAUSED returns NO_PREROLL both
23692 * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23693 NO_PREROLL from gst_element_change_state to fall through.
23695 2005-10-07 Wim Taymans <wim@fluendo.com>
23697 * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23698 (gst_ghost_pad_do_activate_push):
23699 Activating a ghostpad with no internal pad in push mode
23702 2005-10-07 Thomas Vander Stichele <thomas at apestaart dot org>
23705 there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23706 Fixes compilation on Windows.
23708 2005-10-07 Michael Smith <msmith@fluendo.com>
23710 * tools/gst-inspect.c:
23711 Print out feature and plugin count at the end when printing out
23714 2005-10-04 Michael Smith <msmith@fluendo.com>
23716 * gst/gsterror.c: (_gst_stream_errors_init):
23717 Add another error string used in a few existing plugins.
23720 * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23721 * tools/gst-inspect.c: (print_element_info):
23722 When a feature disappears from a plugin (and the feature exists in
23723 the cached registry file), things went horribly wrong. This isn't a
23724 complete fix, we should actually be removing the 'missing' features
23725 from the features list when we load the actual plugin. That's not
23728 2005-10-04 Johan Dahlin <johan@gnome.org>
23730 * check/gst/gstiterator.c: (GST_START_TEST):
23731 * gst/gstbin.c: (gst_bin_iterate_elements),
23732 (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23733 * gst/gstelement.c: (gst_element_iterate_pads):
23734 * gst/gstformat.c: (gst_format_iterate_definitions):
23735 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23736 (gst_iterator_new_list), (gst_iterator_filter):
23737 * gst/gstiterator.h:
23738 * gst/gstquery.c: (gst_query_type_iterate_definitions):
23739 Add a GType to GstIterator, update callsites and tests.
23741 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23743 * gst/gstpad.c: (gst_pad_event_default_dispatch):
23744 give events a chance to be handled by event probes when the pad
23747 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23749 * gst/gstevent.c: (gst_event_type_get_name),
23750 (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23752 add string representations for event types
23754 2005-10-06 Wim Taymans <wim@fluendo.com>
23756 * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23757 Don't use NULL pointers.
23759 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23761 * gst/gst_private.h:
23763 * gst/gstelement.c:
23765 * gst/gstpluginfeature.c:
23766 widen the debug category in output to fit the biggest one we have
23767 add a bus category and use it
23768 play with the colors
23769 fix up some categories
23771 2005-10-06 Thomas Vander Stichele <thomas at apestaart dot org>
23773 * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23774 add push activation of sink ghost pads.
23775 Andye, please verify
23777 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23779 * gst/gstutils.c: (gst_element_link_pads):
23780 fix a bug in the case where neither element has a pad
23781 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23782 add a test for that case
23784 2005-10-05 Thomas Vander Stichele <thomas at apestaart dot org>
23786 * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23787 emit have-data before checking for peers. This allows
23788 for probe handlers to connect elements. This helps autopluggers.
23789 * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23791 add six checks, linked/unlinked with no/true/false probe
23793 2005-10-04 Wim Taymans <wim@fluendo.com>
23795 * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23796 (gst_fake_sink_event), (gst_fake_sink_preroll),
23797 (gst_fake_sink_render), (gst_fake_sink_change_state):
23798 * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23799 (gst_fake_src_get_property), (gst_fake_src_create),
23800 (gst_fake_src_stop):
23801 * gst/elements/gstidentity.c: (gst_identity_stop):
23802 Protect last_message with lock.
23804 2005-10-04 Edward Hervey <edward@fluendo.com>
23807 Added precision in the comments for GST_FORMAT_DEFAULT
23809 2005-10-04 Tim-Philipp Müller <tim at centricular dot net>
23811 * tools/gst-launch.c: (main):
23812 Don't try to run erroneous pipelines.
23814 2005-10-04 Julien MOUTTE <julien@moutte.net>
23816 * gst/gstbus.c: We don't need this header.
23818 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23821 back to development
23823 === release 0.9.3 ===
23825 2005-10-03 Thomas Vander Stichele <thomas at apestaart dot org>
23829 Releasing 0.9.3, "Unregistered"
23831 2005-10-03 Andy Wingo <wingo@pobox.com>
23833 * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23834 whereby calling a pad's activatepush() function can start a thread
23835 that starts to push or pull before the pad gets the FLUSHING flag
23836 unset. Hack around it by holding the stream lock until the flag is
23837 set. Need to replace this with a proper solution. Together with
23838 the ghost pad fixes, this fixes mp3 playing/tagreading.
23840 * docs/design/part-gstghostpad.txt: Add a note about activation of
23841 proxy pads outside of ghost pads.
23843 * gst/gstghostpad.c: Implement the ghost pad activation design.
23845 2005-10-02 Andy Wingo <wingo@pobox.com>
23847 * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23848 It is volatile, after all.
23850 * docs/design/part-gstghostpad.txt: Flesh out activation with
23853 * gst/base/gstbasesrc.c (gst_base_src_init): Use
23856 2005-10-02 Tim-Philipp Müller <tim at centricular dot net>
23859 Fix (unused) AM_CONDITIONAL tests.
23861 2005-10-01 Alessandro Decina <alessandro at nnva dot org>
23863 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
23865 * gst/gstutils.c: (gst_pad_query_convert):
23866 Add assertion that makes sure src_val is >=0, just like
23867 gst_query_new_convert() has. (#315895)
23869 2005-09-30 Edward Hervey <edward@fluendo.com>
23871 * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23872 Let's not iterate pads we're not interested in, it avoids getting
23873 sky-high refcounts on sinkpad.
23875 2005-09-30 Wim Taymans <wim@fluendo.com>
23877 * gst/gstelement.c: (gst_element_set_state),
23878 (gst_element_change_state):
23879 Small tweak, element in ASYNC remains ASYNC.
23881 2005-09-30 Wim Taymans <wim@fluendo.com>
23883 * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23884 Only error is an error.
23886 * gst/gstbin.c: (gst_bin_change_state):
23889 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23890 Also call pad_block in pad alloc.
23892 * gst/gstutils.c: (gst_flow_get_name):
23895 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23897 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23898 (gst_base_src_get_range):
23899 Fix documentation typos. Add some more debug info.
23901 2005-09-29 David Schleef <ds@schleef.org>
23903 * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23904 more end-user friendly.
23905 * tools/gst-inspect.c: (main): Check if command-line argument is
23906 a file and attempt to load that file as a plugin.
23908 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23910 * check/gst/gstbin.c:
23911 * check/states/sinks.c:
23912 fix tests for the new warning
23913 * check/gst/gstpipeline.c:
23914 add a test for pipeline and bus interaction
23915 * gst/gstelement.c:
23916 elements should be NULL if they get disposed; add a warning if not
23918 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23921 for 2.6 refcounting, make debug log more correct by printing
23922 the actual refcounts at the time of swap (Wim)
23924 2005-09-29 Andy Wingo <wingo@pobox.com>
23926 * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23927 removes signal watches previously added via
23928 gst_bus_add_signal_watch.
23929 (gst_bus_add_signal_watch): Don't return the source id, just store
23930 it on the bus if there wasn't an id already.
23932 * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23933 add_signal_watch and remove_signal_watch.
23935 2005-09-29 Edward Hervey <edward@fluendo.com>
23937 * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
23938 Better if we actually iterate the list :)
23940 2005-09-29 Wim Taymans <wim@fluendo.com>
23942 * check/gst/gstbin.c: (GST_START_TEST):
23943 Change for new bus API.
23945 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23946 (send_messages), (GST_START_TEST), (gstbus_suite):
23947 Change for new bus signal API.
23949 * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23950 (gst_bus_source_prepare), (gst_bus_source_check),
23951 (gst_bus_create_watch), (gst_bus_add_watch_full),
23952 (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23953 (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23955 Remove support for multiple GSources operating on different
23956 message types as it is too complex and unneeded when using
23958 Added support for receiving signals from the bus.
23960 2005-09-29 Thomas Vander Stichele <thomas at apestaart dot org>
23962 * docs/libs/tmpl/gstdataprotocol.sgml:
23963 * docs/manual/advanced-dataaccess.xml:
23964 * gst/elements/gstcapsfilter.c:
23966 rename filter-caps to caps property
23968 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23970 * gst/gstvalue.c: (gst_value_deserialize_fraction):
23971 More robust fraction string parsing.
23973 * docs/pwg/appendix-porting.xml:
23974 Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23976 2005-09-29 Tim-Philipp Müller <tim at centricular dot net>
23978 * gst/gstcaps.c: (gst_caps_do_simplify):
23979 Thou shalt not free a structure and then continue using it
23980 in the next loop iteration.
23982 * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23984 Add test case for caps simplification.
23986 2005-09-29 Wim Taymans <wim@fluendo.com>
23988 * check/gst/gstbin.c: (GST_START_TEST):
23991 2005-09-29 Wim Taymans <wim@fluendo.com>
23993 * check/gst/gstbin.c: (GST_START_TEST):
23996 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23997 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23998 (find_element), (gst_bin_sort_iterator_next),
23999 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24000 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24001 (gst_bin_change_state), (gst_bin_dispose):
24002 A bin does not have a bus, it gets the bus from the parent.
24004 * gst/gstelement.c: (gst_element_requires_clock),
24005 (gst_element_provides_clock), (gst_element_is_indexable),
24006 (gst_element_is_locked_state), (gst_element_change_state),
24007 (gst_element_set_bus_func):
24010 * gst/gstpipeline.c: (gst_pipeline_class_init),
24011 (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24012 The pipeline provides a bus.
24014 2005-09-28 Johan Dahlin <johan@gnome.org>
24016 * gst/gstmessage.c (gst_message_parse_state_changed): Use
24017 gst_structure_get_enum instead of gst_structure_get_int
24019 * gst/gststructure.c (gst_structure_get_enum): Impl.
24021 * gst/gststructure.h (gst_structure_get_enum): Add
24023 * docs/gst/gstreamer-sections.txt: Ditto
24025 * gst/gstmessage.c (gst_message_new_state_changed): Use
24026 GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24027 which does introspection.
24028 Reviewed by Christian Schaller
24030 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24032 * gst/gstinfo.c: (gst_debug_log_default):
24033 don't do dummy g_strdup()s
24034 * libs/gst/controller/gstcontroller.c:
24035 (on_object_controlled_property_changed),
24036 (gst_controlled_property_new), (gst_controller_new_valist),
24037 (gst_controller_new_list),
24038 (gst_controller_remove_properties_valist), (gst_controller_set),
24039 (gst_controller_get), (gst_controller_sync_values),
24040 (gst_controller_get_value_array), (_gst_controller_class_init),
24041 (gst_controller_get_type):
24042 * libs/gst/controller/gstcontroller.h:
24043 * libs/gst/controller/gstinterpolation.c:
24044 (gst_controlled_property_find_timed_value_node):
24045 convert // to /**/ comments
24047 2005-09-28 Wim Taymans <wim@fluendo.com>
24049 * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24050 (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24051 (gst_bus_sync_signal_handler):
24053 Added async-message and sync-message signals to the bus.
24054 Added helper BusFunc to emit signals for all posted messages.
24056 * gst/gstmessage.c: (gst_message_type_get_name),
24057 (gst_message_type_to_quark), (gst_message_get_type):
24058 * gst/gstmessage.h:
24059 Register quarks for message names.
24061 2005-09-28 Stefan Kost <ensonic@users.sf.net>
24063 * docs/libs/gstreamer-libs-sections.txt:
24064 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24065 (gst_controller_new_list):
24066 * libs/gst/controller/gstcontroller.h:
24067 added another constructor for language bindings
24069 2005-09-28 Thomas Vander Stichele <thomas at apestaart dot org>
24071 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24075 * gst/gstinfo.c: (_gst_debug_init):
24076 slightly more readable color for refcount debugging
24078 2005-09-28 Wim Taymans <wim@fluendo.com>
24080 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24081 (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24082 (find_element), (gst_bin_sort_iterator_next),
24083 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24084 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24085 (gst_bin_change_state), (gst_bin_dispose):
24086 Small doc fixes. get_clock -> provide_clock.
24088 * gst/gstelement.c: (gst_element_class_init),
24089 (gst_element_provides_clock), (gst_element_provide_clock),
24090 (gst_element_get_clock), (gst_element_commit_state),
24091 (gst_element_lost_state):
24092 * gst/gstelement.h:
24093 Make get/set_clock() symetric. Add provide_clock vmethod since
24094 that is actually what this function does.
24096 * gst/gstpipeline.c: (gst_pipeline_class_init),
24097 (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24098 (gst_pipeline_get_clock):
24099 get_clock -> provide_clock.
24101 2005-09-28 Andy Wingo <wingo@pobox.com>
24103 * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24104 lieu of real docs...
24106 * gst/elements/gstfdsrc.c: Cleaned up a bit.
24108 2005-09-28 Tim-Philipp Müller <tim at centricular dot net>
24110 * gst/elements/gstcapsfilter.c:
24111 * gst/elements/gstfakesink.c:
24112 * gst/elements/gstfakesrc.c:
24113 * gst/elements/gstfdsink.c:
24114 * gst/elements/gstfdsrc.c:
24115 * gst/elements/gstfilesink.c:
24116 * gst/elements/gstfilesrc.c:
24117 * gst/elements/gstidentity.c:
24118 * gst/elements/gsttee.c:
24119 * gst/elements/gsttypefindelement.c:
24120 Make element details static.
24122 2005-09-28 Wim Taymans <wim@fluendo.com>
24124 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24125 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24126 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24127 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24128 (gst_bin_change_state), (gst_bin_dispose):
24129 Some documentation updates.
24130 Clean up dispose handlers.
24132 * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24133 * gst/gstpad.c: (gst_pad_dispose):
24134 Clean up dispose handler.
24136 * gst/gstpipeline.c: (gst_pipeline_change_state):
24137 Removed spurious UNLOCK.
24139 2005-09-27 Stefan Kost <ensonic@users.sf.net>
24141 * docs/gst/gstreamer-sections.txt:
24142 * gst/base/gstbasesrc.h:
24143 * gst/gstelement.h:
24147 * gst/gstpipeline.c:
24148 * gst/gstpipeline.h:
24151 added two new functions to the docs
24152 documents all undocumented GstXXXFlags
24153 completed some incomplete docs
24155 2005-09-27 Thomas Vander Stichele <thomas at apestaart dot org>
24157 * gst/gstbin.c: (gst_bin_dispose):
24158 * gst/gstelement.c: (gst_element_dispose):
24159 remove now useless and leaky resurrection code in dispose
24160 * gst/base/gstbasesrc.c: (gst_base_src_init):
24161 * gst/gstelementfactory.c: (gst_element_factory_create):
24162 * gst/gstobject.c: (gst_object_set_parent):
24165 2005-09-27 Wim Taymans <wim@fluendo.com>
24167 * docs/design/part-TODO.txt:
24170 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24171 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24172 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24173 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24174 (gst_bin_change_state):
24175 * gst/gstelement.h:
24176 Remove element variable, we keep element info in the iterator now.
24178 2005-09-27 Andy Wingo <wingo@pobox.com>
24180 * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24183 2005-09-27 Wim Taymans <wim@fluendo.com>
24185 * check/gst/gstbin.c: (GST_START_TEST):
24186 Enable check that works now.
24188 * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24189 (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24190 (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24191 (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24192 (gst_bin_change_state):
24194 Redid the state change algorithm using a topological sort algo.
24195 Handles all cases correctly.
24196 Exposed iterator for state change order.
24198 * gst/gstelement.h:
24199 Temp storage for state changes. Need to get rid of this soon.
24201 2005-09-27 Wim Taymans <wim@fluendo.com>
24203 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24204 * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24205 (link_fold_func), (gst_pad_proxy_setcaps):
24206 Leak fixes, the fold functions need to unref the passed object and
24207 _get_parent_*() returns ref to parent.
24209 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24211 * check/gst/gstbuffer.c: (test_make_writable):
24212 Plug leak in test case and fix 'make check-valgrind'
24214 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24216 * gst/gstbuffer.c: (gst_subbuffer_init):
24217 Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24218 works correctly in all circumstances (we could have just copied
24219 the parent buffer's readonly flag, but conceptually it seems
24220 cleaner to mark all subbuffers as read-only). (based on patch
24221 by Alessandro Decina, #314710).
24223 * check/gst/gstbuffer.c: (create_read_only_buffer),
24224 (test_make_writable), (test_subbuffer_make_writable),
24226 Add some tests for gst_buffer_make_writable().
24228 2005-09-27 Wim Taymans <wim@fluendo.com>
24230 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24231 use gst_object_has_ancestor().
24233 * gst/gstobject.c: (gst_object_has_ancestor):
24235 gst_object_has_ancestor() copied from gstbin.c as it is a
24238 * tests/instantiate/create.c: (create_all_elements):
24239 * tests/lat.c: (handoff_src), (handoff_sink):
24240 * tests/sched/runxml.c: (main):
24241 * tests/seeking/seeking1.c: (main):
24242 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24244 Fix compilation of some tests.
24246 2005-09-27 Tim-Philipp Müller <tim at centricular dot net>
24249 Remove comment. GST_TYPE_G_ERROR is here to stay,
24250 G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24251 (#316961, #300610).
24253 2005-09-26 Wim Taymans <wim@fluendo.com>
24255 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24256 Added check that shows error in state change order.
24258 2005-09-26 Wim Taymans <wim@fluendo.com>
24260 * gst/gstbin.c: (gst_bin_change_state):
24261 Make state change function use 3 queues again, we were
24262 adding elements in the wrong order.
24264 * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24267 * gst/gstpad.c: (gst_pad_dispose):
24268 Added some debug info first.
24270 2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
24272 * docs/design/draft-push-pull.txt:
24273 * docs/design/part-events.txt:
24274 * docs/design/part-overview.txt:
24275 * docs/design/part-scheduling.txt:
24276 Replace all _pull_region() with _pull_range()
24278 2005-09-26 Andy Wingo <wingo@pobox.com>
24280 * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24282 * check/gst-libs/controller.c: Update for controller api change.
24285 * tests/Makefile.am:
24286 * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24287 over by GLib bug 118439.
24289 * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24290 routines to a function.
24292 * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24294 * libs/gst/controller/gsthelper.c:
24295 * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24296 (gst_object_sync_values): Renamed from sink_values. Ugh.
24298 * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24300 * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24301 Renamed from controller_key, as it is exported.
24303 * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24305 2005-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
24310 * gst/gstpadtemplate.h:
24313 * gst/gstqueryutils.c:
24314 * gst/gstqueryutils.h:
24315 remove queryutils headers after moving the two used functions
24316 to gstquery. also fixes build problem for gstsiddec
24318 2005-09-26 Michael Smith <msmith@fluendo.com>
24320 * tools/gst-launch.1.in:
24321 Correct documentation in manpage of debug syntax
24323 2005-09-26 Wim Taymans <wim@fluendo.com>
24325 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24326 (gst_base_src_is_seekable), (gst_base_src_change_state):
24327 Some more debugging info.
24329 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24331 * docs/gst/gstreamer-sections.txt:
24332 * gst/base/gstbasetransform.h:
24336 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24338 * docs/gst/.cvsignore:
24339 * docs/gst/tmpl/.cvsignore:
24340 * docs/gst/tmpl/gstpipeline.sgml:
24341 * docs/gst/tmpl/gstplugin.sgml:
24342 * gst/gstpipeline.c:
24345 inlined the last two docs files
24346 removed the tmpl directory from cvs (no more conflicts here!)
24348 2005-09-25 Stefan Kost <ensonic@users.sf.net>
24350 * docs/gst/gstreamer-sections.txt:
24351 * docs/gst/tmpl/.cvsignore:
24352 * docs/gst/tmpl/gstpad.sgml:
24353 * docs/gst/tmpl/gstpadtemplate.sgml:
24355 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24356 (gst_pad_finalize), (gst_pad_set_pad_template):
24358 * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24359 (gst_pad_template_class_init), (gst_pad_template_init),
24360 (gst_pad_template_dispose), (name_is_valid),
24361 (gst_static_pad_template_get), (gst_pad_template_new),
24362 (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24363 (gst_pad_template_pad_created):
24364 * gst/gstpadtemplate.h:
24365 inlined two more docs
24366 factored gstpadtemplate out of gstpad
24368 2005-09-24 Tim-Philipp Müller <tim at centricular dot net>
24370 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24371 (test_children_state_change_order_semi_sink):
24372 Fix test case: we can't rely on a fixed state change order when
24373 going from READY => PAUSED because the sink might commit its
24374 new state first when the first buffer created by the source
24375 reaches the sink before the source has finished its change state.
24376 (Test case still fails at times, see #316856, comment 5 onwards)
24378 2005-09-24 Wim Taymans <wim@fluendo.com>
24380 * docs/design/part-events.txt:
24381 * docs/design/part-gstbus.txt:
24382 * docs/design/part-gstpipeline.txt:
24383 * docs/design/part-messages.txt:
24384 * docs/design/part-overview.txt:
24385 * docs/design/part-segments.txt:
24389 * gst/gstelement.c:
24392 * gst/gstiterator.c:
24393 Various documentation updates.
24395 2005-09-24 Thomas Vander Stichele <thomas at apestaart dot org>
24398 Well, that's embarassing. Luckily we weren't using
24399 GST_CLOCK_DIFF anywhere.
24401 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24403 * common/gtk-doc.mak:
24404 don't fail on building XML, FC4 slave shows a bunch of doc
24405 missing bits that I don't get
24407 * gst/gstpipeline.c:
24408 * gst/gststructure.c:
24411 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24413 * docs/design/part-gstbin.txt:
24414 * docs/design/part-gstbus.txt:
24416 Add blurb about how the bus goes into flushing mode and
24417 drops all messages when its bin goes from READY into NULL
24420 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24422 * docs/gst/gstreamer-sections.txt:
24423 * gst/gststructure.c: (gst_structure_get_clock_time):
24424 * gst/gststructure.h:
24425 add a method to get a GstClockTime out of a structure
24427 2005-09-23 Tim-Philipp Müller <tim at centricular dot net>
24429 * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24430 (test_children_state_change_order_semi_sink), (gst_bin_suite):
24431 Added test to check state change order in bins (can still be made
24432 to fail here under heavy disk load; bails out with 'Push on pad
24433 fakesink:sink0, but it was not activated in push mode').
24435 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24436 Fix state change order when there is only a semi sink (#316856)
24438 * gst/gstbus.c: (gst_bus_class_init):
24439 Use _class_peek_parent(), not _class_ref(); fix docs to say
24440 'default main context' instead of 'mainloop' where that is
24443 * gst/gstelement.c: (gst_element_commit_state),
24444 (gst_element_set_state):
24445 Fix typos in debug messages
24447 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24450 * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24451 * gst/gstpluginfeature.c:
24453 various doc updates
24454 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24455 change an assert into an error until it gets fixed properly
24457 2005-09-23 Stefan Kost <ensonic@users.sf.net>
24459 * docs/gst/gstreamer-sections.txt:
24460 * docs/gst/tmpl/.cvsignore:
24461 * docs/gst/tmpl/gstelement.sgml:
24462 * docs/gst/tmpl/gstinfo.sgml:
24463 * docs/gst/tmpl/gstobject.sgml:
24464 * gst/gstelement.c:
24465 * gst/gstelement.h:
24468 * gst/gstobject.c: (gst_object_class_init):
24470 inlined 3 more biiiig doc files and added some missing docs on the fly
24472 2005-09-23 Thomas Vander Stichele <thomas at apestaart dot org>
24474 * check/gst/.cvsignore:
24475 * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24476 * gst/gstregistryxml.c: (load_plugin),
24477 (gst_registry_xml_save_plugin):
24478 put back source in registry. add checks for find_plugin.
24479 * testsuite/states/bin.c: (assert_state), (empty_bin),
24480 (test_adding_one_element), (main):
24481 * testsuite/states/locked.c: (main):
24482 some compile/run fixes
24484 2005-09-22 Thomas Vander Stichele <thomas at apestaart dot org>
24486 * check/gst/gstvalue.c: (GST_START_TEST):
24487 fix leaks in the test itself
24489 2005-09-22 Wim Taymans <wim@fluendo.com>
24491 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24492 (gst_base_sink_send_event), (gst_base_sink_peer_query),
24493 (gst_base_sink_query):
24494 Prepare for more accurate position reporting and query
24497 * gst/gstelement.c: (gst_element_send_event),
24498 (gst_element_set_state):
24501 2005-09-22 Wim Taymans <wim@fluendo.com>
24503 * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24504 (gst_query_parse_segment):
24506 More documentation.
24507 Add segment query for future use.
24509 2005-09-22 Wim Taymans <wim@fluendo.com>
24511 * gst/gstbin.c: (gst_bin_add_func):
24512 Some more debug info.
24514 * gst/gstelement.c: (gst_element_send_event):
24515 Simplify send_event
24517 * gst/gstelement.h:
24518 Don't know how flags got broken.
24523 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24525 * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24526 Add simplistic test suite for GST_TYPE_DATE serialisation and
24529 2005-09-22 Tim-Philipp Müller <tim at centricular dot net>
24531 * docs/gst/gstreamer-sections.txt:
24532 * gst/gststructure.c: (gst_structure_set_valist),
24533 (gst_structure_get_date):
24534 * gst/gststructure.h:
24535 * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24536 (gst_date_copy), (gst_value_compare_date),
24537 (gst_value_serialize_date), (gst_value_deserialize_date),
24538 (gst_value_transform_date_string),
24539 (gst_value_transform_string_date), (_gst_value_initialize):
24541 Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24542 bunch of utility functions along with a hack that checks that
24543 developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24544 is required. Part of the grand scheme in #170777.
24546 2005-09-22 Andy Wingo <wingo@pobox.com>
24548 * gst/gstconfig.h.in: Psych out gtk-doc.
24550 * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24552 * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24554 * tools/gst-inspect.c (print_element_list): Plug some
24555 inconsequential leaks.
24557 * gst/gstregistry.c (gst_registry_get_default): Doc.
24559 * check/gst/gstplugin.c:
24560 * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24561 * gst/gstelementfactory.c (gst_element_factory_create):
24562 * gst/gstindexfactory.c (gst_index_factory_create): Update for
24565 * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24566 (gst_plugin_feature_load): Doc, don't eat refs.
24568 * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24569 (gst_plugin_list_free): Doc.
24570 (gst_plugin_load_file): Doc updates.
24572 * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24573 accessors returning refcounted objects, return a ref.
24575 * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24576 accessor for caps. IDEMPOTENCE. Oh yes.
24578 2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
24580 Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
24582 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24583 (_gst_debug_register_funcptr):
24584 Add mutex to serialise access to the hash table with
24585 the function pointer => function name string mapping;
24586 make that hash table static scope (#316809).
24588 * gst/registries/.cvsignore:
24589 Remove left-over file.
24591 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24593 * docs/pwg/appendix-porting.xml:
24594 And something about newsegment events and caps-on-buffers to
24595 the porting guide (feel free to improve).
24597 2005-09-21 Andy Wingo <wingo@pobox.com>
24599 * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24600 data and event probes on the same pad.
24601 (test_buffer_probe_once): Test that removing probes from within
24602 the probe functions works.
24604 2005-09-21 Andy Wingo <wingo@pobox.com>
24606 * check/gst/gstutils.c: New file.
24607 (test_buffer_probe_n_times): A simple buffer probe test. More to
24610 * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24611 have-data::buffer, not have-data.
24612 (gst_pad_add_event_probe): Likewise for have-data::event.
24613 (gst_pad_add_data_probe): More docs. The part about 'resolving the
24614 peer' isn't quite right yet though.
24615 (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe)
24616 (gst_pad_remove_data_probe): Change to take the guint handler_id
24617 as their arg, not the function+data, which is more glib-like.
24619 * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24620 the signal emission to indicate if the data is a buffer or an
24622 (gst_pad_get_type): Initialize buffer and event quarks.
24623 (gst_pad_class_init): have-data is now a detailed signal, yes it
24626 2005-09-21 Tim-Philipp Müller <tim at centricular dot net>
24628 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24629 * gst/gstutils.c: (gst_util_set_value_from_string),
24630 (gst_util_set_object_arg):
24631 Don't put functional code in g_return_if_fail() or
24632 g_return_val_if_fail() statements, otherwise things will
24633 break when G_DISABLE_CHECKS is defined during compilation.
24635 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24637 * docs/gst/tmpl/.cvsignore:
24638 * docs/gst/tmpl/gstvalue.sgml:
24641 inlied another one and added some obvious docs
24643 2005-09-21 Wim Taymans <wim@fluendo.com>
24645 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24646 (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24647 (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24648 (gst_fdsrc_get_property), (gst_fdsrc_create):
24649 * gst/elements/gstfdsrc.h:
24650 Properly implement fdsrc. Removed signal and timeout,
24651 better implemented somewhere else.
24653 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24655 * docs/gst/tmpl/.cvsignore:
24656 * docs/gst/tmpl/gstimplementsinterface.sgml:
24657 * gst/gstinterface.c:
24660 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24662 * docs/gst/gstreamer-sections.txt:
24663 * docs/gst/tmpl/.cvsignore:
24664 * docs/gst/tmpl/gstenumtypes.sgml:
24665 remove obsolete doc file
24667 2005-09-21 David Schleef <ds@schleef.org>
24669 * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24670 little beer, fix a little leak.
24672 2005-09-21 Stefan Kost <ensonic@users.sf.net>
24674 * docs/gst/gstreamer-docs.sgml:
24675 * docs/gst/gstreamer-sections.txt:
24676 * docs/gst/tmpl/.cvsignore:
24680 * gst/gstelement.h:
24681 * gst/gstindex.c: (gst_index_class_init):
24683 * gst/gstindexfactory.c: (gst_index_factory_get_type),
24684 (gst_index_factory_class_init), (gst_index_factory_init),
24685 (gst_index_factory_finalize), (gst_index_factory_new),
24686 (gst_index_factory_destroy), (gst_index_factory_find),
24687 (gst_index_factory_create), (gst_index_factory_make):
24688 * gst/gstindexfactory.h:
24689 * gst/gstpluginfeature.c:
24690 * gst/gstpluginfeature.h:
24691 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24692 more docs inlined, splitted gstindex.{c,h}
24694 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24696 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24699 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24701 * gst/elements/gstfilesink.c: (gst_file_sink_init):
24702 Set sync to FALSE by default.
24704 2005-09-20 Wim Taymans <wim@fluendo.com>
24706 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24707 (gst_base_sink_init):
24708 Make sync property settable from subclass.
24710 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24711 (gst_fake_sink_change_state):
24712 Set sync to FALSE by default.
24714 2005-09-20 Wim Taymans <wim@fluendo.com>
24716 * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24717 * tools/gst-launch.c: (main):
24718 The timeout handler should have lower priority than the source
24719 so we don't timeout before popping a message with 0 timeout.
24720 Dump error messages after failed state change.
24722 2005-09-20 Tim-Philipp Müller <tim at centricular dot net>
24724 * tools/gst-inspect.c: (print_element_properties_info):
24727 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24729 * check/gst/gstevent.c:
24730 * gst/elements/gstfakesink.c:
24731 * gst/elements/gstfakesink.h:
24732 remove the sync property from fakesink.
24733 has the side effect of setting sync TRUE
24734 for fakesink, which is a change. Anyone who knows how
24735 to fix this nicely in a GObject-y way, feel free.
24737 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24739 * docs/gst/gstreamer-docs.sgml:
24740 remove probe refsection
24742 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24744 * check/Makefile.am:
24745 disable valgrinding the controller test again
24746 * docs/gst/gstreamer-sections.txt:
24747 update for api-changes
24749 2005-09-20 Wim Taymans <wim@fluendo.com>
24751 * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24752 (gst_base_sink_set_property), (gst_base_sink_get_property),
24753 (gst_base_sink_do_sync):
24754 * gst/base/gstbasesink.h:
24755 Added sync property to basesink to disable clock sync.
24757 2005-09-20 Andy Wingo <wingo@pobox.com>
24759 * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24760 eating the caller's refcount.
24762 * gst/gstobject.h (GST_OBJECT_REFCOUNT)
24763 (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24766 * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24767 * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24768 of GLib 2.8 public, so we can know which refcount to check in
24771 * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24772 (gst_object_init): Only set the gst refcount if we're going ahead
24773 with the refcount hack.
24775 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24777 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24778 * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24779 more leaks plumbed, added more debug-logging
24783 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24785 * gst/gstmessage.c:
24786 remove include of gstmemchunk.h
24788 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24790 * gst/gstclock.c: (_gst_clock_id_free):
24791 Commit from the Political Party For More Atomic CVS Commits,
24792 so that people don't waste too much of their day fishing
24793 out obvious leaks out of massive commits.
24794 Oh, and fix a pretty damn obvious leak in the memchunk
24797 2005-09-20 Stefan Kost <ensonic@users.sf.net>
24799 * check/Makefile.am:
24800 * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24801 plug mem-leak, re-add to valgrindable tests
24803 2005-09-20 Thomas Vander Stichele <thomas at apestaart dot org>
24806 unbreak the build for those who have chronic arthritis
24807 and typing "make check" is just too taxing on the hands
24809 2005-09-20 Andy Wingo <wingo@pobox.com>
24811 * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24812 really want it out, you should fix plugins at the same time.
24814 2005-09-19 Stefan Kost <ensonic@users.sf.net>
24817 * docs/gst/gstreamer-sections.txt:
24819 added missing symbols to api docs
24820 disable ref-count hack if we have glib >= 2.8
24822 2005-09-19 David Schleef <ds@schleef.org>
24824 * docs/gst/Makefile.am: Ignore a few more internal headers
24825 * docs/gst/gstreamer-docs.sgml: Remove old sections
24826 * docs/gst/gstreamer-sections.txt: Remove old sections
24827 * docs/gst/tmpl/gstobject.sgml: update
24828 * docs/gst/tmpl/gstplugin.sgml: update
24829 * docs/gst/tmpl/gstpluginfeature.sgml: update
24830 * docs/random/ds/0.9-suggested-changes: update.
24831 * gst/Makefile.am: remove memchunk and trashstack, since they're
24833 * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24834 * gst/gst.h: don't include some headers
24835 * gst/gstchildproxy.c: add gstmarshal.h
24836 * gst/gstclock.c: Don't use memchunks
24837 * gst/gstminiobject.c: Add some docs
24838 * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24839 * gst/gstobject.h: same
24840 * gst/gstplugin.c: include gstmacros.h
24841 * gst/gstplugin.h: don't include gstmacros.h, since it's private
24842 * gst/gstquery.c: don't use memchunks
24843 * gst/gstregistry.c: rename gst_registry_deinit()
24844 * gst/gstregistry.h: same
24846 2005-09-19 David Schleef <ds@schleef.org>
24848 * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24849 * docs/libs/gstreamer-libs-sections.txt:
24850 * docs/libs/tmpl/gstgetbits.sgml:
24851 * docs/libs/tmpl/gstputbits.sgml:
24853 2005-09-19 Tim-Philipp Müller <tim at centricular dot net>
24855 * win32/gstenumtypes.c:
24856 * win32/gstenumtypes.h:
24859 2005-09-19 Wim Taymans <wim@fluendo.com>
24861 * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24862 Automatically PAUSE and RESUME a pipeline when a flushing seek
24865 2005-09-19 Andy Wingo <wingo@pobox.com>
24867 * gst/gstregistry.h: Spacing fixen.
24869 2005-09-19 Wim Taymans <wim@fluendo.com>
24871 * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24872 Handle state change failure more correctly.
24874 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24876 * check/Makefile.am:
24877 * check/pipelines/cleanup.c: (run_pipeline):
24878 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24880 enable cleanup again after fixing the leak
24882 some more info on docs
24884 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24886 * check/Makefile.am:
24887 re-enable tests now that leaks are plugged
24889 * check/gst/gstbin.c:
24890 * check/gst/gstpipeline.c:
24891 add some more tests while fixing leaks
24892 * common/check.mak:
24893 make sure binaries are uptodate when valgrinding/gdbing
24895 * gst/gstelementfactory.c:
24896 remove a ref too many, and add a FIXME for when we get
24897 round to disposing of classes
24899 fix the refcounting when loading a plugin from a file and
24900 the code pretends that the pointer is the same even though
24901 of course it can change
24902 * gst/gstpluginfeature.c:
24903 unref plugins marked cached (a bit confusing as a name)
24904 as the docs state should be done
24905 various doc additions to explain refcounting
24906 * gst/gstregistry.c:
24907 * gst/gstregistryxml.c:
24910 2005-09-19 Wim Taymans <wim@fluendo.com>
24912 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24913 * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24914 (send_messages), (GST_START_TEST), (gstbus_suite):
24915 * check/gst/gstpipeline.c: (GST_START_TEST):
24916 * check/pipelines/cleanup.c: (run_pipeline):
24917 * check/pipelines/simple_launch_lines.c: (run_pipeline),
24919 * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24920 (gst_bus_source_check), (gst_bus_source_dispatch),
24921 (gst_bus_create_watch), (gst_bus_add_watch_full),
24922 (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24924 * tools/gst-launch.c: (event_loop):
24925 * tools/gst-md5sum.c: (event_loop):
24926 GstBusHandler -> GstBusFunc, return value has the same meaning as
24927 any other GSource (FALSE == remove source).
24928 _add_watch() and _add_watch_full() now take a MessageType mask to
24929 only handle specific types of messages.
24930 _poll() returns the GstMessage instead of the message type to avoid
24932 _have_pending() takes a MessageType mask now too.
24933 Added testsuite for multiple bus watches.
24934 Fix testsuites and applications for new bus API.
24936 2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
24938 * check/Makefile.am:
24939 mark a bunch of the tests as to fix until we fix them
24941 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24943 * common/check.mak:
24944 use GST_PLUGIN settings for valgrind tests as well, so we're
24945 valgrinding the correct thing
24946 * gst/gst.c: (init_post):
24949 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24951 * gst/gst.c: (init_post), (gst_deinit):
24952 * gst/gstelementfactory.c: (gst_element_factory_class_init),
24953 (gst_element_factory_finalize), (gst_element_factory_cleanup):
24954 * gst/gstindex.c: (gst_index_factory_class_init),
24955 (gst_index_factory_finalize):
24956 * gst/gstobject.c: (gst_object_dispose):
24957 * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24958 (gst_plugin_load_file), (gst_plugin_desc_free):
24959 * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24960 (gst_plugin_feature_finalize):
24961 * gst/gstregistry.c: (gst_registry_class_init),
24962 (gst_registry_init), (gst_registry_finalize),
24963 (gst_registry_get_default), (gst_registry_deinit):
24964 * gst/gstregistry.h:
24965 * gst/gstregistryxml.c: (load_feature), (load_plugin):
24966 various cleanups and memleak plugging. make valgrind is happy now.
24968 2005-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
24970 * common/check.mak:
24971 add a check-valgrind target
24973 2005-09-18 David Schleef <ds@schleef.org>
24975 * tools/gst-inspect.c: Revert the GOption code.
24977 2005-09-17 David Schleef <ds@schleef.org>
24979 * check/Makefile.am: Fix environment variables.
24980 * check/gst/gstplugin.c: Fix for API changes.
24981 * tools/gst-inspect.c: Fix for API changes.
24982 * tools/gst-xmlinspect.c: Fix for API changes.
24983 * gst/gstelementfactory.c:
24986 * gst/gstpluginfeature.c:
24987 * gst/gstpluginfeature.h:
24988 * gst/gstregistry.c:
24989 * gst/gstregistry.h:
24990 * gst/gstregistryxml.c:
24991 * gst/gsttypefind.c:
24992 * gst/gsttypefindfactory.c:
24993 * gst/indexers/gstfileindex.c:
24994 * gst/indexers/gstmemindex.c:
24995 * gst/schedulers/Makefile.am:
24996 Change registry to keep track of both plugins and features,
24997 removing the feature tracking from plugins themselves.
24999 2005-09-16 Thomas Vander Stichele <thomas at apestaart dot org>
25001 * check/Makefile.am:
25002 * tools/gst-register.1.in:
25003 remove gst-register
25005 2005-09-15 David Schleef <ds@schleef.org>
25007 * check/gst/gstplugin.c:
25008 * gst/gstelementfactory.c:
25010 * gst/gstpluginfeature.c:
25011 * gst/gstregistry.c:
25012 Getting tired of debugging. Disabled all the unreffing of
25013 plugins and features, which fixes the segfaults, but of
25014 course leaks like crazy. At least playbin works.
25016 2005-09-15 David Schleef <ds@schleef.org>
25018 * check/gst/gstplugin.c: (register_check_elements),
25019 (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25021 * gst/elements/gsttypefindelement.c: Fix refcounting.
25022 * gst/gsttypefind.c:
25023 * gst/gsttypefindfactory.c:
25024 * gst/gsttypefindfactory.h:
25026 2005-09-15 David Schleef <ds@schleef.org>
25028 * gst/gstindex.c: get refcounting correct.
25029 * gst/gstregistry.c: Handle the case where a feature/plugin is
25032 2005-09-15 David Schleef <ds@schleef.org>
25034 * check/Makefile.am:
25035 * check/gst/gstplugin.c: Add test
25036 * gst/gstplugin.c: Fix problems noticed by testsuite
25038 * gst/gstregistry.c:
25039 * gst/gstregistry.h:
25041 2005-09-15 David Schleef <ds@schleef.org>
25043 * gst/gstplugin.c: Implement semi-decent recounting and locking
25044 in plugins and plugin features.
25046 * gst/gstpluginfeature.c:
25047 * gst/gstpluginfeature.h:
25048 * gst/gstregistry.c:
25050 2005-09-15 Michael Smith <msmith@fluendo.com>
25052 * gst/gstregistry.c: (gst_registry_get_feature_list):
25053 Implement this. Makes oggdemux work; decodebin still broken.
25055 2005-09-14 David Schleef <ds@schleef.org>
25057 * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25059 * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25060 * gst/check/Makefile.am:
25061 * libs/gst/controller/Makefile.am:
25062 * libs/gst/dataprotocol/Makefile.am:
25064 2005-09-14 David Schleef <ds@schleef.org>
25066 * configure.ac: Remove getbits library. Nothing uses it, and
25067 it should be in something like liboil if someone did want
25069 * libs/gst/Makefile.am:
25070 * libs/gst/getbits/Makefile.am:
25071 * libs/gst/getbits/gbtest.c:
25072 * libs/gst/getbits/getbits.c:
25073 * libs/gst/getbits/getbits.h:
25074 * libs/gst/getbits/gstgetbits_generic.c:
25075 * libs/gst/getbits/gstgetbits_i386.s:
25076 * libs/gst/getbits/gstgetbits_inl.h:
25078 2005-09-14 David Schleef <ds@schleef.org>
25080 * gst/Makefile.am: Dist glib-compat.h
25082 2005-09-14 David Schleef <ds@schleef.org>
25084 * configure.ac: Remove gst/registries, since it's no longer used.
25085 * gst/registries/Makefile.am:
25086 * gst/registries/gstlibxmlregistry.c:
25087 * gst/registries/gstlibxmlregistry.h:
25088 * gst/registries/gstxmlregistry.c:
25089 * gst/registries/gstxmlregistry.h:
25090 * gst/registries/registrytest.c:
25092 2005-09-14 David Schleef <ds@schleef.org>
25094 * gst/glib-compat.h:
25095 * gst/gstregistryxml.c:
25096 Convergence is near. Seriously.
25098 2005-09-14 David Schleef <ds@schleef.org>
25100 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25101 * gst/glib-compat.h:
25102 Attempt #4 to appease the buildbots.
25104 2005-09-14 David Schleef <ds@schleef.org>
25106 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25109 2005-09-14 David Schleef <ds@schleef.org>
25111 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25114 2005-09-14 David Schleef <ds@schleef.org>
25116 * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25119 2005-09-14 David Schleef <ds@schleef.org>
25121 * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25122 * gst/glib-compat.h: Add some functions that are in newer versions
25123 of glib than we care to require.
25124 * gst/gstregistryxml.c: Use them.
25126 2005-09-14 David Schleef <ds@schleef.org>
25128 * po/POTFILES.in: remove gst-register.c
25130 2005-09-14 David Schleef <ds@schleef.org>
25132 * docs/gst/gstreamer-docs.sgml:
25133 * docs/gst/gstreamer-sections.txt:
25134 * docs/gst/gstreamer.types:
25135 * docs/gst/tmpl/gstelement.sgml:
25136 * docs/gst/tmpl/gstplugin.sgml:
25137 * docs/gst/tmpl/gstpluginfeature.sgml:
25138 Documentation updates for registry changes.
25140 2005-09-14 David Schleef <ds@schleef.org>
25142 * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25143 because we don't require glib-2.8.
25145 2005-09-14 David Schleef <ds@schleef.org>
25147 * gst/gstregistryxml.c: Added. Essentially moved out of the
25148 registries directory.
25150 2005-09-14 David Schleef <ds@schleef.org>
25152 * check/Makefile.am:
25153 * check/generic/states.c:
25157 * gst/gst_private.h:
25158 * gst/gstelementfactory.c:
25163 * gst/gstpluginfeature.c:
25164 * gst/gstpluginfeature.h:
25165 * gst/gstregistry.c:
25166 * gst/gstregistry.h:
25167 * gst/gstregistrypool.c: remove
25168 * gst/gstregistrypool.h: remove
25169 * gst/gsttypefind.c:
25170 * gst/gsttypefindfactory.c:
25172 * tools/Makefile.am:
25173 * tools/gst-compprep.c:
25174 * tools/gst-inspect.c:
25175 * tools/gst-register.c: remove
25176 * tools/gst-xmlinspect.c:
25177 Registry rewrite. Changes registry from being a file created
25178 by a tool into a simple cache file created automatically by
25179 libgstreamer. Removed gst-register (because it's no longer
25180 needed). Remove registry pools, because we only have one
25181 registry implementation (XML). Fix up other subsystems as
25184 2005-09-13 Michael Smith <msmith@fluendo.com>
25186 * gst/gstconfig.h.in:
25187 Don't Use windows linking attributes for MinGW. Fixes #316157
25189 2005-09-13 Thomas Vander Stichele <thomas at apestaart dot org>
25191 * gst/gstutils.c: (set_state_async_thread_func),
25192 (gst_element_set_state_async):
25193 Apparently people think it's better if this function doesn't
25194 try to set the state to whatever state was asked for on the first
25195 call to this function for any object. Seriously.
25197 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25199 * check/gst/gstpipeline.c: (GST_START_TEST):
25200 * docs/gst/gstreamer-sections.txt:
25201 * gst/gstutils.c: (set_state_async_thread_func),
25202 (gst_element_set_state_async):
25204 add a "gst_element_set_state_async" method that
25205 sets the state and starts a thread to make sure the state
25206 change completes as best as it can
25208 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25210 * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25211 codify design+behaviour in testsuite after discussion
25213 2005-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
25215 * docs/gst/tmpl/gstelement.sgml:
25216 * docs/manual/appendix-quotes.xml:
25218 * gst/gstelement.c: (gst_element_set_state):
25221 2005-09-12 Jan Schmidt <thaytan@mad.scientist.com>
25223 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25224 (gst_base_transform_prepare_output_buf),
25225 (gst_base_transform_handle_buffer):
25226 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25227 (gst_capsfilter_prepare_buf):
25228 Remove the requirement for sub-classes to call the parent
25229 implementation of prepare_output_buffer with a wrapper function.
25231 * gst/gsttaglist.h:
25232 * gst/gsttagsetter.h:
25233 Fix #define wrapper
25235 2005-09-11 Stefan Kost <ensonic@users.sf.net>
25237 * docs/gst/gstreamer-sections.txt:
25240 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25242 * docs/gst/gstreamer-sections.txt:
25243 * docs/gst/tmpl/gstelement.sgml:
25244 * docs/gst/tmpl/gstplugin.sgml:
25245 * gst/gstminiobject.c:
25247 docs now stop throwing warnings
25249 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25251 * docs/gst/gstreamer-sections.txt:
25252 * docs/gst/gstreamer.types:
25253 * docs/gst/tmpl/gstpad.sgml:
25254 * docs/gst/tmpl/gsttypes.sgml:
25255 * gst/base/gstadapter.h:
25256 * gst/base/gstbasesink.h:
25257 * gst/base/gstbasesrc.h:
25263 * gst/gstelement.h:
25265 * gst/gstmessage.h:
25267 * gst/gststructure.c:
25268 * gst/registries/gstlibxmlregistry.h:
25269 various documentation fixes
25271 2005-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
25273 * docs/gst/gstreamer-sections.txt:
25274 * docs/gst/tmpl/gstvalue.sgml:
25275 rearrange gstvalue section
25276 * gst/gstutils.c: (gst_element_state_get_name):
25278 * gst/gstvalue.c: (_gst_value_initialize):
25282 2005-09-10 Jan Schmidt <thaytan@mad.scientist.com>
25284 * check/gst-libs/controller.c:
25285 Header include fix.
25286 * gst/base/gstbasetransform.c:
25287 (gst_base_transform_default_prepare_buf),
25288 (gst_base_transform_handle_buffer):
25289 * gst/base/gstbasetransform.h:
25290 Some more basetransform changes and fixes to enable sub-classes
25291 that modify buffer metadata only.
25292 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25293 (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25294 (gst_capsfilter_prepare_buf):
25295 If the output pad has fixed allowed caps and input buffers
25296 don't have any, set the fixed caps on outgoing buffers.
25298 2005-09-09 Jan Schmidt <thaytan@mad.scientist.com>
25299 * check/elements/identity.c: (GST_START_TEST):
25300 Make the error a little clearer when the test fails because
25301 identity made a copy of the buffer.
25302 * docs/gst/gstreamer-sections.txt:
25303 New symbols in gstbasetransform.h
25304 * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25305 (gst_base_transform_init), (gst_base_transform_transform_size),
25306 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25307 (gst_base_transform_default_prepare_buf),
25308 (gst_base_transform_get_unit_size),
25309 (gst_base_transform_buffer_alloc),
25310 (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25311 (gst_base_transform_change_state),
25312 (gst_base_transform_set_passthrough),
25313 (gst_base_transform_set_in_place),
25314 (gst_base_transform_is_in_place):
25315 * gst/base/gstbasetransform.h:
25316 Change BaseTransform to separate in_place operate from same_caps
25317 output. in_place implies that the element can perform the transform
25318 on incoming buffers in-place, even if the caps on the output are
25320 Sub-class elements can now implement special buffer allocation
25321 methods for outgoing buffers if they wish to.
25322 Big documentation addition.
25323 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25324 * gst/elements/gstelements.c:
25325 Changes for basetransform modifications.
25326 * gst/elements/Makefile.am:
25327 * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25328 Compile fix. Extra debug output.
25330 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25332 * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25334 add tests for valid pad naming
25335 * gst/check/gstcheck.c: (gst_check_log_message_func),
25336 (gst_check_log_critical_func):
25338 remove printing of code, it is fragile when the code contains
25339 % and the line number is enough info
25340 * gst/check/gstcheck.h:
25341 * gst/gstpad.c: (gst_pad_template_new):
25344 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25347 say what CHECK flags we use
25348 * docs/libs/gstreamer-libs.types:
25349 * libs/gst/controller/Makefile.am:
25350 * libs/gst/controller/gst-controller.c:
25351 * libs/gst/controller/gst-controller.h:
25352 * libs/gst/controller/gst-helper.c:
25353 * libs/gst/controller/gst-interpolation.c:
25354 * libs/gst/controller/gstcontroller.c:
25355 * libs/gst/controller/gsthelper.c:
25356 * libs/gst/controller/gstinterpolation.c:
25357 * tools/gst-inspect.c: (print_plugin_info):
25358 we don't use dashes in header names
25360 2005-09-09 Thomas Vander Stichele <thomas at apestaart dot org>
25362 * check/Makefile.am:
25363 * check/gst/.cvsignore:
25364 * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25365 (gst_pipeline_suite), (main):
25366 adding a test for pipelines and state changes
25367 * gst/gstutils.c: (get_state_func):
25369 * gstreamer.spec.in:
25372 2005-09-08 Michael Smith <msmith@fluendo.com>
25374 * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25375 (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25376 (gst_file_src_is_seekable), (gst_file_src_get_size),
25377 (gst_file_src_start):
25378 * gst/elements/gstfilesrc.h:
25379 Various fixes for unseekable, unmmapable, and non-normal files, so
25380 that fallback to read() rather than mmap() works.
25381 * gst/gstevent.c: (gst_event_new_newsegment):
25382 Allow newsegment events with segment_start == segment_end, as will
25383 correctly happen if you use filesrc on a zero-size file, for
25386 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25388 * gst/gstplugin.c: (gst_plugin_load_file):
25389 Call g_module_close when we don't load the module
25391 * gst/registries/gstlibxmlregistry.c:
25392 (gst_xml_registry_get_property):
25393 Port leak fix from 0.8
25395 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25397 * docs/gst/gstreamer-docs.sgml:
25398 * docs/gst/tmpl/.cvsignore:
25399 * docs/gst/tmpl/gsttrace.sgml:
25400 * docs/gst/tmpl/gsttrashstack.sgml:
25403 * gst/gstelement.h:
25405 * gst/gstmessage.c:
25406 * gst/gstmessage.h:
25409 * gst/gsttaginterface.c:
25410 * gst/gsttaginterface.h:
25411 * gst/gsttaglist.c:
25412 * gst/gsttaglist.h:
25413 * gst/gsttagsetter.c:
25414 * gst/gsttagsetter.h:
25417 * gst/gsttrashstack.c:
25418 renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25419 inlined docs for gsttrace, gsttrashstack
25421 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25424 * gst/elements/gstbufferstore.h:
25425 * gst/elements/gsttypefindelement.c:
25426 * gst/elements/gsttypefindelement.h:
25428 * gst/gsttypefind.c:
25429 * gst/gsttypefind.h:
25430 * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25431 (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25432 (gst_type_find_factory_dispose),
25433 (gst_type_find_factory_unload_thyself),
25434 (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25435 (gst_type_find_factory_get_caps),
25436 (gst_type_find_factory_get_extensions),
25437 (gst_type_find_factory_call_function):
25438 * gst/gsttypefindfactory.h:
25439 * gst/registries/gstlibxmlregistry.c:
25440 * gst/registries/gstxmlregistry.c:
25441 splitted gsttypefind into gsttypefind, gsttypefindfactory
25443 2005-09-07 Andy Wingo <wingo@pobox.com>
25445 * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25446 condition whereby the pad's task function is entered before the
25447 pad_mode variable was set.
25449 2005-09-07 Jan Schmidt <thaytan@mad.scientist.com>
25451 * gst/gstpad.c: (gst_pad_alloc_buffer):
25452 Catch misbehaving pad_alloc functions that don't
25453 set up caps and do it for them.
25455 2005-09-07 Stefan Kost <ensonic@users.sf.net>
25457 * check/pipelines/simple_launch_lines.c: (run_pipeline):
25458 test for pipe!=NULL
25459 * docs/gst/tmpl/.cvsignore:
25460 * docs/gst/tmpl/gstmemchunk.sgml:
25461 * docs/gst/tmpl/gstparse.sgml:
25462 * docs/gst/tmpl/gsttaglist.sgml:
25463 * docs/gst/tmpl/gsttagsetter.sgml:
25464 * docs/gst/tmpl/gsttypefind.sgml:
25465 * docs/gst/tmpl/gsttypefindfactory.sgml:
25466 * gst/gstmemchunk.c:
25469 * gst/gsttaginterface.c:
25470 * gst/gsttypefind.c:
25471 * gst/gsttypefind.h:
25474 === release 0.9.2 ===
25476 2005-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
25481 releasing 0.9.2, "South"
25483 2005-09-05 Andy Wingo <wingo@pobox.com>
25485 * gst/registries/gstxmlregistry.h:
25486 * gst/registries/gstxmlregistry.c: Um... resurrect...
25488 * gst/registries/gstxmlregistry.h:
25489 * gst/registries/gstxmlregistry.c: and update to newer API.
25490 Incidentally they should be a bit faster now that they don't have
25493 2005-09-05 Andy Wingo <wingo@pobox.com>
25495 * gst/registries/gstxmlregistry.h:
25496 * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25497 replaced by the libxml registry a while back
25499 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25501 * docs/gst/tmpl/gstplugin.sgml:
25502 * gst/elements/gstelements.c:
25504 * gst/gstplugin.c: (gst_plugin_register_func),
25505 (gst_plugin_desc_copy), (gst_plugin_desc_free),
25506 (gst_plugin_get_source):
25508 * gst/registries/gstlibxmlregistry.c: (load_plugin),
25509 (gst_xml_registry_save_plugin):
25510 * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25511 (gst_xml_registry_save_plugin):
25512 * tools/gst-inspect.c: (print_plugin_info):
25513 add a "source" plugin description field, to represent the source
25514 module this plugin is a part of. By default GST_PLUGIN_DEFINE
25515 will set it to PACKAGE, which is automake's idea of the name of
25516 the source project.
25518 2005-09-03 Thomas Vander Stichele <thomas at apestaart dot org>
25523 * docs/Makefile.am:
25524 * docs/faq/Makefile.am:
25525 * docs/gst/tmpl/gstelement.sgml:
25526 * docs/gst/tmpl/gsttypes.sgml:
25527 * docs/htmlinstall.mak:
25528 * docs/manual/Makefile.am:
25529 * docs/pwg/Makefile.am:
25530 reorganize doc build a little
25531 split out docbook and gtk-doc stuff
25532 have two separate --enable's and enable them through autogen
25533 but disable by default in configure (to be similar to other
25535 * gstreamer.spec.in:
25536 clean up docs install
25554 translation updates
25556 2005-09-03 Tim-Philipp Müller <tim at centricular dot net>
25558 * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25561 * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25562 (gst_fake_sink_change_state):
25563 Make state change function thread-safe.
25565 * gst/gstpad.c: (gst_pad_alloc_buffer):
25566 Set offset on generic buffer allocated by fallback.
25568 2005-09-03 Stefan Kost <ensonic@users.sf.net>
25570 * docs/gst/gstreamer-sections.txt:
25571 * docs/gst/tmpl/gstelement.sgml:
25573 * libs/gst/controller/gst-controller.c:
25574 (gst_controlled_property_set_interpolation_mode),
25575 (gst_controlled_property_new),
25576 (gst_controller_find_controlled_property):
25577 run the wingo-magic script against the docs
25579 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25581 * docs/gst/gstreamer-docs.sgml:
25582 * docs/gst/gstreamer-sections.txt:
25583 * docs/gst/tmpl/.cvsignore:
25584 * docs/gst/tmpl/gstelementdetails.sgml:
25585 * docs/gst/tmpl/gstelementfactory.sgml:
25588 * gst/gstelementfactory.c:
25589 * gst/gstelementfactory.h:
25590 merged elementdetails docs into elementfactory docs
25593 2005-09-02 Andy Wingo <wingo@pobox.com>
25595 * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25596 consider this enum an enum and not a flags.
25598 2005-09-02 Stefan Kost <ensonic@users.sf.net>
25600 * docs/gst/gstreamer-docs.sgml:
25601 * docs/gst/tmpl/.cvsignore:
25602 * docs/gst/tmpl/gstghostpad.sgml:
25603 * docs/gst/tmpl/gstiterator.sgml:
25604 * docs/gst/tmpl/gstmacros.sgml:
25605 * docs/gst/tmpl/gstrealpad.sgml:
25606 * docs/gst/tmpl/gstregistry.sgml:
25607 * docs/gst/tmpl/gstregistrypool.sgml:
25608 * docs/gst/tmpl/gststructure.sgml:
25609 * docs/gst/tmpl/gstsystemclock.sgml:
25610 * docs/gst/tmpl/gsttrace.sgml:
25611 * gst/gstghostpad.c:
25613 * gst/gstmemchunk.c:
25614 * gst/gstmemchunk.h:
25616 * gst/gstregistry.c:
25617 * gst/gstregistrypool.c:
25618 * gst/gststructure.c:
25619 * gst/gstsystemclock.c:
25622 2005-09-02 Andy Wingo <wingo@pobox.com>
25624 * gst/gstelement.h (GstState): Renamed from GstElementState,
25625 changed to be a normal enum instead of flags.
25626 (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25627 munged to be GST_STATE_CHANGE_*.
25628 (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25629 work with the new state representation.
25630 (GstStateChange): New enumeration of possible state transitions.
25631 Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25632 (GstElementClass::change_state): Pass the GstStateChange along as
25633 an argument. Helps language bindings, so they don't have to use
25634 tricky lock-needing macros like GST_STATE_CHANGE ().
25636 * scripts/update-states (file): New script. Run it on a file to
25637 update it for state naming and API changes. Updates files in
25640 * All files updated for the new API.
25642 2005-09-02 Thomas Vander Stichele <thomas at apestaart dot org>
25644 * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25645 * gst/gstutils.c: (gst_util_set_value_from_string),
25646 (gst_util_set_object_arg):
25647 fix a bunch of unchecked return values
25648 * tools/gst-complete.c: (main):
25649 * gstreamer.spec.in:
25652 2005-09-01 Wim Taymans <wim@fluendo.com>
25654 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25655 (gst_base_sink_event), (gst_base_sink_do_sync),
25656 (gst_base_sink_handle_event):
25657 * gst/base/gstbasesink.h:
25658 Handle newsegments more correctly.
25663 * gst/gstevent.c: (gst_event_new_newsegment):
25664 A newsegment cannot have a start_time of -1
25666 2005-09-01 Tim-Philipp Müller <tim at centricular dot net>
25668 * win32/gstenumtypes.c:
25669 * win32/gstenumtypes.h:
25672 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25674 * libs/gst/controller/gst-controller.c:
25675 (gst_controlled_property_set_interpolation_mode),
25676 (gst_controlled_property_new):
25677 fixed boolean again
25679 2005-08-31 Thomas Vander Stichele <thomas at apestaart dot org>
25681 * docs/faq/gst-uninstalled:
25686 * gst/gstutils.c: (gst_element_link_filtered):
25688 add gst_element_link_filtered
25690 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25692 * docs/gst/gstreamer-docs.sgml:
25693 * docs/gst/gstreamer-sections.txt:
25694 * docs/gst/tmpl/.cvsignore:
25695 * docs/gst/tmpl/gsterror.sgml:
25696 * docs/gst/tmpl/gstfilter.sgml:
25697 * docs/gst/tmpl/gsturihandler.sgml:
25698 * docs/gst/tmpl/gsturitype.sgml:
25699 * docs/gst/tmpl/gstutils.sgml:
25700 * docs/gst/tmpl/gstxml.sgml:
25705 * gst/gsturitype.c:
25708 inlined more docs, fixed double id-ref
25710 2005-08-31 Wim Taymans <wim@fluendo.com>
25712 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25713 (gst_base_transform_handle_buffer):
25714 Passthrough elements don't need the caps as they don't care.
25716 2005-08-31 Wim Taymans <wim@fluendo.com>
25718 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25719 (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25720 Don't leak refcounts on buffers.
25722 2005-08-31 Wim Taymans <wim@fluendo.com>
25724 * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25725 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25726 (gst_base_transform_chain), (gst_base_transform_change_state):
25727 * gst/base/gstbasetransform.h:
25728 Handle the case where we are not negotiated more gracefully.
25730 2005-08-31 Tim-Philipp Müller <tim at centricular dot net>
25732 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25733 (gst_file_src_map_region):
25734 Set READONLY flag on mmap'ed buffers, otherwise
25735 gst_buffer_make_writable() won't work properly (#314708).
25737 2005-08-31 Wim Taymans <wim@fluendo.com>
25739 * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25740 passthrough elements can even do inplace on non writable
25741 buffers (as they don't touch them).
25743 2005-08-31 Stefan Kost <ensonic@users.sf.net>
25745 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25746 (gst_test_mono_source_set_property),
25747 (gst_test_mono_source_class_init), (GST_START_TEST),
25748 (gst_controller_suite):
25749 more tests (hehe I have the most)
25751 describe popping messages whenusing mulltiple sources
25752 * libs/gst/controller/gst-controller.c:
25753 (gst_controlled_property_set_interpolation_mode),
25754 (gst_controlled_property_new):
25755 * libs/gst/controller/gst-controller.h:
25756 * libs/gst/controller/gst-interpolation.c:
25757 implement boolean properties
25759 2005-08-31 Wim Taymans <wim@fluendo.com>
25761 * gst/gstminiobject.c: (gst_mini_object_ref):
25762 Cannot assert that the refcount has to be positive
25763 since a disposed object can be resurrected.
25765 2005-08-31 Wim Taymans <wim@fluendo.com>
25767 * gst/gstpad.c: (gst_pad_init):
25768 Revert change, need to first fix badly behaving
25771 2005-08-30 Wim Taymans <wim@fluendo.com>
25773 * check/elements/fakesrc.c: (setup_fakesrc):
25774 * check/elements/identity.c: (setup_identity):
25775 Activate pads before using them.
25777 2005-08-30 Wim Taymans <wim@fluendo.com>
25779 * gst/base/gstadapter.c: (gst_adapter_flush):
25780 Flushing out 0 bytes is ok for this function.
25782 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25783 no newsegment gives a warning and sets the start/stop to
25786 * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25787 (gst_base_transform_set_passthrough):
25790 * gst/gstminiobject.c: (gst_mini_object_ref):
25791 Check refcount here too.
25793 * gst/gstpad.c: (gst_pad_init):
25794 Pads are initially flushing and refusing data.
25796 * gst/gstutils.c: (gst_element_link_pads_filtered):
25797 When adding a capsfilter element make sure it has the
25798 same state as the parent bin.
25800 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25802 * docs/gst/tmpl/.cvsignore:
25803 * docs/gst/tmpl/gstformat.sgml:
25804 * docs/gst/tmpl/gstversion.sgml:
25808 * gst/gstversion.h.in:
25809 more docs and two more inlined
25811 2005-08-30 Wim Taymans <wim@fluendo.com>
25813 * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25814 Don't sync to clock.
25816 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25818 * docs/gst/gstreamer-sections.txt:
25819 ultral33t func10ns deserve to appear in the docs actually
25820 * docs/gst/tmpl/.cvsignore:
25821 * docs/gst/tmpl/gstcompat.sgml:
25822 * docs/gst/tmpl/gstconfig.sgml:
25823 * gst/check/gstcheck.c:
25825 * gst/gstconfig.h.in:
25828 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25830 * docs/gst/tmpl/.cvsignore:
25831 * docs/gst/tmpl/gstquery.sgml:
25832 * docs/gst/tmpl/gstutils.sgml:
25835 inlined and extended docs
25837 2005-08-30 Stefan Kost <ensonic@users.sf.net>
25839 * check/gst-libs/controller.c: (GST_START_TEST),
25840 (gst_controller_suite):
25842 * docs/gst/tmpl/gstutils.sgml:
25843 * docs/libs/gstreamer-libs-sections.txt:
25844 * docs/libs/tmpl/gstdataprotocol.sgml:
25846 * examples/controller/audio-example.c: (main):
25847 controller example works now
25850 * tools/gst-inspect.c: (print_element_properties_info):
25851 show param spec flags
25853 2005-08-29 Andy Wingo <wingo@pobox.com>
25855 * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25857 2005-08-28 Andy Wingo <wingo@pobox.com>
25859 * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25860 as having two arguments instead of just one. Allows superclasses
25861 to access information on subclasses -- see the terrible for() loop
25862 in gtype.c:g_type_create_instance for the reason why. All callers
25865 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25867 * docs/design/part-messages.txt:
25869 * docs/gst/tmpl/.cvsignore:
25870 * docs/gst/tmpl/gstcaps.sgml:
25871 * docs/gst/tmpl/gstclock.sgml:
25877 * gst/gstmessage.c:
25878 added descriptions for bus and message
25879 inline caps and clock docs
25881 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25883 * gst/gstmessage.c:
25884 * gst/gstmessage.h:
25887 2005-08-27 Stefan Kost <ensonic@users.sf.net>
25889 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25892 2005-08-26 Andy Wingo <wingo@pobox.com>
25894 * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25895 element_set_state's return val.
25896 (test_2_elements): Add test that's been disabled for months.
25898 * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25899 can-activate-pull properties.
25901 * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25902 can-activate-pull properties. Implement is_seekable so fakesrc can
25903 operate in pull mode.
25905 * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25907 (gst_base_sink_activate, gst_base_sink_activate_pull)
25908 (gst_base_sink_activate_push): Make activation mode choosing work.
25910 (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25911 is right. Make pull mode work. Post an eos before pausing in pull
25913 (gst_base_sink_change_state): Pay attention to the core's
25914 change_state() return val.
25916 * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25917 has-getrange properties. Cleanups.
25919 * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25920 has_getrange and replace with can_activate_pull and
25923 * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25924 locking comments. Remove has_loop, has_chain and replace with
25925 can_activate_pull and can_activate_push.
25927 2005-08-26 Jan Schmidt <thaytan@mad.scientist.com>
25930 * examples/Makefile.am:
25931 * examples/metadata/Makefile.am:
25932 * examples/metadata/read-metadata.c: (message_loop),
25933 (have_pad_handler), (make_pipeline), (print_tag), (main):
25934 Add metadata reading example that loops over a list of filenames,
25935 dumping any tags found.
25937 * gst/gstbus.c: (gst_bus_dispose):
25938 * gst/gstelement.c: (gst_element_dispose):
25939 Release a few potentially-held references in dispose.
25941 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25943 * docs/gst/tmpl/gstminiobject.sgml:
25944 do *not* add tmpl/*.sgml files to CVS!
25946 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25948 * libs/gst/bytestream/.cvsignore:
25949 * libs/gst/bytestream/Makefile.am:
25950 * libs/gst/bytestream/adapter.c:
25951 * libs/gst/bytestream/adapter.h:
25952 * libs/gst/bytestream/bytestream.c:
25953 * libs/gst/bytestream/bytestream.h:
25954 * libs/gst/bytestream/filepad.c:
25955 * libs/gst/bytestream/filepad.h:
25956 removing obsolete files
25958 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25960 * docs/gst/gstreamer-docs.sgml:
25961 * docs/libs/gstreamer-libs-docs.sgml:
25962 disabed additional index entries again, as this makes docs-gen just
25963 slow and they aren't useful yet
25964 * docs/libs/gstreamer-libs-sections.txt:
25965 little -section.txt cleanup for libs
25967 2005-08-26 Thomas Vander Stichele <thomas at apestaart dot org>
25969 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25970 * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25971 fix up some debugging
25972 (gst_base_transform_get_unit_size),
25973 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25974 (gst_base_transform_handle_buffer):
25975 * gst/base/gstbasetransform.h:
25976 handle and store timed NEWSEGMENT events so that subclasses that
25977 calculate time by counting samples have a segment_start time they
25978 need to add to their timestamps - see audioresample
25980 2005-08-26 Stefan Kost <ensonic@users.sf.net>
25983 removed ';' from the end of macro defs
25984 * docs/gst/gstreamer-docs.sgml:
25985 * docs/gst/gstreamer-sections.txt:
25986 * docs/gst/tmpl/.cvsignore:
25988 * gst/gstelement.c: (gst_element_class_init),
25989 (gst_element_set_state), (activate_pads),
25990 (gst_element_save_thyself):
25991 * gst/gstevent.c: (gst_event_new_newsegment):
25993 * gst/gstiterator.c:
25994 * gst/gstiterator.h:
25997 * gst/gstutils.c: (gst_pad_query_convert):
25999 fixed parameter name mismatches between source, header and docs
26000 added some more docs, resolved the last batch of unused elements in
26001 docs (now someone needs to doc them)
26003 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26005 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26006 * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26007 don't walk through the plugins backwards. Where is all this
26008 reversed logic coming from ?
26010 2005-08-25 Wim Taymans <wim@fluendo.com>
26012 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26013 (gst_base_transform_transform_size),
26014 (gst_base_transform_configure_caps),
26015 (gst_base_transform_get_unit_size),
26016 (gst_base_transform_buffer_alloc),
26017 (gst_base_transform_change_state):
26018 * gst/base/gstbasetransform.h:
26019 Cache caps unit_size.
26020 Make sure we cannot negotiate up and downstream at the
26023 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26025 * gst/gst.c: (init_pre), (init_post):
26026 register the installed plugin path after the env var
26027 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26028 * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26029 don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26030 directories, so the tests can prefer uninstalled over installed
26032 2005-08-25 Thomas Vander Stichele <thomas at apestaart dot org>
26034 * gst/base/gstbasetransform.h:
26039 2005-08-25 Wim Taymans <wim@fluendo.com>
26041 * gst/gstbin.c: (bin_bus_handler):
26042 Be a bit more conservative about the posted message.
26044 * gst/gstbus.c: (gst_bus_post):
26045 Some cleanups, warn wrong return values.
26047 2005-08-25 Jan Schmidt <thaytan@mad.scientist.com>
26049 * check/gst/gstbin.c: (GST_START_TEST):
26050 * gst/gstbin.c: (bin_bus_handler):
26051 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26052 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26053 (gst_message_new_warning), (gst_message_new_tag),
26054 (gst_message_new_state_changed), (gst_message_new_segment_start),
26055 (gst_message_new_segment_done), (gst_message_new_custom):
26056 * gst/gstmessage.h:
26057 * tools/gst-launch.c: (event_loop):
26058 * tools/gst-md5sum.c: (event_loop):
26059 Revert unpopular change for GST_MESSAGE_SRC to GObject.
26061 2005-08-25 Wim Taymans <wim@fluendo.com>
26063 * check/generic/states.c: (GST_START_TEST):
26064 Cleanup can be done at the end.
26066 * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26067 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26068 (gst_task_get_state), (gst_task_start), (gst_task_pause):
26069 Oh boy.. Thanks for finding this, Thomas.
26071 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26073 * docs/gst/gstreamer.types:
26074 added missing types
26076 2005-08-25 Stefan Kost <ensonic@users.sf.net>
26078 * docs/gst/gstreamer-docs.sgml:
26079 * docs/gst/gstreamer-sections.txt:
26080 * docs/gst/tmpl/.cvsignore:
26082 * gst/gstiterator.c:
26084 * gst/registries/gstxmlregistry.h:
26085 added missing classes and symbols (123 more to go)
26086 removed removed symbols from section file
26087 fixed many doc-comments
26089 2005-08-24 Wim Taymans <wim@fluendo.com>
26091 * check/generic/states.c: (GST_START_TEST):
26092 Make sure all tasks are stopped.
26094 * check/gst/gstbin.c: (GST_START_TEST):
26095 Unref after usage for proper valgrinding.
26097 * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26098 Really wait for the task to stop before destroying the
26101 * gst/gstqueue.c: (gst_queue_sink_activate_push),
26102 (gst_queue_src_activate_push):
26103 Small cleanups. Don't stop the task when we did not start
26106 * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26107 (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26108 (gst_task_get_state), (gst_task_start), (gst_task_pause),
26111 Protect the stream lock with the object lock.
26112 Disallow setting the stream lock when running.
26113 Add cleanup_all to wait for the threadpool to finish.
26114 Remove code to autoallocate a mutex if none was provided.
26115 Add _join() to wait for a task to stop.
26116 Protect the thread pool with a global lock.
26118 2005-08-24 Wim Taymans <wim@fluendo.com>
26120 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26121 (gst_base_sink_get_times), (gst_base_sink_do_sync),
26122 (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26123 * gst/base/gstbasesink.h:
26124 Handle newsegment events correctly.
26125 Drop buffers out of the segment range.
26127 2005-08-22 Andy Wingo <wingo@pobox.com>
26129 * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26130 macro, implements an interface and gstimplementsinterface for a
26133 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26135 * check/Makefile.am:
26136 * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26137 add a test that does a bunch of state changes on elements
26138 needs some fixing for valgrind
26139 * check/states/sinks.c: (gst_object_suite):
26142 add prototype for gst_caps_is_equal_fixed
26144 * gst/gstregistrypool.c:
26147 2005-08-24 Andy Wingo <wingo@pobox.com>
26149 * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26150 convert a negative value. Doesn't make much sense. Mostly this is
26151 here to force callers to ensure -1 maps to -1.
26153 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26155 * docs/pwg/advanced-types.xml:
26156 Well done to Michael for catching my deliberate introduction
26157 of this spelling mistake.
26158 * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26159 * gst/gstelement.h:
26160 Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26161 unlink pads before removing the element from the bin.
26163 2005-08-24 Andy Wingo <wingo@pobox.com>
26165 * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26166 the same thing as GST_DEBUG=*:4.
26167 (parse_debug_level, parse_debug_category): New helper parsers.
26169 2005-08-24 Thomas Vander Stichele <thomas at apestaart dot org>
26171 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26172 (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26173 (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26174 (gst_base_transform_buffer_alloc),
26175 (gst_base_transform_handle_buffer):
26176 use gboolean return values and pointers to size so we can use the
26177 full GST_BUFFER_SIZE range (guint) for buffer sizes
26178 use GstPadDirection for transform_caps
26179 * gst/base/gstbasetransform.h:
26180 rename get_size to get_unit_size since that's what it is
26181 * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26182 use GstPadDirection for transform_caps
26183 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26185 cleanup and debugging
26187 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26189 * gst/gstelement.c: (gst_element_class_init),
26190 (gst_element_set_state), (activate_pads),
26191 (gst_element_save_thyself):
26192 * tools/gst-compprep.c: (main):
26193 * tools/gst-inspect.c: (print_element_properties_info):
26194 * tools/gst-xmlinspect.c: (print_element_properties):
26195 Fixed long standing mem-leak
26197 2005-08-24 Jan Schmidt <thaytan@mad.scientist.com>
26199 * check/gst/gstbin.c: (GST_START_TEST):
26200 * gst/gstbin.c: (bin_bus_handler):
26201 * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26202 (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26203 (gst_message_new_warning), (gst_message_new_tag),
26204 (gst_message_new_state_changed), (gst_message_new_segment_start),
26205 (gst_message_new_segment_done), (gst_message_new_custom):
26206 * gst/gstmessage.h:
26207 * tools/gst-launch.c: (event_loop):
26208 * tools/gst-md5sum.c: (event_loop):
26209 Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26210 that applications can sensibly post custom messages with references
26211 to their own objects.
26213 2005-08-24 Andy Wingo <wingo@pobox.com>
26215 * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26218 2005-08-24 Wim Taymans <wim@fluendo.com>
26220 * gst/base/gstbasetransform.c: (gst_base_transform_init),
26221 (gst_base_transform_transform_caps),
26222 (gst_base_transform_transform_size),
26223 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26224 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26225 (gst_base_transform_handle_buffer):
26226 * gst/base/gstbasetransform.h:
26227 Many fixes and new features added by Thomas. Can now also do
26228 transforms with variable sizes and a custom fixate_caps function.
26230 2005-08-24 Wim Taymans <wim@fluendo.com>
26232 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26236 Cast to ClockTime before formatting to time.
26241 2005-08-24 Stefan Kost <ensonic@users.sf.net>
26243 * check/gst-libs/controller.c: (GST_START_TEST),
26244 (gst_controller_suite):
26245 * docs/gst/tmpl/gstcaps.sgml:
26246 * docs/gst/tmpl/gstghostpad.sgml:
26247 * docs/gst/tmpl/gstquery.sgml:
26248 * docs/gst/tmpl/gstutils.sgml:
26249 * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26250 (gst_object_sink_values), (gst_object_get_value_arrays),
26251 (gst_object_get_value_array):
26252 gracefully handle helper method calls to objects that are not beeing
26253 controlled, added test case for that
26255 2005-08-23 Wim Taymans <wim@fluendo.com>
26257 * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26258 (gst_event_new_newsegment), (gst_event_parse_newsegment),
26259 (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26260 (gst_event_parse_qos), (gst_event_new_seek),
26261 (gst_event_parse_seek):
26263 Some more debugging output and doc cleanups.
26265 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26266 Fix possible deadlock.
26268 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26270 * docs/gst/gstreamer-docs.sgml:
26271 * docs/gst/gstreamer-sections.txt:
26272 * docs/gst/gstreamer.types:
26273 * docs/gst/tmpl/.cvsignore:
26276 * gst/gstelement.c:
26278 added 100 symbols from gstreamer-unused.txt to the right sections
26279 fixed more broken comments
26280 added GstBus to docs
26282 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26284 * docs/gst/gstreamer-sections.txt:
26285 * docs/gst/tmpl/.cvsignore:
26286 * docs/gst/tmpl/gstbin.sgml:
26287 * docs/gst/tmpl/gstbuffer.sgml:
26288 * gst/base/gstbasesrc.c:
26289 * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26292 * tools/gst-launch.1.in:
26293 inlined more doc comments, added missing comments and fixed comments
26296 2005-08-23 Thomas Vander Stichele <thomas at apestaart dot org>
26298 * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26302 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26304 * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26305 * gst/gststructure.h:
26306 add a fixate function for booleans; add a FIXME that these func
26307 names should probably be gst_structure_fixate_*
26309 2005-08-23 Stefan Kost <ensonic@users.sf.net>
26311 * docs/gst/gstreamer-docs.sgml:
26312 * docs/gst/gstreamer-sections.txt:
26314 * gst/gstbin.c: (gst_bin_get_type),
26315 (gst_bin_child_proxy_get_child_by_index),
26316 (gst_bin_child_proxy_get_children_count),
26317 (gst_bin_child_proxy_init):
26318 * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26319 (gst_child_proxy_get_child_by_index),
26320 (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26321 (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26322 (gst_child_proxy_get), (gst_child_proxy_set_property),
26323 (gst_child_proxy_set_valist), (gst_child_proxy_set),
26324 (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26325 (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26326 * gst/gstchildproxy.h:
26327 * gst/parse/grammar.y:
26328 * tools/gst-inspect.c: (print_interfaces),
26329 (print_element_properties_info), (print_element_info):
26330 ported gstchildproxy over from 0.8
26331 ported gst-inspect fixes and enhancements over from 0.8
26333 2005-08-22 Wim Taymans <wim@fluendo.com>
26335 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26336 (gst_base_transform_handle_buffer):
26337 Also call the transform function if we have ANY caps.
26339 * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26342 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26344 * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26345 Don't pretend to handle seek events if the source is not seekable
26347 2005-08-22 Jan Schmidt <thaytan@mad.scientist.com>
26349 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26350 Remove extra parameter to debug output
26352 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26353 (gst_base_src_do_seek), (gst_base_src_activate_push):
26354 Fix seek event handling.
26356 * gst/gstpipeline.c: (gst_pipeline_change_state):
26357 * gst/gstqueue.c: (gst_queue_handle_sink_event),
26358 (gst_queue_src_activate_push):
26359 Don't start the src pad task on FLUSH_STOP if the pad
26363 2005-08-22 Wim Taymans <wim@fluendo.com>
26365 * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26366 Added check for gst_static_caps_get() refcounting.
26368 2005-08-22 Wim Taymans <wim@fluendo.com>
26370 * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26371 Make _static_caps_get() refcounting sane.
26373 * gst/gstelement.c: (gst_element_set_state):
26374 Add g_return_val_if_fail() to protect against segfaults.
26376 2005-08-22 Stefan Kost <ensonic@users.sf.net>
26378 * docs/gst/tmpl/gstevent.sgml:
26381 inlined remaining docs, added missing doc comments
26383 2005-08-22 Thomas Vander Stichele <thomas at apestaart dot org>
26385 * check/gst/gstbin.c: (GST_START_TEST):
26386 since we don't know when preroll is done, use refcount range
26388 * gst/check/gstcheck.h:
26389 add macro for checking refcount range
26391 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26393 * check/Makefile.am:
26394 clean up environment for when registry gets built versus
26395 when actual tests are run; valgrind seems to not report
26396 leaks if GST_PLUGIN_PATH is set to some specific values
26397 * check/gst/gstbin.c: (GST_START_TEST):
26398 add more refcounting checks; maybe this exposes a
26400 * common/check.mak:
26401 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26402 * gst/check/gstcheck.h:
26403 * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26404 (gst_bin_change_state):
26405 * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26406 add/fix debugging/whitespace
26408 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26410 * check/gst/gstevent.c: (event_probe), (test_event),
26412 Er, don't call gst_bin_watch_for_state_change you idiot.
26414 2005-08-21 Jan Schmidt <thaytan@mad.scientist.com>
26416 * check/Makefile.am:
26417 Use CHECK_CFLAGS and CHECK_LIBS
26418 * check/gst/gstevent.c: (event_probe), (test_event),
26421 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26422 (gst_base_src_start), (gst_base_src_stop),
26423 (gst_base_src_activate_push), (gst_base_src_activate_pull),
26424 (gst_base_src_change_state):
26425 Sprinkle gst_base_src_stop liberally around error paths to fix
26426 problems reusing a source after failed state changes.
26427 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26428 (helper_find_suggest), (gst_type_find_helper):
26429 Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26431 * docs/gst/tmpl/gstevent.sgml:
26432 Migrate part of the docs from the SGML file. Wait for ensonic to
26433 tell me how I did it wrong ;)
26434 * tools/gst-typefind.c: (main):
26435 Extra robustness to state changes between files.
26437 2005-08-21 Thomas Vander Stichele <thomas at apestaart dot org>
26439 * check/Makefile.am:
26440 don't valgrind the controller test - it's leaking - Stefan, HELP
26441 * gst/check/gstcheck.c: (gst_check_message_error),
26442 (gst_check_chain_func), (gst_check_setup_element),
26443 (gst_check_teardown_element), (gst_check_setup_src_pad),
26444 (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26445 (gst_check_teardown_sink_pad):
26446 * gst/check/gstcheck.h:
26447 add a bunch of methods to set up elements, and src and sink pads
26448 * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26449 * check/elements/identity.c: (setup_identity), (cleanup_identity),
26452 * gst/gstmessage.c:
26454 whitespace/doc fixes
26456 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26458 * gst/gstelement.h:
26459 make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26460 be handled by the application and not always printed as well
26462 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26464 * check/Makefile.am:
26466 * gst/check/gstcheck.c: (gst_check_message_error):
26467 * gst/check/gstcheck.h:
26468 add a fail_unless_equals_int
26469 add fail_unless for error messages
26471 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26473 * check/Makefile.am:
26475 * common/Makefile.am:
26476 * common/check.mak:
26478 factor out some of the common stuff so we can use it
26480 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26482 * check/Makefile.am:
26483 * check/gst/gstiterator.c: (GST_START_TEST):
26484 * check/gst/gstsystemclock.c: (GST_START_TEST),
26485 (gst_systemclock_suite):
26486 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26488 valgrind more tests
26490 2005-08-20 Thomas Vander Stichele <thomas at apestaart dot org>
26492 * check/elements/.cvsignore:
26493 * check/elements/gstfakesrc.c:
26494 rename to name of element
26495 * check/elements/identity.c: (chain_func), (event_func),
26496 (setup_identity), (cleanup_identity), (GST_START_TEST),
26497 (identity_suite), (main):
26498 add a test for identity
26499 * check/Makefile.am:
26500 * pkgconfig/Makefile.am:
26501 * pkgconfig/gstreamer-check.pc.in:
26502 * pkgconfig/gstreamer-check-uninstalled.pc.in:
26506 move the check stuff to a library that gets installed
26507 * check/gst-libs/controller.c: (GST_START_TEST):
26508 * check/gst-libs/gdp.c:
26509 * check/gst/gst.c: (GST_START_TEST):
26510 * check/gst/gstbin.c:
26511 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26512 * check/gst/gstbus.c:
26513 * check/gst/gstcaps.c: (GST_START_TEST):
26514 * check/gst/gstelement.c:
26515 * check/gst/gstghostpad.c:
26516 * check/gst/gstiterator.c:
26517 * check/gst/gstmessage.c:
26518 * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26519 * check/gst/gstobject.c:
26520 * check/gst/gstpad.c: (GST_START_TEST):
26521 * check/gst/gststructure.c: (GST_START_TEST):
26522 * check/gst/gstsystemclock.c: (GST_START_TEST),
26523 (gst_systemclock_suite):
26524 * check/gst/gsttag.c: (gst_tag_suite):
26525 * check/gst/gstvalue.c:
26526 * check/pipelines/cleanup.c:
26527 * check/pipelines/simple_launch_lines.c:
26528 * check/states/sinks.c:
26529 change include statement
26531 * docs/gst/gstreamer-sections.txt:
26532 * docs/gst/tmpl/gstpad.sgml:
26533 document more pad stuff
26534 * gst/gstminiobject.c: (gst_mini_object_ref),
26535 (gst_mini_object_unref):
26538 2005-08-19 Stefan Kost <ensonic@users.sf.net>
26540 * docs/gst/tmpl/gst.sgml:
26542 eliminate another tmpl file, fix spelling in the long-description
26544 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26546 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26547 (test_event), (timediff), (gstevents_suite):
26548 Should fix build on 64-bit arch's
26550 2005-08-18 Andy Wingo <wingo@pobox.com>
26552 Make sure that when a pipeline goes to PLAYING, that data has
26553 actually hit the sink.
26555 * check/states/sinks.c (test_sink): A sink that doesn't get any
26556 data shouldn't return SUCCESS for going to either PLAYING or
26557 PAUSED. Test also the return values on the way back down.
26559 * gst/gstelement.c (gst_element_set_state): When changing the
26560 state of an element currently changing state asynchronously, go to
26561 lost-state after commiting the pending state. Makes future calls
26562 to get_state continue to return ASYNC.
26564 * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26565 ASYNC when going to PLAYING if we still don't have preroll, as can
26566 happen with live sources.
26568 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26570 * docs/pwg/advanced-types.xml:
26571 Hack long paragraph into 2 chunks as a workaround for buggy
26572 jadetex version in sid and breezy that loops infinitely and
26575 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26577 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26578 (test_event), (timediff), (gstevents_suite):
26579 Provide more error margin in clock measurements to allow for
26580 g_get_current_time inaccuracies.
26582 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26584 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26585 (test_event), (timediff), (gstevents_suite):
26586 Fix error message output so I might be able to tell why the
26587 test works here but fails on the build farm.
26589 2005-08-18 Jan Schmidt <thaytan@mad.scientist.com>
26591 * check/Makefile.am:
26592 * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26593 (test_event), (timediff), (gstevents_suite), (main):
26596 * docs/design/part-seeking.txt:
26597 Spelling correction
26599 * docs/gst/tmpl/gstevent.sgml:
26600 * docs/gst/tmpl/gstfakesrc.sgml:
26603 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26604 Treat a buffer-without-newsegment the same as a receiving
26605 a newsegment not in time format, and disable syncing to the clock
26608 * gst/gstbus.c: (gst_bus_set_sync_handler):
26609 Assert if anyone tries to replace the existing sync_handler for bus,
26610 as only the owner should be setting it.
26613 Have a fixed set of custom event enums with events identified by
26614 their structure name (as in 0.8), rather than a free-for-all
26615 allowing collisions between enum values from different plugins.
26617 * gst/gstpad.c: (gst_pad_class_init):
26620 * gst/gstqueue.c: (gst_queue_handle_sink_event):
26621 Handle out-of-band downstream events from the sending thread.
26623 2005-08-17 Andy Wingo <wingo@pobox.com>
26625 * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26626 play-timeout==0 to mean no timeout at all. In that case, don't
26627 bother with a get_state or a warning, just return directly, even
26630 * gst/base/gstbasetransform.c: Debug changes.
26633 * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26634 ensure bins post state change messages. A bit of a hack but I can't
26635 think of a way to avoid it.
26637 * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26639 2005-08-16 Andy Wingo <wingo@pobox.com>
26641 * gst/base/gstadapter.h:
26642 * gst/base/gstadapter.c (gst_adapter_take): New function, like
26643 peek() but you own the data. Not terribly efficient atm.
26645 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26647 * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26648 (gst_element_found_tags):
26650 Add two utility functions for tag handling.
26652 2005-08-16 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26654 * docs/manual/advanced-dataaccess.xml:
26655 * docs/manual/basics-helloworld.xml:
26656 Fix docs to use _bin_add() before _link(), which fixes the examples
26657 with recent core versions (reported by Madhan Raj M
26658 <raj_madan@rediffmail.com>, #313199).
26660 2005-08-16 Wim Taymans <wim@fluendo.com>
26662 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26663 Added subtract checks.
26665 * docs/design/part-events.txt:
26666 Some more docs about newsegment
26668 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26671 * gst/gstcaps.c: (gst_caps_to_string):
26672 Add comments, cleanups.
26674 * gst/gstelement.c: (gst_element_save_thyself):
26677 * gst/gstvalue.c: (gst_value_collect_int_range),
26678 (gst_string_unwrap), (gst_value_union_int_int_range),
26679 (gst_value_union_int_range_int_range),
26680 (gst_value_intersect_int_int_range),
26681 (gst_value_intersect_int_range_int_range),
26682 (gst_value_intersect_double_double_range),
26683 (gst_value_intersect_double_range_double_range),
26684 (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26685 (gst_value_subtract_int_range_int),
26686 (gst_value_subtract_double_range_double),
26687 (gst_value_subtract_double_range_double_range),
26688 (gst_value_subtract_from_list), (gst_value_subtract_list),
26689 (gst_value_can_compare), (gst_value_compare_fraction):
26690 Cleanups, add comments, remove unneeded asserts.
26692 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26694 * tools/gst-launch.c: (event_loop):
26695 don't convert NULL structures to strings
26697 2005-08-15 Stefan Kost <ensonic@users.sf.net>
26699 * docs/gst/gstreamer-sections.txt:
26700 made some defines private
26701 * docs/gst/tmpl/gstconfig.sgml:
26702 * docs/gst/tmpl/gstqueue.sgml:
26703 * docs/gst/tmpl/gsttaglist.sgml:
26704 * docs/gst/tmpl/gsttypes.sgml:
26705 * docs/gst/tmpl/gstutils.sgml:
26706 * docs/pwg/appendix-porting.xml:
26707 * gst/base/gstbasesink.h:
26708 * gst/base/gstbasesrc.c:
26709 * gst/base/gstbasesrc.h:
26710 * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26711 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26712 * gst/gstelement.c: (gst_element_class_init):
26713 * gst/gstpad.c: (gst_pad_class_init):
26714 * gst/gstqueue.c: (gst_queue_class_init):
26715 * gst/gstxml.c: (gst_xml_class_init):
26716 documented all undocumented signal inline
26717 * libs/gst/controller/gst-controller.h:
26720 2005-08-15 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26722 * docs/pwg/appendix-porting.xml:
26723 Document _set_link_function -> _set_setcaps_function.
26725 2005-08-15 Thomas Vander Stichele <thomas at apestaart dot org>
26727 * check/Makefile.am:
26728 add a .check target for running the check
26729 * check/gst-libs/controller.c: (GST_START_TEST):
26731 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26732 complete checks for gstbuffer; would be nice if I could get the
26733 gcov stuff to work so I can see if I actually completed gstbuffer.c
26734 * check/gstcheck.h:
26735 add ASSERT_BUFFER_REFCOUNT
26737 2005-08-13 Tim-Philipp Müller <tim at centricular dot net>
26739 * docs/gst/gstreamer-sections.txt:
26740 * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26742 Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26743 spew out a warning if a tag that is already registered
26744 is re-registered, unless it is re-registered with a
26745 different type (#308438).
26747 2005-08-12 Tim-Philipp Müller <tim at centricular dot net>
26749 * docs/pwg/appendix-porting.xml:
26750 * docs/pwg/building-state.xml:
26751 Add some paragraphs about state changes in 0.9 to the PWG
26752 and the porting guide, in particular about the new meaning
26753 of GST_STATE_PAUSED and how to write state change functions
26754 with concurrent access by multiple threads in mind.
26756 2005-08-11 Stefan Kost <ensonic@users.sf.net>
26758 * docs/gst/gstreamer-docs.sgml:
26759 * docs/libs/gstreamer-libs-docs.sgml:
26760 added deprecation and since indexes
26761 * libs/gst/controller/gst-controller.c:
26762 * libs/gst/controller/gst-helper.c:
26766 2005-08-11 Wim Taymans <wim@fluendo.com>
26768 * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26769 (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26770 (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26771 (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26772 (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26773 (gst_ghost_pad_set_target):
26774 Actually implement (re)setting the target on a ghostpad
26775 as described in the docs.
26777 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26779 * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26780 Check whether GST_DEBUG_NO_COLOR environment variable is
26781 set and disable coloured debug output if that is the case.
26783 2005-08-10 Tim-Philipp Müller <tim at centricular dot net>
26785 * gst/base/gsttypefindhelper.c: (helper_find_peek),
26786 (gst_type_find_helper):
26787 The memory returned by gst_type_find_peek() needs to
26788 stay valid until the end of a typefind function, and
26789 typefind functions may keep results from different
26790 offsets around, so we can't just unref the buffer from
26791 the previous _peek(), but have to save all buffers
26792 returned by _peek() until typefinding is done and only
26795 2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
26797 * docs/gst/gstreamer-sections.txt:
26799 New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26801 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26803 * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26804 Fix a pretty good memleak.
26806 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26808 * gst/gstiterator.h:
26809 Fix wrong include and 'make distcheck'.
26811 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26813 * gst/gstbin.c: (bin_bus_handler):
26814 Use gst_element_post_message() instead.
26816 2005-08-08 Tim-Philipp Müller <tim at centricular dot net>
26818 * gst/base/gstadapter.h:
26819 * gst/base/gstbasesink.h:
26820 * gst/base/gstbasesrc.h:
26821 * gst/base/gstbasetransform.h:
26822 * gst/base/gstcollectpads.h:
26823 * gst/base/gstpushsrc.h:
26824 * gst/gstiterator.h:
26825 Add padding to our base elements' class and instance structs and
26826 to GstIterator (you will need to rebuild all plugins and apps!)
26828 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26830 * gst/gstbin.c: (bin_bus_handler):
26831 Make default message forwarding from child->bus to bin->bus
26832 threadsafe and make it not emit warnings if the parent has no bus.
26834 2005-08-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26836 * gst/gstelement.c: (activate_pads):
26837 On paused->ready, set pad->caps to NULL, as is the documented
26838 behaviour in this state change. Fixes playback of series of
26839 media files when visualization is enabled in Totem.
26841 2005-08-07 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
26843 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26844 Allow NULL as filter-caps (which means "any").
26846 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26848 * docs/libs/gstreamer-libs-sections.txt:
26849 * libs/gst/controller/gst-controller.c:
26850 * libs/gst/controller/gst-controller.h:
26851 * libs/gst/controller/gst-helper.c:
26852 adding more entries to the docs and fix small doc-bugs
26854 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26856 * docs/gst/gstreamer-docs.sgml:
26857 * docs/gst/gstreamer-sections.txt:
26858 * docs/gst/gstreamer.types:
26859 * docs/gst/tmpl/gstbasesink.sgml:
26860 * docs/gst/tmpl/gstbasesrc.sgml:
26861 * docs/gst/tmpl/gstbasetransform.sgml:
26862 * docs/gst/tmpl/gstfakesrc.sgml:
26863 * gst/base/gstcollectpads.c:
26864 * gst/base/gstcollectpads.h:
26865 * libs/gst/controller/gst-controller.c:
26866 * libs/gst/controller/gst-controller.h:
26867 * libs/gst/controller/gst-helper.c:
26868 * libs/gst/controller/gst-interpolation.c:
26869 * libs/gst/controller/lib.c:
26870 added long/short desc for controller docs
26871 added collectpads base class docs
26872 added correct includes to base-class docs
26874 2005-08-05 Stefan Kost <ensonic@users.sf.net>
26876 * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26877 (gst_test_mono_source_set_property),
26878 (gst_test_mono_source_class_init), (GST_START_TEST),
26879 (gst_controller_suite):
26880 * docs/gst/gstreamer-docs.sgml:
26881 * docs/gst/gstreamer-sections.txt:
26882 * docs/gst/gstreamer.types:
26883 * docs/libs/gstreamer-libs-docs.sgml:
26884 * docs/libs/gstreamer-libs-sections.txt:
26885 * gst/base/gstadapter.c:
26886 * libs/gst/controller/gst-controller.c:
26887 (gst_controlled_property_new), (gst_controlled_property_free),
26888 (gst_controller_new_valist),
26889 (gst_controller_remove_properties_valist),
26890 (gst_controller_sink_values), (_gst_controller_finalize):
26891 * libs/gst/controller/gst-controller.h:
26892 * libs/gst/controller/gst-helper.c:
26893 (gst_object_control_properties), (gst_object_uncontrol_properties),
26894 (gst_object_get_controller), (gst_object_set_controller),
26895 (gst_object_sink_values), (gst_object_get_value_arrays),
26896 (gst_object_get_value_array):
26897 more tests (and fixes) for the controller
26898 more docs for the controller
26899 integrated companies docs for the adapter
26901 2005-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
26903 * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26904 (GST_START_TEST), (fakesrc_suite):
26905 add tests for sizetype
26907 2005-08-04 Andy Wingo <wingo@pobox.com>
26909 * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26910 fixes buffer_alloc proxying among other things.
26912 * gst/base/gstbasetransform.c:
26913 * gst/base/gstbasetransform.h:
26914 Revert patch to gstbasetransform from 7-28 removing
26917 * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26918 * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26919 Semantics changed, should return not the size of the output buffer
26920 but the byte size of a buffer with a given caps.
26922 * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26924 (gst_base_transform_configure_caps): Don't set out_size here: (in,
26925 out) are not the pad caps until setcaps finishes.
26926 (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26927 not-in-place case as well. Deal with changing from in-place to
26928 not-in-place within calling pad_alloc_buffer. Still a bit
26929 concerned about the overhead here...
26931 2005-08-03 Andy Wingo <wingo@pobox.com>
26933 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26934 fixating is an error.
26936 2005-08-04 Edward Hervey <edward@fluendo.com>
26938 * gst/base/gstadapter.h:
26939 Added gst_adapter_get_type() to the header
26941 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26943 * check/Makefile.am:
26944 * check/gst-libs/controller.c:
26945 * libs/gst/controller/gst-controller.c:
26946 (gst_controller_new_valist):
26947 added check test suite for the controller
26948 * gst/base/gstpushsrc.c:
26951 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26953 * docs/gst/Makefile.am:
26954 * docs/gst/gstreamer-docs.sgml:
26955 * docs/gst/gstreamer-sections.txt:
26956 * docs/gst/gstreamer.types:
26957 * docs/gst/tmpl/gstfakesrc.sgml:
26959 * gst/base/gstbasesink.c:
26960 * gst/base/gstbasesink.h:
26961 * gst/base/gstbasesrc.c:
26962 * gst/base/gstbasesrc.h:
26963 * gst/base/gstbasetransform.c:
26964 * gst/base/gstpushsrc.c:
26965 * gst/base/gstpushsrc.h:
26966 add short/long description docs to base classes
26967 add pushsrc to the docs
26968 remove consolidated doc fragments
26970 2005-08-03 Stefan Kost <ensonic@users.sf.net>
26973 * docs/libs/Makefile.am:
26974 * docs/libs/gstreamer-libs-docs.sgml:
26975 * docs/libs/gstreamer-libs-sections.txt:
26976 * docs/libs/gstreamer-libs.types:
26977 * examples/Makefile.am:
26978 * examples/controller/.cvsignore:
26979 * examples/controller/Makefile.am:
26980 * examples/controller/audio-example.c: (main):
26981 * libs/gst/Makefile.am:
26982 * libs/gst/controller/.cvsignore:
26983 * libs/gst/controller/Makefile.am:
26984 * libs/gst/controller/gst-controller.c:
26985 (on_object_controlled_property_changed), (gst_timed_value_compare),
26986 (gst_timed_value_find),
26987 (gst_controlled_property_set_interpolation_mode),
26988 (gst_controlled_property_new), (gst_controlled_property_free),
26989 (gst_controller_find_controlled_property),
26990 (gst_controller_new_valist), (gst_controller_new),
26991 (gst_controller_remove_properties_valist),
26992 (gst_controller_remove_properties), (gst_controller_set),
26993 (gst_controller_set_from_list), (gst_controller_unset),
26994 (gst_controller_get), (gst_controller_get_all),
26995 (gst_controller_sink_values), (gst_controller_get_value_arrays),
26996 (gst_controller_get_value_array),
26997 (gst_controller_set_interpolation_mode),
26998 (_gst_controller_finalize), (_gst_controller_init),
26999 (_gst_controller_class_init), (gst_controller_get_type):
27000 * libs/gst/controller/gst-controller.h:
27001 * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27002 (g_object_uncontrol_properties), (g_object_get_controller),
27003 (g_object_set_controller), (g_object_sink_values),
27004 (g_object_get_value_arrays), (g_object_get_value_array):
27005 * libs/gst/controller/gst-interpolation.c:
27006 (gst_controlled_property_find_timed_value_node),
27007 (interpolate_none_get), (interpolate_trigger_get),
27008 (interpolate_trigger_get_value_array):
27009 * libs/gst/controller/lib.c: (gst_controller_init):
27010 * pkgconfig/Makefile.am:
27011 * pkgconfig/gstreamer-control-uninstalled.pc.in:
27012 * pkgconfig/gstreamer-control.pc.in:
27013 * testsuite/Makefile.am:
27014 * testsuite/controller/.cvsignore:
27015 * testsuite/controller/Makefile.am:
27016 * testsuite/controller/interpolator.c: (main):
27017 added controller code
27018 removed dparam pc files
27020 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27021 * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27022 (gst_collectpads_stop):
27023 Broadcast the condition when shutting down, to make sure we wake all
27024 threads up. Shut down pads on finalize, for safety.
27026 2005-08-01 Jan Schmidt <thaytan@mad.scientist.com>
27027 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27028 (gst_base_transform_handle_buffer),
27029 (gst_base_transform_change_state):
27030 Handle PAUSED->READY->PAUSED transition after negotiation
27032 * gst/gstmessage.c: (gst_message_init):
27033 Extra piece of debug for new messages.
27035 2005-08-01 Stefan Kost <ensonic@users.sf.net>
27038 * docs/gst/tmpl/gstbasesrc.sgml:
27039 * docs/gst/tmpl/gstelement.sgml:
27040 * docs/gst/tmpl/gstevent.sgml:
27041 * docs/gst/tmpl/gstfakesrc.sgml:
27042 * docs/gst/tmpl/gstformat.sgml:
27043 * docs/gst/tmpl/gstghostpad.sgml:
27044 * docs/gst/tmpl/gstpad.sgml:
27045 * docs/gst/tmpl/gstquery.sgml:
27046 * docs/gst/tmpl/gststructure.sgml:
27047 * docs/gst/tmpl/gsttaglist.sgml:
27048 * docs/gst/tmpl/gstvalue.sgml:
27049 * docs/libs/gstreamer-libs-docs.sgml:
27050 * docs/libs/gstreamer-libs-sections.txt:
27051 * docs/libs/gstreamer-libs.types:
27052 * libs/gst/Makefile.am:
27053 * libs/gst/control/.cvsignore:
27054 * libs/gst/control/Makefile.am:
27055 * libs/gst/control/control.c:
27056 * libs/gst/control/control.h:
27057 * libs/gst/control/dparam.c:
27058 * libs/gst/control/dparam.h:
27059 * libs/gst/control/dparam_smooth.c:
27060 * libs/gst/control/dparam_smooth.h:
27061 * libs/gst/control/dparamcommon.h:
27062 * libs/gst/control/dparammanager.c:
27063 * libs/gst/control/dparammanager.h:
27064 * libs/gst/control/dplinearinterp.c:
27065 * libs/gst/control/dplinearinterp.h:
27066 * libs/gst/control/unitconvert.c:
27067 * libs/gst/control/unitconvert.h:
27068 * testsuite/Makefile.am:
27069 * testsuite/dynparams/.cvsignore:
27070 * testsuite/dynparams/Makefile.am:
27071 * testsuite/dynparams/dparamstest.c:
27072 * tools/Makefile.am:
27073 * tools/gst-inspect.c: (print_element_info), (main):
27074 * tools/gst-xmlinspect.c: (print_element_info), (main):
27075 deactivate and remove dparams (libgstcontrol)
27077 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27079 * gst/elements/gsttypefindelement.c:
27080 (gst_type_find_element_have_type), (gst_type_find_element_init),
27081 (stop_typefinding), (gst_type_find_element_handle_event),
27082 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27083 * gst/elements/gsttypefindelement.h:
27084 Set caps on all outgoing buffers, not just the first one.
27086 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27088 * gst/elements/gsttypefindelement.c:
27089 (gst_type_find_element_have_type),
27090 (gst_type_find_element_check_set_buffer_caps),
27091 (gst_type_find_element_init), (stop_typefinding),
27092 (gst_type_find_element_handle_event),
27093 (gst_type_find_element_chain), (gst_type_find_element_getrange):
27094 * gst/elements/gsttypefindelement.h:
27095 Set caps on first outgoing buffer when we've found the type.
27097 2005-08-01 Tim-Philipp Müller <tim at centricular dot net>
27099 * docs/gst/gstreamer-docs.sgml:
27100 * docs/gst/gstreamer-sections.txt:
27101 * docs/gst/tmpl/gstscheduler.sgml:
27102 * docs/gst/tmpl/gstschedulerfactory.sgml:
27103 Remove some old cruft from docs.
27105 2005-07-31 Tim-Philipp Müller <tim at centricular dot net>
27108 Fix inline docs for GstPadLinkReturn.
27110 * gst/gststructure.c: (gst_structure_has_name):
27111 * gst/gststructure.h:
27112 * docs/gst/gstreamer-sections.txt:
27113 New API: gst_structure_has_name().
27115 2005-07-30 Tim-Philipp Müller <tim at centricular dot net>
27118 Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27119 and _LARGEFILE_SOURCE in config.h as required. Do not
27120 export those flags in our .pc files any longer (#142209).
27122 Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27124 * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27125 (gst_file_sink_do_seek), (gst_file_sink_event),
27126 (gst_file_sink_get_current_offset), (gst_file_sink_render):
27127 Redo seek/tell calls with large file support in mind; add some
27128 debugging messages; add log message that tells us when large
27129 file support is unavailable or not enabled for some reason.
27131 * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27132 Add log message that tells us when large file support
27133 is unavailable or not enabled for some reason.
27135 2005-07-29 Wim Taymans <wim@fluendo.com>
27137 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27138 Added test for removing an element with ghostpad from a bin.
27139 Fixed test as current implementation does the right thing.
27141 * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27142 (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27143 (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27144 (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27145 (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27146 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27147 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27148 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27149 (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27150 (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27151 (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27152 (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27153 (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27154 (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27155 (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27156 (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27157 * gst/gstghostpad.h:
27158 Clean up ghostpads, remove properties for internal stuff.
27161 Prepare for switching targets, not all use cases work yet.
27163 2005-07-29 Wim Taymans <wim@fluendo.com>
27165 * docs/design/part-gstghostpad.txt:
27168 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27169 (gst_bin_remove_func):
27170 Unlinking pads while holding the bin LOCK is not a good
27173 * gst/gstpad.c: (gst_pad_class_init),
27174 (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27175 (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27176 No prob setting template after creating the pad.
27178 2005-07-29 Jan Schmidt <thaytan@mad.scientist.com>
27180 * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27181 (gst_bus_peek), (gst_bus_source_dispatch),
27182 (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27183 (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27184 gst_bus_poll may be called from other threads. Handle
27185 this nicely by not making poll_data disappear off the
27186 stack once gst_bus_poll returns.
27187 gst_bus_peek now increments the refcount on the returned
27190 2005-07-29 Wim Taymans <wim@fluendo.com>
27192 * docs/design/part-gstghostpad.txt:
27193 Overview of current GhostPad datastructures and use
27194 cases for changing the target.
27196 2005-07-28 Wim Taymans <wim@fluendo.com>
27198 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27199 Added checks for hierarchy consistency whan adding linked
27202 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27203 Added check to test element scheduling without bin/pipeline.
27205 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27206 First add elements to bin, then link.
27208 * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27209 (gst_bin_remove_func):
27210 Unlink pads from elements added/removed from bin to maintain
27211 hierarchy consistency.
27213 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27215 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27216 (gst_base_transform_handle_buffer):
27217 * gst/base/gstbasetransform.h:
27218 Remove broken delay_configure (fixes renegotiation of software
27219 scaling pipelines); remove some leftover printf()s.
27221 2005-07-28 Wim Taymans <wim@fluendo.com>
27223 * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27224 Added some more tests for wrong hierarchy
27226 * docs/design/part-overview.txt:
27229 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27232 * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27233 (gst_element_dispose):
27234 Some more cleanups.
27236 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27237 (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27238 (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27239 (gst_pad_set_caps), (gst_pad_send_event):
27240 Check for correct hierarchy when linking pads. Moving to
27241 strict requirement for ghostpads when linking elements in
27245 Clean ups. Added WRONG_HIERARCHY return value.
27247 2005-07-28 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27249 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27250 Better debug if no transform is possible.
27252 2005-07-27 Wim Taymans <wim@fluendo.com>
27254 * docs/random/wtay/network-transp:
27255 Some old doc I had.
27257 2005-07-27 Wim Taymans <wim@fluendo.com>
27259 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27260 (gst_dp_event_from_packet):
27261 Fix serialization of seek events.
27263 2005-07-27 Wim Taymans <wim@fluendo.com>
27265 * check/gst-libs/gdp.c: (GST_START_TEST):
27266 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27267 Fix compilation and fix event serialization.
27269 2005-07-27 Wim Taymans <wim@fluendo.com>
27272 * docs/design/part-TODO.txt:
27273 * docs/design/part-events.txt:
27276 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27277 (gst_base_sink_event), (gst_base_sink_do_sync),
27278 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27279 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27280 (gst_base_src_do_seek), (gst_base_src_event_handler),
27281 (gst_base_src_loop):
27282 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27283 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27284 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27285 (gst_base_transform_event), (gst_base_transform_handle_buffer),
27286 (gst_base_transform_set_passthrough),
27287 (gst_base_transform_is_passthrough):
27288 * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27289 * gst/elements/gstfilesink.c: (gst_file_sink_event):
27295 * gst/gstelement.c: (gst_element_seek):
27296 * gst/gstelement.h:
27297 Update gst_element_seek.
27299 * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27300 (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27301 (gst_event_new_flush_start), (gst_event_new_flush_stop),
27302 (gst_event_new_eos), (gst_event_new_newsegment),
27303 (gst_event_parse_newsegment), (gst_event_new_tag),
27304 (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27305 (gst_event_parse_qos), (gst_event_new_seek),
27306 (gst_event_parse_seek), (gst_event_new_navigation):
27308 Make GstEvent use GstStructure. Add parsing code, make sure the
27309 API is sufficiently generic.
27310 Mark possible directions of events and serialization.
27312 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27313 (_gst_message_copy), (gst_message_new_segment_start),
27314 (gst_message_new_segment_done), (gst_message_new_custom),
27315 (gst_message_parse_segment_start),
27316 (gst_message_parse_segment_done):
27319 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27320 (gst_pad_set_caps), (gst_pad_send_event):
27321 Update for new events.
27322 Catch events sent in wrong directions.
27324 * gst/gstqueue.c: (gst_queue_link_src),
27325 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27326 (gst_queue_handle_src_query):
27331 Remove event code from this file.
27333 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27334 (gst_dp_event_from_packet):
27337 2005-07-27 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27339 * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27340 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27341 (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27342 Make debugging actually useful.
27344 2005-07-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27346 * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27347 (gst_pad_fixate_caps):
27348 Implement default fixation once again, so that gst_pad_fixate()
27349 actually does anything at all. This probably needs to be some
27350 sort of a last resort, and use profile-based fixation first, but
27351 since that doesn't exist yet, this is the best we have. Fixes
27352 visualization in Totem.
27354 2005-07-22 Wim Taymans <wim@fluendo.com>
27356 * docs/design/part-events.txt:
27359 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27360 (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27361 (gst_base_sink_activate_pull):
27362 Some more comments.
27364 * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27365 (gst_fake_src_create):
27366 Fix handoff marshall.
27368 * gst/elements/gstidentity.c: (gst_identity_class_init),
27369 (gst_identity_transform_ip):
27370 We're a real inplace element.
27372 * gst/gstbus.c: (gst_bus_post):
27373 Added some comments.
27375 * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27376 * tests/muxing/case1.c: (main):
27377 * tests/sched/dynamic-pipeline.c: (main):
27378 * tests/sched/interrupt1.c: (main):
27379 * tests/sched/interrupt2.c: (main):
27380 * tests/sched/interrupt3.c: (main):
27381 * tests/sched/runxml.c: (main):
27382 * tests/sched/sched-stress.c: (main):
27383 * tests/seeking/seeking1.c: (event_received), (main):
27384 * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27386 * tests/threadstate/threadstate3.c: (main):
27387 * tests/threadstate/threadstate4.c: (main):
27388 * tests/threadstate/threadstate5.c: (main):
27391 2005-07-21 Wim Taymans <wim@fluendo.com>
27393 * docs/design/part-seeking.txt:
27394 Some small additions.
27396 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27397 (gst_base_sink_get_times), (gst_base_sink_do_sync),
27398 (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27399 * gst/base/gstbasesink.h:
27400 discont values are gint64, handle the math correctly.
27402 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27403 Make the basesrc report error if the source pad is not linked.
27405 * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27406 (gst_queue_loop), (gst_queue_handle_src_query),
27407 (gst_queue_src_activate_push):
27408 Make queue collect data even if the srcpad is not linked.
27409 Start pushing out data as soon as it is linked.
27411 * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27413 Added gst_flow_get_name() to ease error reporting.
27415 2005-07-20 Wim Taymans <wim@fluendo.com>
27417 * gst/gstmessage.c: (gst_message_new_segment_start),
27418 (gst_message_new_segment_done), (gst_message_parse_segment_start),
27419 (gst_message_parse_segment_done):
27420 * gst/gstmessage.h:
27421 Added a bunch of messages for advanced seeking.
27423 * gst/parse/grammar.y:
27424 * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27425 (gst_dpman_state_changed):
27426 Fix some new-pad -> pad-added signals
27428 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27430 * docs/manual/appendix-porting.xml:
27431 * docs/pwg/appendix-porting.xml:
27432 Document new-pad/state-change signal renames and the FixedList
27435 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27437 * docs/manual/advanced-autoplugging.xml:
27438 * docs/manual/basics-helloworld.xml:
27439 * docs/manual/basics-pads.xml:
27440 * docs/random/ds/0.9-suggested-changes:
27441 * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27442 * gst/gstelement.h:
27446 * gst/gststructure.c: (gst_structure_value_get_generic_type),
27447 (gst_structure_parse_array), (gst_structure_parse_value):
27448 * gst/gstvalue.c: (gst_type_is_fixed),
27449 (gst_value_list_prepend_value), (gst_value_list_append_value),
27450 (gst_value_list_get_size), (gst_value_list_get_value),
27451 (gst_value_transform_array_string), (gst_value_serialize_array),
27452 (gst_value_deserialize_array), (gst_value_intersect_array),
27453 (gst_value_is_fixed), (_gst_value_initialize):
27455 GstElement::new-pad -> pad-added, GstElement::state-change ->
27456 state-changed, GstValueFixedList -> GstValueArray, add format and
27457 flags as their own arguments in gst_element_seek() (should improve
27458 "bindeability"), remove function generators since they don't work
27459 under a whole bunch of compilers (they were deprecated already
27462 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27464 * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27465 (_gst_debug_register_funcptr):
27467 Fix illegal cast on some platforms (#309253).
27469 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27471 * gst/gstmessage.c: (gst_message_new_custom):
27472 * gst/gstmessage.h:
27473 Add _new_custom, make _new_application a macro to _new_custom.
27475 2005-07-20 Wim Taymans <wim@fluendo.com>
27477 * gst/base/gstbasesrc.c: (gst_base_src_init),
27478 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27479 * gst/base/gstbasesrc.h:
27480 Add a gboolean to decide when to push out a discont.
27482 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27483 (gst_queue_loop), (gst_queue_handle_src_query),
27484 (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27485 (gst_queue_set_property), (gst_queue_get_property):
27488 * tests/threadstate/threadstate1.c: (main):
27489 Make a thread test compile and run... very silly..
27492 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27494 * docs/manual/appendix-porting.xml:
27495 Mention removal of libgstgconf-0.9.la and existence of gconf
27498 2005-07-20 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
27500 * docs/pwg/advanced-clock.xml:
27501 * docs/pwg/appendix-porting.xml:
27502 * docs/pwg/intro-preface.xml:
27503 * docs/pwg/other-base.xml:
27504 * docs/pwg/other-manager.xml:
27505 * docs/pwg/other-nton.xml:
27506 * docs/pwg/other-ntoone.xml:
27507 * docs/pwg/other-oneton.xml:
27508 * docs/pwg/pwg.xml:
27509 Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27510 demuxer), remove n-to-n (was never written), fix some code examples
27511 and links and update the porting section to include all this.
27513 2005-07-19 Wim Taymans <wim@fluendo.com>
27515 * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27516 (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27517 (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27518 (gst_queue_src_activate_push), (gst_queue_change_state),
27519 (gst_queue_get_property):
27521 Propagate GstFlowReturn more intelligently upstream and output
27522 an ERROR/EOS when streaming stopped due to fatal error.
27524 2005-07-19 Wim Taymans <wim@fluendo.com>
27526 * tools/gst-launch.c: (check_intr), (event_loop), (main):
27527 Don't block forever for the state change to complete, the
27528 pipeline already did with a sensible timeout.
27530 2005-07-19 Wim Taymans <wim@fluendo.com>
27532 * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27533 Make sure we never call the create function is we
27536 2005-07-19 Andy Wingo <wingo@pobox.com>
27538 * gst/parse/parse.l: Attempt to solve bug #172815.
27540 2005-07-19 Wim Taymans <wim@fluendo.com>
27542 * docs/design/part-clocks.txt:
27543 * docs/design/part-events.txt:
27544 * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27545 Small docs updates.
27546 Only update the seeking values when we are not
27549 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27551 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27552 Oops, ignore the result of gst_pad_push_event here.
27554 2005-07-19 Jan Schmidt <thaytan@mad.scientist.com>
27556 * gst/base/gstbasesrc.c: (gst_base_src_loop),
27557 (gst_base_src_activate_push):
27558 Send discont event from the loop function, as pads
27559 aren't activated yet in the activate_push handler.
27561 * gst/gstbin.c: (bin_bus_handler):
27562 Don't leak element name.
27564 2005-07-18 Andy Wingo <wingo@pobox.com>
27566 * configure.ac: Use AS_LIBTOOL_TAGS.
27568 2005-07-18 Wim Taymans <wim@fluendo.com>
27570 * docs/gst/gstreamer.types:
27571 Remove deleted types.
27573 2005-07-18 Wim Taymans <wim@fluendo.com>
27575 * check/elements/gstfakesrc.c: (GST_START_TEST):
27578 * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27579 (init_popt_callback):
27581 * gst/gst_private.h:
27582 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27583 (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27586 * gst/gstconfig.h.in:
27587 * gst/gstelement.c: (gst_element_class_init),
27588 (gst_element_set_base_time), (gst_element_get_base_time),
27589 (iterator_fold_with_resync), (gst_element_change_state),
27590 (gst_element_dispose), (gst_element_get_bus):
27591 * gst/gstelement.h:
27592 * gst/gstelementfactory.h:
27593 * gst/gsterror.c: (_gst_core_errors_init):
27596 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27598 * gst/gstinfo.c: (_gst_debug_init):
27599 * gst/gstmessage.c: (_gst_message_copy):
27600 * gst/gstmessage.h:
27601 * gst/gstminiobject.h:
27604 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27605 (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27608 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27609 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27610 (gst_pipeline_get_last_stream_time):
27611 * gst/gstpipeline.h:
27612 * gst/gstpluginfeature.h:
27614 * gst/gstscheduler.c:
27615 * gst/gstscheduler.h:
27616 * gst/gststructure.h:
27617 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27618 (gst_task_finalize), (gst_task_func), (gst_task_create),
27619 (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27620 (gst_task_stop), (gst_task_pause):
27622 * gst/gsttypefind.h:
27624 * gst/registries/gstlibxmlregistry.c: (load_feature),
27625 (gst_xml_registry_load), (gst_xml_registry_save_feature):
27626 * gst/registries/gstxmlregistry.c:
27627 (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27628 * gst/schedulers/threadscheduler.c:
27629 * libs/gst/control/dparammanager.h:
27630 * tools/gst-inspect.c: (print_element_list),
27631 (print_plugin_features), (print_element_features):
27632 * tools/gst-xmlinspect.c: (print_element_list),
27633 (print_plugin_info), (main):
27634 Removed plugable schedulers.
27635 Removed Scheduler/Manager from elements.
27636 Removed gsttypes.h, rearranged includes.
27637 Removed dependency pad<->element, element<>pipeline, and
27638 various others, fix includes.
27639 implement gst_pad_get_parent() with gst_object_get_parent()
27640 Make GstTask sefcontained.
27641 Fix _get_state() on GstBin, it did not return ASYNC with a 0
27643 Fix endless loop in iterator_fold_with_resync.
27646 2005-07-18 Wim Taymans <wim@fluendo.com>
27652 2005-07-18 Wim Taymans <wim@fluendo.com>
27655 No more cothreads.h
27657 2005-07-18 Wim Taymans <wim@fluendo.com>
27661 Let's remove these.
27663 2005-07-18 Wim Taymans <wim@fluendo.com>
27665 * docs/design/part-dynamic.txt:
27666 * docs/design/part-events.txt:
27667 * docs/design/part-seeking.txt:
27668 Some more docs in the works.
27670 * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27671 (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27672 (gst_base_transform_setcaps), (gst_base_transform_get_size),
27673 (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27674 (gst_base_transform_handle_buffer),
27675 (gst_base_transform_sink_activate_push),
27676 (gst_base_transform_src_activate_pull),
27677 (gst_base_transform_set_passthrough),
27678 (gst_base_transform_is_passthrough):
27681 * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27684 * gst/gstevent.c: (gst_event_finalize):
27687 * gst/gstutils.c: (gst_element_unlink),
27688 (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27689 (gst_pad_proxy_setcaps):
27691 Add _get_parent_element() to get a pads parent as an element.
27693 2005-07-18 Wim Taymans <wim@fluendo.com>
27695 * check/gst/gstbin.c: (GST_START_TEST):
27698 2005-07-18 Wim Taymans <wim@fluendo.com>
27700 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27701 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27702 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27703 (gst_base_sink_event), (gst_base_sink_do_sync),
27704 (gst_base_sink_chain), (gst_base_sink_loop),
27705 (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27706 (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27708 Fix logic for returning ASYNC when not prerolled.
27710 2005-07-18 Wim Taymans <wim@fluendo.com>
27712 * gst/gstqueue.c: (gst_queue_handle_sink_event):
27713 Fix nasty refcount bug.
27715 2005-07-16 Philippe Khalaf <burger@speedy.org>
27717 * gst/elements/gstfdsrc.c:
27718 * gst/elements/gstfdsrc.h:
27719 * gst/elements/gstelements.c:
27720 * gst/elements/Makefile.am:
27721 Ported fdsrc to 0.9.
27723 2005-07-16 Wim Taymans <wim@fluendo.com>
27725 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27726 (gst_base_sink_do_sync):
27729 2005-07-16 Wim Taymans <wim@fluendo.com>
27731 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27732 (gst_base_sink_event), (gst_base_sink_get_times),
27733 (gst_base_sink_do_sync), (gst_base_sink_change_state):
27734 * gst/base/gstbasesink.h:
27735 Store and use discont values when syncing buffers as described
27738 * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27739 (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27740 (gst_base_src_activate_push):
27741 Push discont event when starting.
27743 * gst/elements/gstidentity.c: (gst_identity_transform):
27746 * gst/gstbin.c: (gst_bin_change_state):
27747 Small cleanups in base_time distribution.
27749 * gst/gstelement.c: (gst_element_set_base_time),
27750 (gst_element_get_base_time), (gst_element_change_state):
27751 * gst/gstelement.h:
27752 Added methods for the base_time of the element.
27755 * gst/gstpipeline.c: (gst_pipeline_send_event),
27756 (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27757 (gst_pipeline_get_last_stream_time):
27758 * gst/gstpipeline.h:
27760 Handle seeking as described in design doc, remove stream_time
27762 Cleanups clock and stream_time selection code. Added accessors
27763 for the stream_time.
27766 2005-07-16 Andy Wingo <wingo@pobox.com>
27768 * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27771 2005-07-16 Wim Taymans <wim@fluendo.com>
27773 * check/gst/gstbin.c: (GST_START_TEST):
27774 Make elements silent as the deep_notify refs the
27775 parent, which might make the test fail.
27777 * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27778 Don't hold the lock for too long.
27780 2005-07-16 Tim-Philipp Müller <tim at centricular dot net>
27782 * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27783 Don't unref the caps we passed to gst_caps_make_writable() after
27784 passing them. gst_caps_make_writable() will do that for us.
27786 2005-07-15 Andy Wingo <wingo@pobox.com>
27788 * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27791 * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27792 own marshalling function for the handoff signal. Properly type the
27793 buffer as a buffer. Fixes some warnings. Should do a more general
27795 (gst_identity_class_init): Plug into the right marshaller.
27797 2005-07-15 Wim Taymans <wim@fluendo.com>
27799 * docs/design/part-TODO.txt:
27800 * docs/design/part-clocks.txt:
27801 * docs/design/part-element-sink.txt:
27802 * docs/design/part-events.txt:
27803 * docs/design/part-gstpipeline.txt:
27804 Updated docs, mostly DISCONT related.
27806 2005-07-15 Tim-Philipp Müller <tim at centricular dot net>
27808 * docs/pwg/building-pads.xml:
27809 s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27811 2005-07-15 Andy Wingo <wingo@pobox.com>
27813 * tools/gst-typefind.c: Update, add copyright block.
27815 * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27816 Normalize and truncate caps before fixation.
27819 * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27820 discards all but the first structure from its argument.
27822 2005-07-15 Wim Taymans <wim@fluendo.com>
27824 * gst/base/gstbasetransform.c: (gst_base_transform_init),
27825 (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27826 (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27827 (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27828 (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27829 (gst_base_transform_chain), (gst_base_transform_change_state),
27830 (gst_base_transform_set_passthrough),
27831 (gst_base_transform_is_passthrough):
27832 * gst/base/gstbasetransform.h:
27833 Make passthrough work using the bufferpools.
27834 Changed API a bit, subclasses have to write into a buffer
27835 provided by the base class.
27836 More debug info in nego functions.
27838 * gst/elements/gstidentity.c: (gst_identity_init),
27839 (gst_identity_transform):
27840 Port to new base class.
27842 2005-07-15 Wim Taymans <wim@fluendo.com>
27844 * gst/gstmessage.c: (gst_message_new_state_changed):
27845 * tools/gst-launch.c: (event_loop), (main):
27846 Totally dump messages in -launch with the -m option.
27847 Fix message name for State messages,
27849 2005-07-14 Wim Taymans <wim@fluendo.com>
27851 * gst/base/gstbasesrc.c: (gst_base_src_loop):
27852 Post error messages on errors.
27854 2005-07-14 Wim Taymans <wim@fluendo.com>
27856 * gst/gstcaps.c: (gst_caps_do_simplify):
27860 Define error for stream stopped.
27862 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27863 (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27864 Do proper return values.
27866 * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27867 (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27868 (gst_pad_get_range):
27869 Better return values.
27872 Reorganise return values, add macro to check for fatal errors.
27874 * gst/gstqueue.c: (gst_queue_chain):
27875 Return proper GstFlowReturn values,
27877 2005-07-14 Thomas Vander Stichele <thomas at apestaart dot org>
27879 * docs/gst/gstreamer-sections.txt:
27880 * docs/gst/gstreamer.types:
27881 * docs/gst/tmpl/gst.sgml:
27882 * docs/gst/tmpl/gstbasesink.sgml:
27883 * docs/gst/tmpl/gstbasesrc.sgml:
27884 * docs/gst/tmpl/gstbasetransform.sgml:
27885 * docs/gst/tmpl/gstbin.sgml:
27886 * docs/gst/tmpl/gstbuffer.sgml:
27887 * docs/gst/tmpl/gstcaps.sgml:
27888 * docs/gst/tmpl/gstclock.sgml:
27889 * docs/gst/tmpl/gstcompat.sgml:
27890 * docs/gst/tmpl/gstconfig.sgml:
27891 * docs/gst/tmpl/gstelement.sgml:
27892 * docs/gst/tmpl/gstelementdetails.sgml:
27893 * docs/gst/tmpl/gstelementfactory.sgml:
27894 * docs/gst/tmpl/gstenumtypes.sgml:
27895 * docs/gst/tmpl/gsterror.sgml:
27896 * docs/gst/tmpl/gstevent.sgml:
27897 * docs/gst/tmpl/gstfakesink.sgml:
27898 * docs/gst/tmpl/gstfakesrc.sgml:
27899 * docs/gst/tmpl/gstfilesink.sgml:
27900 * docs/gst/tmpl/gstfilesrc.sgml:
27901 * docs/gst/tmpl/gstfilter.sgml:
27902 * docs/gst/tmpl/gstformat.sgml:
27903 * docs/gst/tmpl/gstghostpad.sgml:
27904 * docs/gst/tmpl/gstimplementsinterface.sgml:
27905 * docs/gst/tmpl/gstindex.sgml:
27906 * docs/gst/tmpl/gstindexfactory.sgml:
27907 * docs/gst/tmpl/gstinfo.sgml:
27908 * docs/gst/tmpl/gstiterator.sgml:
27909 * docs/gst/tmpl/gstmacros.sgml:
27910 * docs/gst/tmpl/gstmemchunk.sgml:
27911 * docs/gst/tmpl/gstminiobject.sgml:
27912 * docs/gst/tmpl/gstobject.sgml:
27913 * docs/gst/tmpl/gstpad.sgml:
27914 * docs/gst/tmpl/gstpadtemplate.sgml:
27915 * docs/gst/tmpl/gstparse.sgml:
27916 * docs/gst/tmpl/gstpipeline.sgml:
27917 * docs/gst/tmpl/gstplugin.sgml:
27918 * docs/gst/tmpl/gstpluginfeature.sgml:
27919 * docs/gst/tmpl/gstquery.sgml:
27920 * docs/gst/tmpl/gstqueue.sgml:
27921 * docs/gst/tmpl/gstregistry.sgml:
27922 * docs/gst/tmpl/gstregistrypool.sgml:
27923 * docs/gst/tmpl/gstscheduler.sgml:
27924 * docs/gst/tmpl/gstschedulerfactory.sgml:
27925 * docs/gst/tmpl/gststructure.sgml:
27926 * docs/gst/tmpl/gstsystemclock.sgml:
27927 * docs/gst/tmpl/gsttaglist.sgml:
27928 * docs/gst/tmpl/gsttagsetter.sgml:
27929 * docs/gst/tmpl/gsttrace.sgml:
27930 * docs/gst/tmpl/gsttrashstack.sgml:
27931 * docs/gst/tmpl/gsttypefind.sgml:
27932 * docs/gst/tmpl/gsttypefindfactory.sgml:
27933 * docs/gst/tmpl/gsttypes.sgml:
27934 * docs/gst/tmpl/gsturihandler.sgml:
27935 * docs/gst/tmpl/gsturitype.sgml:
27936 * docs/gst/tmpl/gstutils.sgml:
27937 * docs/gst/tmpl/gstvalue.sgml:
27938 * docs/gst/tmpl/gstversion.sgml:
27939 * docs/gst/tmpl/gstxml.sgml:
27940 * docs/libs/tmpl/gstcontrol.sgml:
27941 * docs/libs/tmpl/gstdataprotocol.sgml:
27942 * docs/libs/tmpl/gstdparam.sgml:
27943 * docs/libs/tmpl/gstdplinint.sgml:
27944 * docs/libs/tmpl/gstdpman.sgml:
27945 * docs/libs/tmpl/gstdpsmooth.sgml:
27946 * docs/libs/tmpl/gstgetbits.sgml:
27947 * docs/libs/tmpl/gstunitconvert.sgml:
27948 * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27949 (gst_push_src_base_init), (gst_push_src_class_init),
27950 (gst_push_src_init), (gst_push_src_create):
27951 * gst/base/gstpushsrc.h:
27952 * gst/elements/gstelements.c:
27953 * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27954 (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27955 (gst_fake_sink_init), (gst_fake_sink_set_property),
27956 (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27957 (gst_fake_sink_event), (gst_fake_sink_preroll),
27958 (gst_fake_sink_render), (gst_fake_sink_change_state):
27959 * gst/elements/gstfakesink.h:
27960 * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27961 (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27962 (gst_fake_src_base_init), (gst_fake_src_class_init),
27963 (gst_fake_src_init), (gst_fake_src_event_handler),
27964 (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27965 (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27966 (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27967 (gst_fake_src_create_buffer), (gst_fake_src_create),
27968 (gst_fake_src_start), (gst_fake_src_stop):
27969 * gst/elements/gstfakesrc.h:
27970 * gst/elements/gstfilesink.c: (_do_init),
27971 (gst_file_sink_base_init), (gst_file_sink_class_init),
27972 (gst_file_sink_init), (gst_file_sink_dispose),
27973 (gst_file_sink_set_location), (gst_file_sink_set_property),
27974 (gst_file_sink_get_property), (gst_file_sink_open_file),
27975 (gst_file_sink_close_file), (gst_file_sink_query),
27976 (gst_file_sink_event), (gst_file_sink_render),
27977 (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27978 (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27979 (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27980 * gst/elements/gstfilesink.h:
27981 * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27982 (gst_file_src_class_init), (gst_file_src_init),
27983 (gst_file_src_finalize), (gst_file_src_set_location),
27984 (gst_file_src_set_property), (gst_file_src_get_property),
27985 (gst_file_src_map_region), (gst_file_src_map_small_region),
27986 (gst_file_src_create_mmap), (gst_file_src_create_read),
27987 (gst_file_src_create), (gst_file_src_is_seekable),
27988 (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27989 (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27990 (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27991 (gst_file_src_uri_handler_init):
27992 * gst/elements/gstfilesrc.h:
27993 more autistic cleanliness in functions/names/defines
27995 2005-07-13 Andy Wingo <wingo@pobox.com>
27997 * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27998 source couldn't negotiate.
28000 * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28004 * gst/gstutils.c (gst_element_link_pads_filtered): New old
28005 function. I am channeling Hades. Put your boots on suckers!!!
28007 2005-07-13 Thomas Vander Stichele <thomas at apestaart dot org>
28009 * testsuite/caps/Makefile.am:
28010 * testsuite/caps/value_compare.c:
28011 * testsuite/caps/value_intersect.c:
28012 * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28013 move two testsuite apps over to the check dir
28015 2005-07-12 Wim Taymans <wim@fluendo.com>
28017 * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28018 Added more debug info in the negotiate process.
28020 * gst/gstmessage.h:
28021 Prepare for segment playback.
28023 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28029 * tools/gst-launch.c: (main):
28030 NULL pipeline on errors.
28032 2005-07-12 Andy Wingo <wingo@pobox.com>
28034 * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28035 not it comes from a malloc region. Make sure our copy gets freed.
28037 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28039 * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28040 * check/gst/gstmessage.c: (GST_START_TEST):
28041 * check/gst/gststructure.c: (GST_START_TEST),
28042 (gst_structure_suite), (main):
28044 * gst/gstelement.c: (gst_element_message_full):
28045 clean up GError and debug string now that they get copied
28046 * gst/gstmessage.c: (gst_message_new_error),
28047 (gst_message_new_warning), (gst_message_parse_error),
28048 (gst_message_parse_warning):
28049 use GST_TYPE_G_ERROR for structure_new, and take copies of
28050 arguments, so that we don't mess up refcounting
28052 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28054 * check/Makefile.am:
28055 add per-test valgrind targets
28056 * check/gst-libs/gdp.c: (GST_START_TEST),
28057 (gst_data_protocol_suite), (main):
28060 2005-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
28062 * check/Makefile.am:
28063 instate more valgrindable tests
28064 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28065 (GST_START_TEST), (fakesrc_suite):
28066 * check/gst/gstpad.c: (GST_START_TEST):
28067 * check/gst/gststructure.c: (GST_START_TEST):
28069 * docs/gst/tmpl/gstminiobject.sgml:
28070 * gst/gstpad.c: (gst_pad_finalize):
28071 fix the static mutex leak
28073 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28075 * check/Makefile.am:
28076 add two more tests for valgrinding
28077 * check/gst/gstvalue.c: (GST_START_TEST):
28078 test refcount of deserialized buffer, found a leak
28079 * docs/gst/gstreamer-docs.sgml:
28080 * docs/gst/gstreamer-sections.txt:
28081 * docs/gst/gstreamer.types:
28082 * docs/gst/tmpl/gstminiobject.sgml:
28083 add miniobject to docs
28084 * gst/gstminiobject.c:
28086 * gst/gstvalue.c: (gst_value_deserialize_buffer),
28087 (gst_string_unwrap):
28088 fix a hard-to-find invalid write for one of the tests
28089 fix a leak for deserialized buffers
28091 2005-07-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28093 * docs/pwg/advanced-events.xml:
28094 * docs/pwg/advanced-request.xml:
28095 * docs/pwg/advanced-scheduling.xml:
28096 * docs/pwg/appendix-porting.xml:
28097 * docs/pwg/building-boiler.xml:
28098 * docs/pwg/intro-preface.xml:
28099 * docs/pwg/other-ntoone.xml:
28100 Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28101 of example code and explanation for pad activation, loop() and
28102 getrange() functions and a bit more. Remove old comments pointing
28104 * examples/pwg/Makefile.am:
28105 Add loop/getrange examples.
28107 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28110 check for valgrind binary + some fixes
28112 valgrind suppressions for the tests
28113 * check/Makefile.am:
28114 add a valgrind: target that valgrinds the unit tests
28115 * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28116 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28117 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28118 * check/gst/gstghostpad.c:
28120 * check/gst/gstdata.c:
28122 * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28123 (thread_unref), (gst_mini_object_suite), (main):
28125 * gst/gst.c: (gst_deinit):
28127 add a method to clean up.
28128 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28129 (gst_system_clock_obtain):
28130 allow for disposing the system clock.
28131 * tools/gst-launch.c: (main):
28134 2005-07-11 Thomas Vander Stichele <thomas at apestaart dot org>
28136 * docs/gst/tmpl/gstbasesrc.sgml:
28137 * docs/gst/tmpl/gstfakesrc.sgml:
28138 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28139 (gst_base_src_init), (gst_base_src_set_property),
28140 (gst_base_src_get_property), (gst_base_src_get_range),
28141 (gst_base_src_start):
28142 * gst/base/gstbasesrc.h:
28143 add num-buffers property
28144 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28145 (gst_fakesrc_init), (gst_fakesrc_set_property),
28146 (gst_fakesrc_get_property), (gst_fakesrc_create),
28147 (gst_fakesrc_start):
28148 remove num-buffers property
28150 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28152 * docs/gst/gstreamer-sections.txt:
28153 * docs/gst/tmpl/gstbasesink.sgml:
28154 * docs/gst/tmpl/gstbasesrc.sgml:
28155 * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28156 (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28157 (gst_base_sink_finalize), (gst_base_sink_set_clock),
28158 (gst_base_sink_set_property), (gst_base_sink_get_property),
28159 (gst_base_sink_handle_object), (gst_base_sink_event),
28160 (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28161 (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28162 (gst_base_sink_loop), (gst_base_sink_deactivate),
28163 (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28164 (gst_base_sink_change_state):
28165 * gst/base/gstbasesink.h:
28166 * gst/base/gstbasesrc.h:
28167 * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28168 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28169 (gst_filesink_init):
28170 more macro splitting
28172 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28174 * gst/gstelement.c: (gst_element_get_bus):
28176 * tools/gst-launch.c: (check_intr), (event_loop):
28179 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28181 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28184 2005-07-10 Thomas Vander Stichele <thomas at apestaart dot org>
28186 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28187 (gst_base_src_finalize):
28188 add finalize method and clean up properly
28189 * gst/gstpipeline.c: (gst_pipeline_dispose):
28192 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28194 * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28196 add more things to check
28197 * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28198 * gst/gstelement.c:
28201 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28203 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28204 (GST_START_TEST), (fakesrc_suite):
28205 * check/gst-libs/gdp.c: (GST_START_TEST):
28206 * check/gst/gst.c: (GST_START_TEST):
28207 * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28208 * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28209 * check/gst/gstbus.c: (GST_START_TEST):
28210 * check/gst/gstcaps.c: (GST_START_TEST):
28211 * check/gst/gstdata.c: (GST_START_TEST):
28212 * check/gst/gstelement.c: (GST_START_TEST):
28213 * check/gst/gstghostpad.c: (GST_START_TEST):
28214 * check/gst/gstiterator.c: (GST_START_TEST):
28215 * check/gst/gstmessage.c: (GST_START_TEST):
28216 * check/gst/gstobject.c: (GST_START_TEST):
28217 * check/gst/gstpad.c: (GST_START_TEST):
28218 * check/gst/gststructure.c: (GST_START_TEST):
28219 * check/gst/gstsystemclock.c: (GST_START_TEST),
28220 (gst_systemclock_suite):
28221 * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28222 * check/gst/gstvalue.c: (GST_START_TEST):
28223 * check/pipelines/cleanup.c: (GST_START_TEST):
28224 * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28225 * check/states/sinks.c: (GST_START_TEST):
28226 * check/gstcheck.c: (gst_check_init):
28227 * check/gstcheck.h:
28228 add debugging category
28229 use GST_START_TEST now, so we add a debug line
28231 2005-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
28233 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28234 add test for state change message on a bin
28235 * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28237 * gst/gstbin.c: (gst_bin_init):
28238 * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28239 * gst/gstelement.c: (gst_element_post_message),
28240 (gst_element_set_state):
28241 * gst/gstelementfactory.c: (gst_element_factory_create):
28242 * gst/gstmessage.c: (gst_message_new):
28243 * gst/gstscheduler.c:
28244 various debugging additions and cleanups
28246 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28248 * check/Makefile.am:
28249 * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28251 adding tests for elements
28252 * gst/gstelement.c: (gst_element_dispose):
28254 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28256 * gst/registries/gstlibxmlregistry.c: (load_feature):
28257 plug more leaks. A simple gst_init() now is leakfree, yay.
28259 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28261 * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28262 (gst_xml_registry_load):
28263 plug another memleak
28265 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28268 use GST_SET_ERROR_CFLAGS
28269 * docs/faq/cvs.xml:
28270 change to ERROR_CFLAGS
28272 2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
28275 make GST_ERROR_CFLAGS overridable and re-enable Werror
28276 * docs/faq/cvs.xml:
28277 add a note about error CFLAGS
28278 * docs/gst/tmpl/gstfakesrc.sgml:
28279 * gst/elements/gstfakesrc.c:
28280 comment out some unused code
28281 * gst/gst.c: (split_and_iterate):
28282 * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28286 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28288 * common/Makefile.am:
28289 * common/gtk-doc.mak:
28290 * docs/gst/Makefile.am:
28291 factor out gtk-doc.mak
28293 2005-07-07 Wim Taymans <wim@fluendo.com>
28295 * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28296 (gst_thread_scheduler_dispose):
28297 Unlock the STREAM_LOCK completely.
28299 2005-07-07 Thomas Vander Stichele <thomas at apestaart dot org>
28301 * check/Makefile.am:
28302 * check/elements/.cvsignore:
28303 * check/elements/gstfakesrc.c: (chain_func), (event_func),
28304 (START_TEST), (fakesrc_suite), (main):
28305 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28306 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28307 (gst_fakesrc_create), (gst_fakesrc_start):
28308 * gst/elements/gstfakesrc.h:
28309 adding a first element test
28311 2005-07-07 Andy Wingo <wingo@pobox.com>
28313 * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28316 2005-07-07 Wim Taymans <wim@fluendo.com>
28322 2005-07-07 Wim Taymans <wim@fluendo.com>
28324 * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28325 (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28326 Allow subclasses to implement their own negotiation.
28328 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28330 * docs/design/part-gstbin.txt:
28331 * docs/design/part-gstpipeline.txt:
28332 Update design notes to reflect the movement of
28333 responsibility for bus handling from GstPipeline to
28336 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28339 Remove unnecessary queue2/3/4 examples.
28341 2005-07-07 Jan Schmidt <thaytan@mad.scientist.com>
28343 * examples/Makefile.am:
28344 * examples/helloworld/helloworld.c: (event_loop), (main):
28345 * examples/queue/queue.c: (event_loop), (main):
28346 * examples/queue2/queue2.c: (main):
28347 Update a couple of the examples to work again.
28349 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28350 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28351 Spelling corrections and extra debug.
28353 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28354 (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28355 (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28357 * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28358 (gst_pipeline_change_state):
28359 * gst/gstpipeline.h:
28360 Move the bus handler for children to the GstBin, and create a
28361 separate bus for receiving messages from children to the one the
28362 bus sends 'upwards' on.
28364 2005-07-06 Wim Taymans <wim@fluendo.com>
28367 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28368 (gst_base_sink_handle_object), (gst_base_sink_loop),
28369 (gst_base_sink_change_state):
28370 * gst/base/gstbasesink.h:
28371 * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28372 (gst_base_src_init), (gst_base_src_setcaps),
28373 (gst_base_src_getcaps), (gst_base_src_loop),
28374 (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28375 (gst_base_src_start), (gst_base_src_change_state):
28376 * gst/base/gstbasesrc.h:
28377 Make basesrc negotiate.
28378 Handle the case where preroll fails in basesink.
28381 2005-07-06 Wim Taymans <wim@fluendo.com>
28383 * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28384 Implement the fixate function.
28385 Clean up acceptcaps.
28387 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28389 * docs/pwg/building-filterfactory.xml:
28390 * docs/pwg/pwg.xml:
28391 Remove never-written filter-factory chapter; I'll add the various
28392 base classes to part 4 ("other element types") later on.
28394 2005-07-06 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28396 * docs/pwg/advanced-negotiation.xml:
28397 * docs/pwg/building-boiler.xml:
28398 * docs/pwg/building-pads.xml:
28399 * docs/pwg/pwg.xml:
28400 * examples/pwg/Makefile.am:
28401 Add a chapter on caps negotiation, simplify the original code
28402 samples a bit w.r.t. caps negotiation, add link to the advanced
28403 section. Add a bunch of examples showing different use cases of
28404 different types of caps negotiation. Upstream renegotiation isn't
28405 fully documented yet since nobody knows how that works.
28407 2005-07-06 Thomas Vander Stichele <thomas at apestaart dot org>
28409 * check/gst/gstpad.c:
28410 * check/gstcheck.c:
28411 * gst/gstpad.c: (gst_pad_get_internal_links_default):
28412 if pad has no parent, return NULL as list of internal links
28414 2005-07-05 Andy Wingo <wingo@pobox.com>
28416 * gst/elements/gstfilesrc.c:
28417 * gst/elements/gstfakesrc.c:
28418 * gst/base/gstpushsrc.c:
28419 * gst/base/gstbasesrc.h:
28420 * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28422 2005-07-05 Stefan Kost <ensonic@users.sf.net>
28425 better report generation target (lcov needs a patch)
28427 2005-07-05 Andy Wingo <wingo@pobox.com>
28429 * gst/elements, testsuite: Null if we got it...
28431 2005-07-05 Wim Taymans <wim@fluendo.com>
28434 * libs/gst/dataprotocol/Makefile.am:
28435 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28436 * libs/gst/dataprotocol/dataprotocol.h:
28437 * pkgconfig/Makefile.am:
28438 * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28439 * pkgconfig/gstreamer-dataprotocol.pc.in:
28440 Ported dataprotol to 0.9.
28441 Added pkgconfig files.
28443 2005-07-05 Andy Wingo <wingo@pobox.com>
28445 * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28446 Default to returning TRUE for the case when tranform_caps returns
28447 a fixed caps, like for identity or volume.
28449 * check/gst/gstbus.c (pound_bus_with_messages):
28450 * check/gst/gstmessage.c (START_TEST):
28451 * check/pipelines/simple_launch_lines.c (got_handoff): Application
28452 message API change.
28454 * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28455 logic weaks here: always run transform_caps, trying passthrough
28456 operation only if the original caps intersects with the transform.
28458 * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28459 source and sink caps.
28461 * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28462 Intersect the peer caps with the pad template before going into
28464 (gst_base_transform_transform_caps): More debugging.
28466 * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28469 2005-07-04 Edward Hervey <edward@fluendo.com>
28473 (gst_pad_add_*_probe): now returns the signal id for better wrapping
28476 2005-07-04 Andy Wingo <wingo@pobox.com>
28478 * check/gst/gstpad.c: Only set explicit caps on pads.
28480 2005-07-01 Andy Wingo <wingo@pobox.com>
28482 * tests/network-clock.scm: Commentary update.
28484 * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28485 Didn't really make sense, not implementable with basetransform,
28487 (gst_identity_transform): Unref inbuf via make_writable. Feeble
28488 attempt at implementing the sync property, needs an unlock method.
28490 * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28491 New func, by default returns the same caps (the identity
28493 (gst_base_transform_getcaps): Uses transform_caps to return
28494 something sensible.
28495 (gst_base_transform_setcaps): Complicated logic to get caps on
28496 both pads, even if they are different, and to call set_caps once
28497 for every time both pads get their caps set.
28498 (gst_base_transform_handle_buffer): Give the ref to the transform
28499 function. Allows in-place modification of the buffer.
28501 * gst/base/gstbasetransform.h (transform_caps): New class method.
28502 Given caps on one side, what can I do on the other.
28503 (set_caps): Take two caps, one for each side of the element.
28506 * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28507 caps in place. This is safe because we can check the mutability of
28508 the caps, and a good idea because fixate functions are just called
28509 as a matter of last resort. (Not actually implemented.)
28510 (gst_pad_set_caps): If the caps we're setting is actually the same
28511 as the existing pad caps, just update the pointer without calling
28512 setcaps. Assert that caps is either NULL or fixed, as per the
28515 * gst/gstghostpad.c: Update for fixate changes.
28517 2005-07-02 Andy Wingo <wingo@pobox.com>
28520 * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28521 two refcounts makes it immutable, which is enough. Doc more.
28523 2005-07-02 Jan Schmidt <thaytan@mad.scientist.com>
28525 * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28526 Put the mini_object into GValue as a mini_object,
28527 not a gpointer, since that's how we declared
28530 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28532 * examples/pwg/Makefile.am:
28533 Fix buildbot again.
28535 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28537 * docs/pwg/building-testapp.xml:
28539 * examples/pwg/Makefile.am:
28542 2005-07-01 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28545 * examples/Makefile.am:
28546 * examples/pwg/Makefile.am:
28547 * examples/pwg/extract.pl:
28548 Enable building the PWG examples.
28549 * docs/pwg/advanced-interfaces.xml:
28550 Add URI interface stub.
28551 * docs/pwg/advanced-types.xml:
28552 * docs/pwg/other-autoplugger.xml:
28553 * docs/pwg/appendix-porting.xml:
28554 * docs/pwg/pwg.xml:
28555 Add porting guide (mostly stubs), remove autoplugging (see ADM).
28556 * docs/pwg/building-boiler.xml:
28557 * docs/pwg/building-chainfn.xml:
28558 * docs/pwg/building-pads.xml:
28559 * docs/pwg/building-props.xml:
28560 * docs/pwg/building-state.xml:
28561 * docs/pwg/building-testapp.xml:
28562 Update the building-*.xml parts for 0.9 changes. All examples
28563 code blocks compile in examples/pwg/*.
28565 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28567 * docs/manual/advanced-autoplugging.xml:
28568 * docs/manual/appendix-checklist.xml:
28569 * docs/manual/appendix-integration.xml:
28570 * docs/manual/highlevel-components.xml:
28571 Fix playbin/decodebin examples, update docs a bit, mention bus
28572 instead of signals in various places, mention kmplayer and
28573 kaffeine since they have a working GStreamer backend in the KDE
28576 2005-06-30 Wim Taymans <wim@fluendo.com>
28579 * docs/design/draft-ghostpads.txt:
28580 * docs/design/draft-push-pull.txt:
28581 * docs/design/draft-query.txt:
28582 * docs/design/part-TODO.txt:
28583 * docs/design/part-query.txt:
28584 Added CHANGES-0.9 doc, updated status of other docs.
28589 2005-06-30 Wim Taymans <wim@fluendo.com>
28591 * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28592 (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28593 (gst_base_sink_change_state):
28594 * gst/base/gstbasesink.h:
28595 Some tweaks, only EOS and a buffer complete a preroll.
28597 2005-06-30 Andy Wingo <wingo@pobox.com>
28599 * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28600 activate_push down to the internal pad as well.
28602 2005-06-30 Torsten Schoenfeld <kaffeetisch@gmx.de>
28604 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28606 * gst/gsttaginterface.c:
28607 Some documentation fixes (#307394 and #307397).
28609 2005-06-30 Antoine Tremblay <hexa00@gmail.com>
28611 Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28613 * gst/gstvalue.c: (gst_value_intersect_list):
28614 Fix memleak (#309125).
28616 2005-06-30 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28618 * docs/manual/advanced-dataaccess.xml:
28619 Fix fakesrc example to compile; doesn't work, bug somewhere...?
28620 * docs/manual/basics-pads.xml:
28621 Add reference for filtered caps to above chapter.
28623 2005-06-30 Wim Taymans <wim@fluendo.com>
28625 * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28626 (gst_bin_change_state):
28628 Lame attempt at making the state change function a bit
28631 2005-06-30 Wim Taymans <wim@fluendo.com>
28633 * docs/design/part-clocks.txt:
28634 * docs/design/part-element-sink.txt:
28635 * docs/design/part-events.txt:
28636 * docs/design/part-preroll.txt:
28637 * docs/design/part-states.txt:
28638 Some more tweeks and additions to the docs.
28640 2005-06-30 Wim Taymans <wim@fluendo.com>
28642 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28643 (default_have_data), (gst_pad_class_init), (gst_pad_init),
28644 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28645 (gst_pad_check_pull_range), (gst_pad_get_range),
28646 (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28648 * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28649 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28650 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28651 (gst_pad_remove_buffer_probe):
28652 Removed atomic operations, use existing LOCK.
28653 Move exception handling out of main code path.
28655 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28657 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28658 (silly_return_true_function), (gst_pad_class_init),
28659 (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28660 (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28661 (gst_pad_send_event):
28662 Fix accumulator, add default value by using _emitv() instead
28663 of _emit() for signal emission.
28665 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28667 * docs/manual/advanced-dataaccess.xml:
28668 * examples/manual/Makefile.am:
28670 * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28673 2005-06-29 Tim-Philipp Müller <tim at centricular dot net>
28675 * gst/elements/gstfilesink.c: (gst_filesink_render):
28676 Simplify code so that we don't have to handle short
28677 writes and return GST_FLOW_ERROR if an error occured.
28679 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28681 * docs/gst/gstreamer-docs.sgml:
28682 Remove probes more.
28684 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28686 * docs/gst/gstreamer-sections.txt:
28687 * docs/gst/tmpl/gstpad.sgml:
28688 * docs/gst/tmpl/gstprobe.sgml:
28690 * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28691 (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28692 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28693 (gst_pad_push_event), (gst_pad_send_event):
28695 * gst/gstutils.c: (gst_pad_add_data_probe),
28696 (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28697 (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28698 (gst_pad_remove_buffer_probe):
28700 Remove old probes, add new g-signal-based probes and some utility
28703 2005-06-29 Edward Hervey <edward@fluendo.com>
28705 * gst/gstelementfactory.c:
28708 Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28709 the definition to the header file.
28711 2005-06-29 Andy Wingo <wingo@pobox.com>
28713 * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28714 plugins from the source directory.
28716 2005-06-29 Wim Taymans <wim@fluendo.com>
28718 * docs/gst/tmpl/gstbuffer.sgml:
28719 * docs/gst/tmpl/gstclock.sgml:
28720 Some fixings for blantently wrong text.
28722 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28724 * check/Makefile.am:
28725 * gst/gst.c: (add_path_func), (init_pre):
28726 * gst/gstregistry.c: (gst_registry_add_path):
28727 add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28728 only scan the GST_PLUGIN_PATH locations, and not add
28731 2005-06-29 Thomas Vander Stichele <thomas at apestaart dot org>
28733 * docs/gst/gstreamer-sections.txt:
28734 * docs/gst/tmpl/gstbasesrc.sgml:
28735 * gst/gstelement.c:
28736 * gst/gstelement.h:
28741 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28743 * docs/manual/advanced-autoplugging.xml:
28744 Fix autoplugging example.
28746 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28748 * docs/manual/advanced-autoplugging.xml:
28749 * docs/manual/mime-world.fig:
28750 Try to get autoplugging working, fix type detection. Fix text
28751 in hello-world image.
28753 2005-06-29 Wim Taymans <wim@fluendo.com>
28755 * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28756 (gst_base_sink_change_state):
28760 map SIGNAL and BROADCAST to the right function.
28763 Remove redundant braces.
28765 * gst/gstpad.c: (gst_pad_set_caps):
28766 Don't call setcaps function when reseting caps to NULL.
28768 * gst/gstsystemclock.c: (gst_system_clock_dispose),
28769 (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28770 (gst_system_clock_id_unschedule):
28771 Use BROADCAST as this is what we do.
28773 2005-06-29 Wim Taymans <wim@fluendo.com>
28775 * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28776 We are actually prerolling before commiting the state
28779 2005-06-29 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
28781 * docs/manual/advanced-clocks.xml:
28782 * docs/manual/advanced-interfaces.xml:
28783 * docs/manual/advanced-metadata.xml:
28784 * docs/manual/advanced-position.xml:
28785 * docs/manual/advanced-schedulers.xml:
28786 * docs/manual/advanced-threads.xml:
28787 * docs/manual/appendix-porting.xml:
28788 * docs/manual/basics-bins.xml:
28789 * docs/manual/basics-bus.xml:
28790 * docs/manual/basics-elements.xml:
28791 * docs/manual/basics-helloworld.xml:
28792 * docs/manual/basics-pads.xml:
28793 * docs/manual/highlevel-components.xml:
28794 * docs/manual/manual.xml:
28795 * docs/manual/thread.fig:
28796 Update (until threads/scheduling) Application Development Manual;
28797 remove GstThread, add GstBus, add simple porting checklist, add
28798 documentation for tag writing, clocks, make all examples until this
28799 part compile and run.
28800 * examples/manual/Makefile.am:
28801 Update from changes to Application Development Manual; add bus
28802 example, remove thread example.
28804 2005-06-28 Wim Taymans <wim@fluendo.com>
28806 * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28807 (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28808 (gst_bus_source_dispatch):
28809 Add debugging messages.
28810 Make internal methods static.
28811 Handle the case where the bus is flushed in the handler.
28813 * gst/gstelement.c: (gst_element_get_bus):
28814 Fix refcount in _get_bus();
28816 * gst/gstpipeline.c: (gst_pipeline_change_state),
28817 (gst_pipeline_get_clock_func):
28818 Clock refcounting fixes.
28819 Handle the case where preroll timed out more gracefully.
28821 * gst/gstsystemclock.c: (gst_system_clock_dispose):
28822 Clean up the internal thread in dispose. This is needed
28823 for subclasses that actually get disposed.
28825 * gst/schedulers/threadscheduler.c:
28826 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28827 (gst_thread_scheduler_dispose):
28828 Free thread pool in dispose.
28830 2005-06-28 Andy Wingo <wingo@pobox.com>
28832 * tests/network-clock-utils.scm (debug, print-event): New utils.
28834 * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28835 (*packet-loss*): Unified loss probability.
28836 (network-time): Report out-of-band events.
28838 * tests/plot-data: Add support for out-of-band events. Hack it
28839 into this script instead of passing it down the pipe; should fix
28842 2005-06-28 Wim Taymans <wim@fluendo.com>
28844 * docs/gst/gstreamer.types:
28845 * docs/gst/tmpl/gstbasesrc.sgml:
28846 * docs/gst/tmpl/gstpad.sgml:
28849 2005-06-28 Wim Taymans <wim@fluendo.com>
28851 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28852 (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28853 (gst_proxy_pad_do_fixatecaps):
28854 Correctly proxy the check_pull_range function.
28856 2005-06-28 Andy Wingo <wingo@pobox.com>
28858 * tests/network-clock.scm: Removed need for slib.
28860 2005-06-28 Wim Taymans <wim@fluendo.com>
28862 * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28863 (gst_basesink_preroll_queue_flush):
28864 * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28865 * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28866 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28867 (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28868 (gst_proxy_pad_set_property):
28871 * gst/gstqueue.c: (gst_queue_init):
28872 The deprecated pad loop function is removed now.
28874 2005-06-28 Andy Wingo <wingo@pobox.com>
28876 * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28877 New parameters, simulate network packet loss.
28879 * tests/network-clock-utils.scm: Initialize the RNG.
28881 2005-06-28 Wim Taymans <wim@fluendo.com>
28883 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28884 (gst_basesink_event), (gst_basesink_deactivate):
28885 Flushing the preroll queue always needs to unlock the waiters.
28887 2005-06-28 Edward Hervey <edward@fluendo.com>
28889 * gst/gstpipeline.c: (gst_pipeline_send_event):
28890 Wheen a seek was successful on a pipeline, set the stream_time to the
28891 seek offset in order to have a synchronized stream_time.
28893 2005-06-28 Wim Taymans <wim@fluendo.com>
28895 * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28896 (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28897 (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28898 (gst_proxy_pad_do_fixatecaps):
28899 Call wrapper function instead of just calling the function
28900 pointers. This takes care of any locking and whatmore.
28902 2005-06-28 Wim Taymans <wim@fluendo.com>
28904 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28905 (gst_pad_pull_range):
28907 CONNECTED -> LINKED.
28909 2005-06-28 Andy Wingo <wingo@pobox.com>
28911 * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28912 source-munging commit!!!
28914 * gst/gstobject.c (gst_object_unref, gst_object_ref)
28915 (gst_object_sink): Take gpointer arguments, not GstObject --
28916 avoids casts. Like GLib.
28918 * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28921 2005-06-27 Andy Wingo <wingo@pobox.com>
28923 * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28926 * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28927 returns a sorted copy of the trace list.
28928 (gst_alloc_trace_print_live): New API, only prints traces with
28929 live objects. Sort the list.
28930 (gst_alloc_trace_print_all): Sort the list.
28931 (gst_alloc_trace_print): Align columns.
28933 * gst/elements/gstttypefindelement.c:
28934 * gst/elements/gsttee.c:
28935 * gst/base/gstbasesrc.c:
28936 * gst/base/gstbasesink.c:
28937 * gst/base/gstbasetransform.c:
28938 * gst/gstqueue.c: Adapt for pad activation changes.
28940 * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28942 (gst_pipeline_dispose): Drop ref on sched.
28944 * gst/gstpad.c (gst_pad_init): Set the default activate func.
28945 (gst_pad_activate_default): Push mode by default.
28946 (pre_activate_switch, post_activate_switch): New stubs, things to
28947 do before and after switching activation modes on pads.
28948 (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28949 the pad's activate function to choose which mode to activate.
28950 Shortcut on deactivation and call the right function directly.
28951 (gst_pad_activate_pull): New API, (de)activates a pad in pull
28953 (gst_pad_activate_push): New API, same for push mode.
28954 (gst_pad_set_activate_function)
28955 (gst_pad_set_activatepull_function)
28956 (gst_pad_set_activatepush_function): Setters for new API.
28958 * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28959 Trace all miniobjects.
28960 (gst_mini_object_make_writable): Unref the arg if we copy, like
28961 gst_caps_make_writable.
28963 * gst/gstmessage.c (_gst_message_initialize): No trace init.
28965 * gst/gstghostpad.c (gst_proxy_pad_do_activate)
28966 (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28967 Adapt for new pad API.
28969 * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28971 * gst/gstelement.h:
28972 * gst/gstelement.c (gst_element_iterate_src_pads)
28973 (gst_element_iterate_sink_pads): New API functions.
28975 * gst/gstelement.c (iterator_fold_with_resync): New utility,
28976 should fold into gstiterator.c in some form.
28977 (gst_element_pads_activate): Simplified via use of fold and
28978 delegation of decisions to gstpad->activate.
28980 * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28983 * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28984 class once in init, like gstmessage. Didn't run into this issue
28985 but it seems correct. Don't initialize a trace, gstminiobject does
28988 * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28989 test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28991 (assert_live_count): New util function, uses alloc traces to check
28994 * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28995 To be modified when unlink drops the internal pad.
28997 2005-06-27 Wim Taymans <wim@fluendo.com>
28999 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29000 (gst_bin_change_state):
29001 Cleanup the get_state() function a little, make sure it
29002 iterates the same set of elements.
29003 Added stub iterate_state_order().
29005 2005-06-27 Thomas Vander Stichele <thomas at apestaart dot org>
29007 * docs/gst/gstreamer-docs.sgml:
29008 * docs/gst/gstreamer-sections.txt:
29009 * docs/gst/gstreamer.types:
29010 * docs/gst/tmpl/gstbasesink.sgml:
29011 * docs/gst/tmpl/gstbasesrc.sgml:
29012 * docs/gst/tmpl/gstbasetransform.sgml:
29013 * docs/gst/tmpl/gstelement.sgml:
29014 * docs/gst/tmpl/gstiterator.sgml:
29015 * gst/base/gstbasesrc.c:
29016 * gst/base/gstbasesrc.h:
29017 * gst/base/gstbasetransform.h:
29018 * gst/gstelement.c:
29019 * gst/gstiterator.h:
29020 adding basetransform and iterator docs
29022 2005-06-27 Andy Wingo <wingo@pobox.com>
29024 * docs/design/part-activation.txt: Notes on how activation should
29025 work -- not quite implemented yet.
29027 2005-06-25 Wim Taymans <wim@fluendo.com>
29029 * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29030 At least get the chain function correct, needs more
29033 2005-06-25 Wim Taymans <wim@fluendo.com>
29035 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29036 (gst_basesink_handle_object), (gst_basesink_event),
29037 (gst_basesink_do_sync), (gst_basesink_handle_event),
29038 (gst_basesink_change_state):
29040 Right, two problems here: ghostpads don't take locks and
29041 glib _rec_mutex_lock_full() with depth==0 still locks.
29042 Catch illegal locking and g_warn them.
29044 2005-06-25 Wim Taymans <wim@fluendo.com>
29046 * check/states/sinks.c: (START_TEST), (gst_object_suite):
29047 Have to check for completion now...
29049 2005-06-25 Wim Taymans <wim@fluendo.com>
29051 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29052 (gst_basesink_handle_object), (gst_basesink_event),
29053 (gst_basesink_do_sync), (gst_basesink_handle_event),
29054 (gst_basesink_change_state):
29056 Unlock STREAM_LOCK whatever the recursion was.
29058 2005-06-25 Wim Taymans <wim@fluendo.com>
29060 * gst/base/gstbasesink.c: (gst_basesink_set_property),
29061 (gst_basesink_preroll_queue_empty),
29062 (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29063 (gst_basesink_event), (gst_basesink_do_sync),
29064 (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29065 (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29066 (gst_basesink_change_state):
29067 Reworked the base sink, handle event and buffer serialisation
29068 correctly and removed possible deadlock.
29069 Handle EOS correctly.
29071 2005-06-25 Wim Taymans <wim@fluendo.com>
29073 * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29074 (gst_pipeline_change_state):
29075 * tools/gst-launch.c: (check_intr), (event_loop), (main):
29076 Allow elements to post EOS in the state change function.
29077 Fix up -launch, make it exit the poll loop when the
29078 pipeline actually changed state.
29079 Fix up warning parsing in -launch.
29081 2005-06-25 Wim Taymans <wim@fluendo.com>
29083 * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29084 (gst_tee_sink_activate):
29085 Core takes STREAM_LOCK for us now.
29087 2005-06-25 Wim Taymans <wim@fluendo.com>
29089 * gst/gstelement.c: (gst_element_get_state_func),
29090 (gst_element_set_state):
29091 * gst/gstelement.h:
29092 * gst/gstmessage.c: (gst_message_parse_error),
29093 (gst_message_parse_warning):
29094 Keep track of current target state while performing a state
29095 change so that subclasses can do something interesting.
29096 Fix parsing of warning/error messages when GError is NULL.
29098 2005-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
29100 * docs/gst/Makefile.am:
29101 * docs/gst/gstreamer-docs.sgml:
29102 * docs/gst/gstreamer-sections.txt:
29103 * docs/gst/gstreamer.types:
29104 * docs/gst/tmpl/gstbasesink.sgml:
29105 * docs/gst/tmpl/gstbasesrc.sgml:
29106 * docs/gst/tmpl/gstbin.sgml:
29107 * docs/gst/tmpl/gstcompat.sgml:
29108 * docs/gst/tmpl/gstfakesink.sgml:
29109 * docs/gst/tmpl/gstfakesrc.sgml:
29110 * docs/gst/tmpl/gstfilesink.sgml:
29111 * docs/gst/tmpl/gstfilesrc.sgml:
29112 * docs/gst/tmpl/gstindex.sgml:
29113 * docs/manual/appendix-quotes.xml:
29114 * gst/base/gstbasesrc.h:
29115 * gst/elements/gstfakesrc.h:
29116 * gst/gstmessage.h:
29117 start pulling in base classes and elements in our docs
29119 2005-06-24 Stefan Kost <ensonic@users.sf.net>
29121 * docs/gst/Makefile.am:
29122 * docs/libs/Makefile.am:
29123 fixed make distcheck with gtk-doc 1.3
29125 2005-06-23 Wim Taymans <wim@fluendo.com>
29127 * gst/gstelement.c: (gst_element_get_state_func),
29128 (gst_element_set_state), (gst_element_change_state):
29129 When the state did not change, also report NO_PREROLL
29132 2005-06-23 Wim Taymans <wim@fluendo.com>
29134 * gst/gstpad.c: (gst_pad_event_default):
29135 * gst/gstqueue.c: (gst_queue_loop):
29136 No unsafe task pausing please.
29138 2005-06-23 Wim Taymans <wim@fluendo.com>
29140 * gst/schedulers/threadscheduler.c:
29141 (gst_thread_scheduler_task_start),
29142 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29143 Ref the task before pushing it on the threadpool. This
29144 makes sure that we have a ref when the threadfunction is
29147 2005-06-23 Andy Wingo <wingo@pobox.com>
29149 * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29150 offset is greater than the file's size.
29152 * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK)
29153 (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29154 * gst/gstobject.c (gst_object_class_init): Make the class lock
29155 recursive. Wim won't let me drop deep_notify. Decodebin works
29156 again, whoopdy doo.
29158 * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29159 internal pad, and hacks accordingly. Doesn't do it on the target
29160 pad because we change its caps. Probably catches all cases of
29162 (gst_ghost_pad_set_property): Connect to notify::caps as
29165 * tests/network-clock.scm (plot-simulation): Pipe data to the
29166 elite python skript.
29168 * tests/network-clock-utils.scm (define-parameter): New macro,
29169 defines a parameter that can be set via the command line.
29170 (set-parameter!, parse-parameter-arguments): Command line args
29173 * tests/plot-data: Simple matplotlib-based plotter, takes input on
29176 2005-06-23 Jan Schmidt <thaytan@mad.scientist.com>
29178 * gst/elements/gsttypefindelement.c:
29179 (gst_type_find_element_handle_event):
29180 Don't restart typefinding on a discont.
29181 * gst/gstelement.c: (gst_element_set_state):
29182 Debug spelling fix.
29183 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29184 Allow changing mode of an active pad.
29185 Debug output fixes.
29186 * gst/registries/gstlibxmlregistry.c: (load_feature):
29187 Don't cast a static pad template to a normal pad template.
29189 2005-06-23 Thomas Vander Stichele <thomas at apestaart dot org>
29191 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29192 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29193 remove gst_strtoll completely, since it didn't actually do
29194 anything more than what g_ascii_strtoull already does.
29195 check for range errors when deserializing
29196 do a cast for the unsigned cases; but further fixing needs
29197 a decision on what the interpretation of "(int)" and
29198 deserialization should be for values that fall outside the
29199 type's boundaries (ie, refuse, or interpret as casting)
29201 2005-06-23 Wim Taymans <wim@fluendo.com>
29203 * check/Makefile.am:
29204 * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29205 * docs/design/part-live-source.txt:
29206 * docs/design/part-states.txt:
29207 * gst/base/gstbasesrc.c: (gst_basesrc_init),
29208 (gst_basesrc_set_live), (gst_basesrc_is_live),
29209 (gst_basesrc_get_range), (gst_basesrc_activate),
29210 (gst_basesrc_change_state):
29211 * gst/base/gstbasesrc.h:
29212 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29213 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29214 * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29215 * gst/gstelement.c: (gst_element_get_state_func),
29216 (gst_element_set_state):
29217 * gst/gstelement.h:
29219 * tools/gst-launch.c: (event_loop), (main):
29220 Added support for live sources and other elements that
29222 Updated design docs, added live-source design doc.
29223 Implemented live source functionality in basesrc
29224 Fix error condition in _bin_get_state()
29225 Implement live source handling in -launch.
29226 Added check for live sources.
29227 Fixed case in GstBin where elements were changed state
29231 2005-06-23 Andy Wingo <wingo@pobox.com>
29233 * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29234 borken refcounting.
29236 * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29237 gst_caps_replace takes care of this for us.
29239 * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29240 gst_pad_set_caps on the target, not just its setcaps() function.
29242 * tests/network-clock.scm:
29243 * tests/network-clock-utils.scm: A network clock simulator.
29244 Something of an algorithmic testbed before doing something in C.
29246 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29248 * check/Makefile.am:
29249 * check/gst/capslist.h:
29250 copy over from 0.8, and add two with bitmasks specified with
29252 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29253 add test to parse everything from capslist.h
29254 * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29256 add test for structure deserialization
29257 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29258 add tests for deserialization of strings to int types
29259 * gst/gststructure.c: (gst_structure_nth_field_name):
29260 * gst/gststructure.h:
29261 add a way to get the name of a field referenced by index
29262 * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29263 instead of checking if the resulting long long lies between
29264 min and max, we check if the long long would fit into
29265 a number of bytes for the final type.
29266 This fixes cases where a string represents 2^32 - 1, which
29267 when cast to int would be the (valid) -1, but is bigger than
29270 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29272 * gst/parse/grammar.y:
29273 add a log line for type deserialization
29275 2005-06-22 Thomas Vander Stichele <thomas at apestaart dot org>
29277 * check/gst/gstvalue.c: (START_TEST):
29278 * gst/gstvalue.c: (gst_value_deserialize):
29279 return long long, not int, so gint64 deserialization actually
29280 works. Is there any flag that makes the compiler check this ?
29283 2005-06-22 Wim Taymans <wim@fluendo.com>
29286 Added convenience macros for setting buffers in GValue.
29288 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29290 * check/gst/.cvsignore:
29291 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29292 add a test deserializing int64, and comment part out because
29295 2005-06-21 Thomas Vander Stichele <thomas at apestaart dot org>
29297 * check/Makefile.am:
29298 * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29299 * testsuite/Makefile.am:
29300 * testsuite/caps/Makefile.am:
29301 * testsuite/caps/value_serialize.c:
29302 * testsuite/test_gst_init.c:
29303 move a value_serialize test over
29305 2005-06-20 Wim Taymans <wim@fluendo.com>
29310 * gst/gstvalue.c: (gst_value_compare_buffer),
29311 (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29312 (gst_value_compare_flags), (gst_value_serialize_flags),
29313 (gst_value_deserialize_flags), (_gst_value_initialize):
29314 Fix serialisation of buffers, they are not boxed types anymore
29316 2005-06-20 Wim Taymans <wim@fluendo.com>
29318 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29319 Testcase to show error in buffer-on-caps serialisation.
29321 2005-06-20 Andy Wingo <wingo@pobox.com>
29323 * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29324 will be adding to later.
29326 * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29327 if its socks fill with rocks.
29328 (gst_system_clock_obtain): Set the name on object construction.
29329 Avoid double-checked locking.
29331 2005-06-20 Tim-Philipp Müller <tim at centricular dot net>
29333 * gst/gsturi.c: (gst_element_make_from_uri):
29334 Fix potential endless loop.
29336 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29338 * check/Makefile.am:
29340 * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29342 move over from testsuite dir and clean up
29345 * testsuite/Makefile.am:
29346 * testsuite/tags/.cvsignore:
29347 * testsuite/tags/Makefile.am:
29348 * testsuite/tags/merge.c:
29349 remove testsuite/tags
29351 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29353 * docs/gst/gstreamer-sections.txt:
29354 * docs/gst/tmpl/gstenumtypes.sgml:
29355 * win32/gstenumtypes.c:
29356 clean up documentation build a little
29358 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29360 * check/gstcheck.h:
29361 add macros for checking refcounts on objects and caps
29362 * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29363 add some more unit tests
29364 * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29365 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29366 fix leaked refcounts (I hope :)) so unittest works
29370 2005-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
29372 * configure.ac: back to HEAD
29374 === release 0.9.1 ===
29376 2005-06-17 Thomas Vander Stichele <thomas at apestaart dot org>
29382 2005-06-17 Andy Wingo <wingo@pobox.com>
29384 * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29385 assert; it's always possible that the pad gets deactivated in
29386 between the checks in gstpad.c and the implementation. Rely on
29387 finish_preroll() to return a FLUSHING or similar instead of on the
29390 * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29391 clock and post an EOS message if we come out of finish_preroll in
29394 2005-06-16 David Schleef <ds@schleef.org>
29396 * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29397 (gst_capsfilter_set_property): Allow NULL as possible value
29398 for filter_caps property, indicating GST_CAPS_ANY.
29400 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29402 * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29404 * gst/schedulers/Makefile.am:
29406 * gstreamer.spec.in:
29409 2005-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
29411 * gstreamer.spec.in:
29414 2005-06-08 Andy Wingo <wingo@pobox.com>
29416 * gst/gstutils.c: RPAD fixes all around.
29417 (gst_element_link_pads): Refcounting fixes.
29419 * tools/gst-inspect.c:
29420 * tools/gst-xmlinspect.c:
29422 * gst/base/gsttypefindhelper.c:
29423 * gst/base/gstbasesink.c:
29424 * gst/gstqueue.c: RPAD fixes.
29426 * gst/gstghostpad.h:
29427 * gst/gstghostpad.c: New ghost pad implementation as full proxy
29428 pads. The tricky thing is they provide both source and sink
29429 interfaces, since they proxy the internal pad for the external
29430 pad, and vice versa. Implement with lower-level ProxyPad objects,
29431 with the interior proxy pad as a child of the exterior ghost pad.
29432 Should write a doc on this.
29434 * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29435 (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29438 * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29439 pads are real pads. No ghost pads in this file. Not documenting
29440 the myriad s/RPAD/PAD/ and REALIZE fixes.
29441 (gst_pad_class_init): Add properties for "direction" and
29442 "template". Both are construct-only, so they can't change during
29443 the life of the pad. Fixes properly deriving from GstPad.
29444 (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29445 derived objects, just set properties when creating the objects via
29447 (gst_pad_get_parent): Implement as a function, return NULL if the
29448 parent is not an element.
29449 (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29450 (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29452 * gst/gstobject.c (gst_object_class_init): Make name a construct
29453 property. Don't set it in the object init.
29455 * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29456 with UNKNOWN direction.
29457 (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29458 with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29459 (gst_element_remove_pad): Remove ghost-pad special cases.
29460 (gst_element_pads_activate): Remove rpad cruft.
29462 * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29463 catch the pad's-parent-not-an-element case.
29465 * gst/gst.h: Include gstghostpad.h.
29467 * gst/gst.c (init_post): No more real, ghost pads.
29469 * gst/Makefile.am: Add gstghostpad.[ch].
29471 * check/Makefile.am:
29472 * check/gst/gstbin.c:
29473 * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29474 into a bin creates ghost pads, and that the refcounts are right.
29475 Partly moved from gstbin.c.
29477 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29479 * check/gst-libs/.cvsignore:
29480 * check/gst/.cvsignore:
29481 * check/pipelines/.cvsignore:
29483 * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29484 (START_TEST), (cleanup_suite), (main):
29485 add some tests related to cleanup after running pipelines
29487 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29489 * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29490 add a testsuite for GstBuffer
29492 2005-06-08 Thomas Vander Stichele <thomas at apestaart dot org>
29494 * gst/gstminiobject.h:
29495 add defines for accessing the refcount
29497 2005-06-03 Stefan Kost <ensonic@users.sf.net>
29499 * Makefile.am: added support for html unit test coverage reports
29501 2005-06-03 Jan Schmidt <thaytan@mad.scientist.com>
29503 * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29504 Free existing caps if the capsfilter changes. Add a FIXME about
29505 setting those caps on the pads.
29507 * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29508 Before adding a ghost pad to a parent bin, check that there isn't
29509 already one for the element on the bin. Prevents infinite recursion
29510 when using decodebin in parse pipelines. Andy says he'll rewrite the
29511 way this works anyway, so ignore the hack.
29513 2005-06-02 Andy Wingo <wingo@pobox.com>
29515 * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29516 file size, pass it on to the type find helper.
29518 * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29519 segment_start and segment_end properly according to the seek
29520 method. Segment_end is still a bit flaky because offset can be
29521 negative for CUR and END cases, but it takes -1 as an "unset"
29524 2005-06-02 Wim Taymans <wim@fluendo.com>
29526 * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29527 (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29528 (gst_basesink_activate):
29529 * gst/base/gstbasesink.h:
29530 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29531 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29532 (gst_pad_query), (gst_pad_start_task):
29534 * gst/gstqueue.c: (gst_queue_bufferalloc),
29535 (gst_queue_handle_sink_event), (gst_queue_chain):
29536 Bufferalloc: return GstFlowReturn to more accuratly report
29537 why allocation failed.
29539 2005-06-02 Wim Taymans <wim@fluendo.com>
29541 * gst/gstpipeline.c: (gst_pipeline_send_event):
29542 Take snapshot of state without blocking.
29544 2005-06-02 Wim Taymans <wim@fluendo.com>
29546 * docs/design/part-TODO.txt:
29547 * docs/design/part-caps.txt:
29548 * docs/design/part-clocks.txt:
29549 * docs/design/part-negotiation.txt:
29550 * docs/design/part-preroll.txt:
29553 2005-05-30 Wim Taymans <wim@fluendo.com>
29555 * gst/elements/gstidentity.c: (gst_identity_event),
29556 (gst_identity_transform), (gst_identity_get_property):
29557 Protect last_message property as it is accessed from
29560 2005-05-30 Wim Taymans <wim@fluendo.com>
29562 * gst/gstelement.c: (gst_element_init),
29563 (gst_element_pads_activate), (gst_element_change_state):
29564 Slicker pad activation code.
29566 2005-05-30 Wim Taymans <wim@fluendo.com>
29569 * gst/gstelement.h:
29570 * gst/gstelementfactory.h:
29572 Move elementfactory methods to separate .h file.
29574 2005-05-30 Wim Taymans <wim@fluendo.com>
29576 * docs/design/part-overview.txt:
29577 * gst/gstsystemclock.h:
29578 Small typo fixes, doc updates.
29580 2005-05-30 Wim Taymans <wim@fluendo.com>
29582 * gst/gst.c: (gst_init_get_popt_table), (init_post),
29583 (init_popt_callback):
29584 Remove cpu-opt flag.
29586 2005-05-30 Wim Taymans <wim@fluendo.com>
29588 * gst/gstbuffer.c: (gst_subbuffer_finalize),
29589 (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29591 Avoid typechecking in places where not needed.
29592 Added accessor for malloc_data.
29594 2005-05-30 Wim Taymans <wim@fluendo.com>
29596 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29597 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29598 (gst_pad_configure_sink), (gst_pad_configure_src),
29599 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29600 (gst_pad_start_task):
29601 Propagate errors from _set_caps() in configure_src/sink
29602 functions instead of returning TRUE.
29603 FLUSH events can travel up and downstream
29606 2005-05-30 Wim Taymans <wim@fluendo.com>
29608 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29609 (gst_basesink_activate):
29610 Handle EOS in preroll.
29612 2005-05-30 Wim Taymans <wim@fluendo.com>
29614 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29615 (gst_queue_loop), (gst_queue_handle_src_event):
29616 Remove old pieces of code
29617 Flushing the queue in an upstream event is a very bad idea.
29619 2005-05-26 Andy Wingo <wingo@pobox.com>
29621 * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29622 gst_value_set_mini_object so as to add a ref on the object (which
29623 will be removed when the value is unset).
29625 * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29626 arg type in ::handoff.
29628 * gst/gstelement.c (gst_element_change_state): Also deactivate
29629 pads in READY->NULL, just in case the element didn't make it to
29630 PAUSED. Wingo tested, Wim approved.
29632 2005-05-26 Wim Taymans <wim@fluendo.com>
29634 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29635 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29636 (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29637 A flushing pad cannot be used to alloc_buffer from.
29639 2005-05-26 Wim Taymans <wim@fluendo.com>
29641 * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29642 (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29643 (gst_bus_source_dispatch), (gst_bus_source_finalize),
29644 (gst_bus_create_watch), (gst_bus_add_watch_full):
29646 Implement a real GSource and use g_main_context_wakeup() to
29647 signal new messages instead of the socketpair.
29649 2005-05-25 Wim Taymans <wim@fluendo.com>
29651 * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29652 (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29653 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29654 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29655 (gst_pad_send_event), (gst_pad_start_task):
29656 * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29657 (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29658 (gst_queue_sink_activate), (gst_queue_src_activate),
29659 (gst_queue_change_state):
29661 Fix state changes for non sinks. We now change sinks, then elements
29662 with unconnected srcpads, then the rest.
29663 More efficient queue unlocking in flush and state changes.
29664 Set the pad activate mode even if it does not have an activate
29667 2005-05-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29669 * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29670 Don't go in pull mode for non-seekable sources.
29671 * gst/elements/gsttypefindelement.h:
29672 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29673 (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29674 (free_entry), (stop_typefinding),
29675 (gst_type_find_element_handle_event), (find_peek),
29676 (gst_type_find_element_chain), (do_pull_typefind),
29677 (gst_type_find_element_change_state):
29678 Allow typefinding (w/o seeking) in push-mode, simplified version
29679 of what was in 0.8.
29680 * gst/gstutils.c: (gst_buffer_join):
29682 gst_buffer_join() from 0.8.
29684 2005-05-25 Wim Taymans <wim@fluendo.com>
29686 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29687 (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29688 (gst_pad_send_event), (gst_pad_start_task):
29689 Disable attempt at mode switching until it is figured out.
29691 2005-05-25 Wim Taymans <wim@fluendo.com>
29693 * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29694 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29695 (gst_basesink_finish_preroll), (gst_basesink_chain),
29696 (gst_basesink_loop), (gst_basesink_activate),
29697 (gst_basesink_change_state):
29698 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29699 (gst_basesrc_get_range), (gst_basesrc_loop),
29700 (gst_basesrc_activate):
29701 * gst/elements/gsttee.c: (gst_tee_sink_activate):
29702 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29703 (gst_real_pad_init), (gst_real_pad_set_property),
29704 (gst_real_pad_get_property), (gst_pad_set_active),
29705 (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29706 (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29707 (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29708 (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29709 (gst_pad_event_default_dispatch), (gst_pad_event_default),
29710 (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29711 (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29712 (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29713 (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29714 (gst_pad_stop_task):
29716 * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29717 (gst_queue_loop), (gst_queue_src_activate):
29718 * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29719 (gst_task_get_state):
29721 * gst/schedulers/threadscheduler.c:
29722 (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29723 Implement gst_pad_pause/start/stop_task(), take STREAM lock
29725 Remove ACTIVE pad flag, use FLUSHING everywhere
29726 Added _pad_chain(), _pad_get_range() to call chain/getrange
29728 Add locks around IS_FLUSHING when reading.
29729 Take STREAM lock in chain(), get_range() functions so plugins
29730 don't need to take it anymore.
29734 2005-05-25 Wim Taymans <wim@fluendo.com>
29736 * tools/gst-launch.c: (event_loop):
29737 Unref message after using its contents instead of
29740 2005-05-24 Wim Taymans <wim@fluendo.com>
29742 * docs/design/draft-ghostpads.txt:
29743 * docs/design/draft-push-pull.txt:
29744 * docs/design/draft-query.txt:
29745 * docs/design/part-overview.txt:
29746 Docs updates, added general overview doc.
29748 2005-05-21 David Schleef <ds@schleef.org>
29750 * docs/gst/tmpl/old/GstBin.sgml:
29751 * docs/gst/tmpl/old/GstBuffer.sgml:
29752 * docs/gst/tmpl/old/GstCaps.sgml:
29753 * docs/gst/tmpl/old/GstClock.sgml:
29754 * docs/gst/tmpl/old/GstCompat.sgml:
29755 * docs/gst/tmpl/old/GstData.sgml:
29756 * docs/gst/tmpl/old/GstElement.sgml:
29757 * docs/gst/tmpl/old/GstEvent.sgml:
29758 * docs/gst/tmpl/old/GstIndex.sgml:
29759 * docs/gst/tmpl/old/GstStructure.sgml:
29760 * docs/gst/tmpl/old/GstTag.sgml:
29761 * docs/gst/tmpl/old/cothreads.sgml:
29762 * docs/gst/tmpl/old/cothreads_compat.sgml:
29763 * docs/gst/tmpl/old/gettext.sgml:
29764 * docs/gst/tmpl/old/gobject2gtk.sgml:
29765 * docs/gst/tmpl/old/grammar.tab.sgml:
29766 * docs/gst/tmpl/old/gst-i18n-app.sgml:
29767 * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29768 * docs/gst/tmpl/old/gst_private.sgml:
29769 * docs/gst/tmpl/old/gstaggregator.sgml:
29770 * docs/gst/tmpl/old/gstarch.sgml:
29771 * docs/gst/tmpl/old/gstatomic_impl.sgml:
29772 * docs/gst/tmpl/old/gstbufferstore.sgml:
29773 * docs/gst/tmpl/old/gstdata_private.sgml:
29774 * docs/gst/tmpl/old/gstdisksink.sgml:
29775 * docs/gst/tmpl/old/gstdisksrc.sgml:
29776 * docs/gst/tmpl/old/gstelementfactory.sgml:
29777 * docs/gst/tmpl/old/gstextratypes.sgml:
29778 * docs/gst/tmpl/old/gstfakesink.sgml:
29779 * docs/gst/tmpl/old/gstfakesrc.sgml:
29780 * docs/gst/tmpl/old/gstfdsink.sgml:
29781 * docs/gst/tmpl/old/gstfdsrc.sgml:
29782 * docs/gst/tmpl/old/gstfilesink.sgml:
29783 * docs/gst/tmpl/old/gstfilesrc.sgml:
29784 * docs/gst/tmpl/old/gsthttpsrc.sgml:
29785 * docs/gst/tmpl/old/gstidentity.sgml:
29786 * docs/gst/tmpl/old/gstindexfactory.sgml:
29787 * docs/gst/tmpl/old/gstmarshal.sgml:
29788 * docs/gst/tmpl/old/gstmd5sink.sgml:
29789 * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29790 * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29791 * docs/gst/tmpl/old/gstpadtemplate.sgml:
29792 * docs/gst/tmpl/old/gstpipefilter.sgml:
29793 * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29794 * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29795 * docs/gst/tmpl/old/gstshaper.sgml:
29796 * docs/gst/tmpl/old/gstspider.sgml:
29797 * docs/gst/tmpl/old/gstspideridentity.sgml:
29798 * docs/gst/tmpl/old/gststatistics.sgml:
29799 * docs/gst/tmpl/old/gsttee.sgml:
29800 * docs/gst/tmpl/old/gsttimecache.sgml:
29801 * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29802 * docs/gst/tmpl/old/gstxmlregistry.sgml:
29803 * docs/gst/tmpl/old/gthread-cothreads.sgml:
29804 * docs/gst/tmpl/old/types.sgml:
29805 I didn't intend to add these or check them in.
29807 2005-05-19 David Schleef <ds@schleef.org>
29809 * configure.ac: Use -no-common everywhere. In a sane world, it
29810 would be the default in libtool, because without it, you can't
29811 build DLLs on Windows.
29812 * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29813 * docs/gst/gstreamer-sections.txt:
29814 * docs/gst/tmpl/gstcpu.sgml:
29815 * docs/gst/tmpl/gstdata.sgml:
29816 * docs/gst/tmpl/gstthread.sgml:
29818 2005-05-19 David Schleef <ds@schleef.org>
29820 * gst/gstminiobject.c: (gst_value_set_mini_object),
29821 (gst_value_take_mini_object), (gst_value_get_mini_object):
29822 * gst/gstminiobject.h: Add GValue set/get functions.
29824 2005-05-19 Wim Taymans <wim@fluendo.com>
29826 * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29827 (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29828 (gst_subbuffer_init), (gst_buffer_is_span_fast):
29830 * gst/gstbus.c: (gst_bus_post):
29831 * gst/gstelement.c: (gst_element_get_random_pad):
29832 * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29833 Make subbufer unref the parent in finalize.
29834 some more debugging info.
29837 2005-05-19 Wim Taymans <wim@fluendo.com>
29839 * gst/base/gstbasesink.c: (gst_basesink_class_init),
29840 (gst_basesink_init), (gst_basesink_finalize),
29841 (gst_basesink_activate), (gst_basesink_change_state):
29842 Don't free preroll queue too early.
29844 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29848 Hi, I'm outdated. Please shoot me.
29850 2005-05-19 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29852 * gst/gstpipeline.c: (gst_pipeline_send_event):
29853 Do not access variables after they have been deleted.
29855 2005-05-19 Wim Taymans <wim@fluendo.com>
29857 * tools/gst-inspect.c: (print_plugin_features):
29858 A plugin feature does unfortunatly not use the
29861 2005-05-18 Wim Taymans <wim@fluendo.com>
29863 * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29864 Port _span() functions to new subbuffers.
29866 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29868 * gst/gstbin.c: (gst_bin_add_func):
29869 Fix clock settery in bins when adding kids after the clock has
29872 2005-05-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
29874 * gst/elements/gstidentity.c: (gst_identity_class_init):
29875 Workaround until signals support GstMiniObject.
29877 2005-05-18 Jan Schmidt <thaytan@mad.scientist.com>
29880 Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29882 2005-05-18 Wim Taymans <wim@fluendo.com>
29884 * gst/base/Makefile.am:
29885 * gst/base/gstadapter.c: (gst_adapter_base_init),
29886 (gst_adapter_class_init), (gst_adapter_init),
29887 (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29888 (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29889 (gst_adapter_flush), (gst_adapter_available),
29890 (gst_adapter_available_fast):
29891 * gst/base/gstadapter.h:
29892 Ported and added adapter to the base classes.
29894 2005-05-17 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
29897 * gst/gstmessage.c:
29898 Make sure the class is reffed/unreffed once before threads can be
29899 used. Fixes #304551.
29901 2005-05-17 Wim Taymans <wim@fluendo.com>
29903 * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29904 (gst_basesink_chain_unlocked), (gst_basesink_activate):
29905 * gst/gstminiobject.c: (gst_mini_object_get_type),
29906 (gst_mini_object_free):
29907 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29908 (gst_pad_push), (gst_pad_push_event):
29909 * gst/gstqueue.c: (gst_queue_change_state):
29910 Don't queue buffers in basesink when we are flushing.
29911 Unref buffer when flushing in basesink.
29912 Flush queue when going to READY
29913 Unref buffer when _push() returns an error.
29914 Don't free MiniObject instance when refcount is incremented
29915 in _finalize() so that we can recover objects.
29917 2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
29919 * docs/manual/advanced-schedulers.xml:
29920 * docs/manual/appendix-checklist.xml:
29921 * docs/pwg/advanced-clock.xml:
29922 * docs/pwg/advanced-interfaces.xml:
29923 * docs/pwg/advanced-request.xml:
29924 * docs/pwg/advanced-types.xml:
29925 * docs/pwg/intro-preface.xml:
29926 * examples/plugins/example.c: (gst_example_get_type),
29927 (gst_example_class_init), (gst_example_chain),
29928 (gst_example_set_property), (gst_example_get_property),
29929 (gst_example_change_state), (plugin_init):
29930 * examples/plugins/example.h:
29933 2005-05-17 Wim Taymans <wim@fluendo.com>
29935 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29936 (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29937 * gst/gstqueue.c: (gst_queue_change_state):
29938 Clear queue when going to READY.
29939 Remove IN_SETCAPS flag too.
29941 2005-05-17 Tim-Philipp Müller <tim at centricular dot net>
29943 * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29944 Remove implicit cast from gboolean to GstElementStateReturn;
29945 make sure we still return failure in paused => ready case if
29946 the parent class fails to change state and our own stop
29949 2005-05-17 Wim Taymans <wim@fluendo.com>
29951 * tools/gst-launch.c: (event_loop):
29952 Message was unreffed too soon.
29954 2005-05-16 Andy Wingo <wingo@pobox.com>
29956 * gst/gstbin.c (sink_iterator_filter): Err... um...
29958 * check/gst/gstbin.c (test_ghost_pads): New test for the
29959 ghosting-if-elements-not-in-same-bin behavior.
29961 2005-05-16 David Schleef <ds@schleef.org>
29963 * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29964 accessing refcount directly.
29966 2005-05-15 David Schleef <ds@schleef.org>
29968 * check/Makefile.am: remove GstData checks
29969 * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29970 * gst/Makefile.am: add miniobject, remove data
29971 * gst/gst.h: add miniobject, remove data
29972 * gst/gstdata.c: remove
29973 * gst/gstdata.h: remove
29974 * gst/gstdata_private.h: remove
29975 * gst/gsttypes.h: remove GstEvent and GstMessage
29976 * gst/gstelement.c: (gst_element_post_message): fix for API changes
29977 * gst/gstmarshal.list: change BOXED -> OBJECT
29979 Implement GstMiniObject.
29980 * gst/gstminiobject.c:
29981 * gst/gstminiobject.h:
29983 Modify to be subclasses of GstMiniObject.
29984 * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29985 (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29986 (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29987 (gst_subbuffer_get_type), (gst_subbuffer_init),
29988 (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29991 * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29992 (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29993 (_gst_event_copy), (gst_event_new):
29995 * gst/gstmessage.c: (_gst_message_initialize),
29996 (gst_message_get_type), (gst_message_class_init),
29997 (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29998 (gst_message_new), (gst_message_new_error),
29999 (gst_message_new_warning), (gst_message_new_tag),
30000 (gst_message_new_state_changed), (gst_message_new_application):
30001 * gst/gstmessage.h:
30002 * gst/gstprobe.c: (gst_probe_perform),
30003 (gst_probe_dispatcher_dispatch):
30005 * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30006 (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30007 (_gst_query_copy), (gst_query_new):
30009 Update elements for GstData -> GstMiniObject changes
30011 * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30012 (gst_queue_chain), (gst_queue_loop):
30013 * gst/elements/gstbufferstore.c:
30014 (gst_buffer_store_add_buffer_func),
30015 (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30016 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30017 (gst_fakesink_render):
30018 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30019 * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30020 (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30021 (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30022 (gst_filesrc_create_read):
30023 * gst/elements/gstidentity.c: (gst_identity_class_init):
30024 * gst/elements/gsttypefindelement.c:
30025 (gst_type_find_element_src_event), (free_entry_buffers),
30026 (gst_type_find_element_handle_event):
30027 * libs/gst/dataprotocol/dataprotocol.c:
30028 (gst_dp_header_from_buffer):
30029 * libs/gst/dataprotocol/dataprotocol.h:
30030 * libs/gst/dataprotocol/dp-private.h:
30032 2005-05-15 David Schleef <ds@schleef.org>
30034 * gst/elements/gstelements.c: Don't include headers that were
30037 2005-05-15 David Schleef <ds@schleef.org>
30039 * gst/elements/Makefile.am: Remove some elements that don't
30040 need to be in the core (or even exist at all).
30041 * gst/elements/gstaggregator.c:
30042 * gst/elements/gstaggregator.h:
30043 * gst/elements/gstmd5sink.c:
30044 * gst/elements/gstmd5sink.h:
30045 * gst/elements/gstmultifilesrc.c:
30046 * gst/elements/gstmultifilesrc.h:
30047 * gst/elements/gstpipefilter.c:
30048 * gst/elements/gstpipefilter.h:
30049 * gst/elements/gstshaper.c:
30050 * gst/elements/gstshaper.h:
30051 * gst/elements/gststatistics.c:
30052 * gst/elements/gststatistics.h:
30053 * po/POTFILES.in: Remove above files.
30055 2005-05-14 Andy Wingo <wingo@pobox.com>
30057 * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30058 so as to get the refs right.
30059 (sink_iterator_filter): New function, wraps bin_element_is_sink,
30060 unreffing objects that don't pass the filter.
30062 * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30063 gst_element_set_bus.
30064 (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30065 normal cases, this will destroy the bus.
30067 * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30070 * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30073 2005-05-13 Andy Wingo <wingo@pobox.com>
30075 * gst/gstutils.c (gst_element_link_pads): Instead of calling
30076 gst_pad_link, call pad_link_maybe_ghosting,
30077 (pad_link_maybe_ghosting): Links pads, making sure that the
30078 elements being linked are in the same bin.
30079 (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30080 Helpers for pad_link_maybe_ghosting.
30082 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30085 Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30087 2005-05-13 Tim-Philipp Müller <tim at centricular dot net>
30089 * docs/design/part-element-source.txt:
30092 2005-05-12 Wim Taymans <wim@fluendo.com>
30094 * gst/base/gstbasesink.c: (gst_basesink_init),
30095 (gst_basesink_activate):
30096 * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30097 (gst_basesrc_is_seekable):
30098 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30099 (bin_element_is_sink), (gst_bin_change_state):
30100 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30101 * gst/gstelement.h:
30102 Identify sinks by their flag to avoid overly complicated
30104 Do state changes even for elements not reachable from the
30106 BaseSink is a sink now :)
30107 Some more debugging info in the basesrc.
30110 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30112 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30113 Implement _query on a bin, similar to _send_event.
30115 2005-05-12 Tim-Philipp Müller <tim at centricular dot net>
30117 * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30118 Discont event offset format should be GST_FORMAT_BYTES,
30119 not GST_FORMAT_TIME.
30121 2005-05-12 Wim Taymans <wim@fluendo.com>
30123 * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30124 Same fix as Ronald's but without the signal.
30126 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30128 * gst/gstutils.c: (gst_element_query_position):
30129 No, an element is not a pad.
30131 2005-05-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30133 * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30134 (gst_bin_get_state):
30135 If a child is removed from a bin while we remove the child from
30136 the bin and while we're retrieving its state, signal this to the
30137 get_state function so we abort the wait (instead of waiting for
30138 a timeout) and can immediately re-iterate over all other elements.
30140 2005-05-12 Wim Taymans <wim@fluendo.com>
30142 * gst/base/Makefile.am:
30143 * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30144 (gst_basesrc_start):
30145 * gst/base/gstbasesrc.h:
30146 * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30147 (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30148 (gst_pushsrc_init), (gst_pushsrc_create):
30149 * gst/base/gstpushsrc.h:
30150 Added is_seekable to BaseSrc
30151 Added simple PushSrc.
30153 2005-05-11 Wim Taymans <wim@fluendo.com>
30155 * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30156 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30157 (gst_element_link_pads), (gst_element_query_position),
30158 (gst_element_query_convert), (intersect_caps_func),
30159 (gst_pad_query_position), (gst_pad_query_convert):
30160 Fix refcounting in utils function.
30161 No point in trying to activate a pad when it's added, it could
30162 be added from the state change function and then we deadlock, the
30163 element has to decide what to do.
30165 2005-05-10 Andy Wingo <wingo@pobox.com>
30167 * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30168 *all* the arguments.
30170 * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30171 stream lock if it's a FLUSH_DONE; normal flushes don't get the
30172 lock (according to the docs -- if this is wrong change the docs).
30174 * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30175 flush messages in the NULL state.
30177 * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30178 message immediately and return.
30179 (gst_bus_set_flushing): New function. If a bus is flushing, it
30180 flushes out any queued messages and immediately unrefs new
30181 messages. This is so when an element goes to NULL, all of the
30182 unhandled messages coming from it can be freed, and their
30183 references to the element dropped. In other words: message source
30184 ref considered harmful :P
30186 * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30187 we're finished with it.
30189 * gst/gstmessage.c (gst_message_new_state_changed):
30191 2005-05-10 Wim Taymans <wim@fluendo.com>
30193 * gst/gstvalue.c: (gst_value_compare_flags),
30194 (gst_value_serialize_flags), (gst_value_deserialize_flags),
30195 (_gst_value_initialize):
30196 Added flags serialize/deserialize/compare code.
30198 2005-05-09 Andy Wingo <wingo@pobox.com>
30200 * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30201 Intersect the peer's caps with our caps.
30203 2005-05-09 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30205 * gst/base/gsttypefindhelper.c: (helper_find_peek):
30206 * gst/elements/gsttypefindelement.c: (find_peek):
30207 Handle negative offsets better. Fixes decodebin.
30209 2005-05-09 Wim Taymans <wim@fluendo.com>
30211 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30212 (gst_base_transform_event):
30213 * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30214 Implement accept_caps.
30215 Fix silly lock/unlock mismatch in base class.
30217 2005-05-09 Wim Taymans <wim@fluendo.com>
30219 * docs/design/draft-push-pull.txt:
30220 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30221 * gst/elements/gstfilesink.c: (gst_filesink_init),
30222 (gst_filesink_query):
30223 * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30224 (gst_type_find_handle_src_query), (find_element_get_length):
30225 * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30226 * gst/gstelement.h:
30227 * gst/gstmessage.c:
30228 * gst/gstmessage.h:
30229 * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30230 (gst_real_pad_get_caps_unlocked),
30231 (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30232 (gst_pad_event_default_dispatch), (gst_pad_event_default),
30233 (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30234 (gst_real_pad_dispose), (gst_real_pad_finalize),
30235 (gst_pad_load_and_link), (gst_pad_save_thyself),
30236 (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30237 (gst_pad_check_pull_range), (gst_pad_pull_range),
30238 (gst_pad_template_get_type), (gst_pad_template_class_init),
30239 (gst_pad_template_init), (gst_pad_template_dispose),
30240 (name_is_valid), (gst_static_pad_template_get),
30241 (gst_pad_template_new), (gst_static_pad_template_get_caps),
30242 (gst_pad_template_get_caps), (gst_pad_set_element_private),
30243 (gst_pad_get_element_private), (gst_pad_start_task),
30244 (gst_pad_pause_task), (gst_pad_stop_task),
30245 (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30246 (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30247 (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30248 (gst_ghost_pad_new):
30250 * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30251 (gst_query_new_position), (gst_query_set_position),
30252 (gst_query_parse_position), (gst_query_new_convert),
30253 (gst_query_set_convert), (gst_query_parse_convert):
30255 * gst/gstqueryutils.c:
30256 * gst/gstqueryutils.h:
30257 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30258 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30259 (gst_queue_handle_src_query):
30260 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30261 (gst_element_query_position), (gst_element_query_convert),
30262 (intersect_caps_func), (gst_pad_query_position),
30263 (gst_pad_query_convert):
30265 * tools/gst-inspect.c: (print_pad_info):
30266 * tools/gst-xmlinspect.c: (print_element_info):
30267 Remove old query functions. Ported old code.
30268 Added position/convert helper functions to gstutils.
30269 Reordered gstpad.c code, grouping relevant things.
30270 Remove gst_message_new(), always need to speficy a specific
30274 2005-05-09 Andy Wingo <wingo@pobox.com>
30276 * gst/gstiterator.h: Add some includes.
30278 * gst/gstqueryutils.h: Include more headers.
30281 * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30282 some uses of gst_pad_query.
30284 * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30285 NULL out parameters.
30286 (gst_query_new_position): New proc, allocates a new position
30289 * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30290 gstqueryutils.c to the build.
30292 * gst/gststructure.c (gst_structure_set_valist): Implement with
30293 the generic G_VALUE_COLLECT.
30295 2005-05-08 Edward Hervey <bilboed@bilboed.com>
30297 * gst/Makefile.am: (gst_headers):
30298 Added gstqueryutils.h to the list of headers to install, that was
30299 a 'nachty' move wingo :)
30301 2005-05-06 Andy Wingo <wingo@pobox.com>
30304 * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30305 GstData, init a memchunk.
30306 (standard_definitions): Add a few query types, deprecate a few.
30307 (gst_query_get_type): New proc.
30308 (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30310 (gst_query_new_application, gst_query_get_structure): New public
30313 * docs/design/draft-query.txt: Removed LINKS from the query types,
30314 because all the rest can be dispatched to other pads -- seemed
30315 ugly to have a query that couldn't be dispatched. internal_links
30316 is fine as a pad method.
30318 * gst/gstpad.h: Add query2 as a pad method, add the new functions
30319 in gstpad.c, but maintain binary compatibility for the moment.
30320 Will fix before 0.9 is out.
30322 * gst/gstqueryutils.c:
30323 * gst/gstqueryutils.h: New files, implement 3 methods for each
30324 query type: parse_query, parse_response, and set. Probably need an
30327 * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30329 * gst/elements/gstfilesink.c (gst_filesink_query2):
30330 * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30331 query_types, and formats methods.
30333 * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30334 (gst_pad_set_query2_function): New functions.
30335 (gst_real_pad_init): Set query2_default as the default query2
30336 function. Basically just dispatches to internally linked pads.
30340 * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30341 without using the atomic operations. Only one thread can possibly
30342 be accessing the data at this point. Changed so as to avoid
30343 gst_atomic operations.
30345 2005-05-06 Wim Taymans <wim@fluendo.com>
30347 * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30348 Also set caps if we use the fallback buffer alloc.
30350 2005-05-06 Tim-Philipp Müller <tim at centricular dot net>
30352 * docs/gst/Makefile.am:
30353 * docs/gst/gstreamer-docs.sgml:
30354 * docs/gst/gstreamer-sections.txt:
30355 * docs/gst/tmpl/gstatomic.sgml:
30356 * docs/gst/tmpl/gstmemchunk.sgml:
30357 * testsuite/elements/struct_i386.h:
30358 * win32/GStreamer.vcproj:
30360 Purge GstAtomic stuff from docs and win32 makefiles as well
30362 2005-05-06 Wim Taymans <wim@fluendo.com>
30364 * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30365 * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30366 * gst/gstpad.c: (gst_pad_peer_get_caps):
30367 * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30368 (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30369 (gst_queue_src_activate), (gst_queue_change_state):
30371 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30372 (intersect_caps_func):
30373 Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30374 Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30375 Some fixes for the peer_get_caps() change.
30377 2005-05-06 Wim Taymans <wim@fluendo.com>
30379 * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30380 (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30381 (gst_basesink_activate):
30382 Actually do something with error codes returned from the push
30385 2005-05-06 Wim Taymans <wim@fluendo.com>
30387 * docs/design/part-element-sink.txt:
30388 * docs/design/part-element-source.txt:
30389 * gst/base/gstbasesink.c: (gst_basesink_class_init),
30390 (gst_basesink_event), (gst_basesink_activate):
30391 * gst/base/gstbasesink.h:
30392 * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30393 (gst_basesrc_activate):
30394 * gst/base/gstbasesrc.h:
30395 * gst/gstelement.c: (gst_element_pads_activate):
30396 Some more documentation.
30397 Fixed scheduling decision in _pads_activate().
30399 2005-05-05 Andy Wingo <wingo@pobox.com>
30401 * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30404 2005-05-05 Wim Taymans <wim@fluendo.com>
30406 * gst/base/Makefile.am:
30407 * gst/base/gstbasesink.h:
30408 * gst/base/gstbasesrc.c: (gst_basesrc_init),
30409 (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30410 * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30411 (gst_collectpads_class_init), (gst_collectpads_init),
30412 (gst_collectpads_finalize), (gst_collectpads_new),
30413 (gst_collectpads_set_function), (gst_collectpads_add_pad),
30414 (find_pad), (gst_collectpads_remove_pad),
30415 (gst_collectpads_is_active), (gst_collectpads_collect),
30416 (gst_collectpads_collect_range), (gst_collectpads_start),
30417 (gst_collectpads_stop), (gst_collectpads_peek),
30418 (gst_collectpads_pop), (gst_collectpads_available),
30419 (gst_collectpads_read), (gst_collectpads_flush),
30420 (gst_collectpads_chain):
30421 * gst/base/gstcollectpads.h:
30422 * gst/elements/Makefile.am:
30423 * gst/elements/gstelements.c:
30424 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30425 (gst_fakesink_get_times), (gst_fakesink_event),
30426 (gst_fakesink_preroll), (gst_fakesink_render):
30427 * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30428 (gst_filesink_init), (gst_filesink_set_location),
30429 (gst_filesink_open_file), (gst_filesink_close_file),
30430 (gst_filesink_pad_query), (gst_filesink_event),
30431 (gst_filesink_render), (gst_filesink_change_state):
30432 * gst/elements/gstfilesink.h:
30433 Added object to help in making collect pad based elements.
30435 Make event function in sink baseclass return gboolean.
30437 2005-05-05 Wim Taymans <wim@fluendo.com>
30439 * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30440 (gst_bin_get_by_name):
30442 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30443 (gst_clock_finalize):
30444 * gst/gstdata.c: (gst_data_replace):
30446 * gst/gstelement.c: (gst_element_request_pad),
30447 (gst_element_pads_activate):
30448 * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30449 (gst_object_unref):
30450 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30451 (gst_pad_set_checkgetrange_function),
30452 (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30453 (gst_pad_check_pull_range), (gst_pad_pull_range),
30454 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30455 (gst_pad_pause_task), (gst_pad_stop_task):
30456 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30457 (gst_element_request_pad), (gst_pad_proxy_getcaps):
30458 Fix name lookup in GstBin.
30459 Added _data_replace() function and _buffer_replace()
30460 Use finalize method to clean up clock.
30461 Fix refcounting on request pads.
30462 Fix pad schedule mode error.
30463 Some more object refcounting debug info,
30466 2005-05-04 Andy Wingo <wingo@pobox.com>
30468 * check/Makefile.am:
30469 * docs/gst/tmpl/gstatomic.sgml:
30470 * docs/gst/tmpl/gstplugin.sgml:
30471 * gst/base/gstbasesink.c: (gst_basesink_activate):
30472 * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30473 (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30474 (gst_basesrc_query), (gst_basesrc_set_property),
30475 (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30476 (gst_basesrc_activate):
30477 * gst/base/gstbasesrc.h:
30478 * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30479 (gst_base_transform_src_activate):
30480 * gst/elements/gstelements.c:
30481 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30482 (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30483 * gst/elements/gsttee.c: (gst_tee_sink_activate):
30484 * gst/elements/gsttypefindelement.c: (find_element_get_length),
30485 (gst_type_find_element_checkgetrange),
30486 (gst_type_find_element_activate):
30487 * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30488 * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30489 (gst_caps_load_thyself):
30490 * gst/gstelement.c: (gst_element_pads_activate),
30491 (gst_element_save_thyself), (gst_element_restore_thyself):
30492 * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30493 (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30495 * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30496 (gst_xml_parse_file), (gst_xml_parse_memory),
30497 (gst_xml_get_element), (gst_xml_make_element):
30498 * gst/indexers/gstfileindex.c: (gst_file_index_load),
30499 (_file_index_id_save_xml), (gst_file_index_commit):
30500 * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30501 (read_enum), (load_pad_template), (load_feature), (load_plugin),
30503 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30504 (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30505 * tools/gst-complete.c: (main):
30506 * tools/gst-compprep.c: (main):
30507 * tools/gst-inspect.c: (print_element_properties_info):
30508 * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30509 * tools/gst-xmlinspect.c: (print_element_properties):
30512 2005-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
30514 * gst/gstplugin.c: (gst_plugin_check_module),
30515 (gst_plugin_check_file), (gst_plugin_load_file):
30516 apply patch from #172526 to make register work on MacOSX
30518 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30520 * docs/gst/tmpl/gstconfig.sgml:
30521 * gst/gstconfig.h.in:
30522 move documentation for some symbols. Add doc for GST_PTR_FORMAT
30523 * testsuite/debug/printf_extension.c: (main):
30524 Do not use GST_PTR_FORMAT on pointers to types with
30525 sizeof < sizeof(gpointer). Fixes test on 64-bit
30526 * testsuite/elements/property.h:
30527 use correct printf format
30529 2005-05-02 Wim Taymans <wim@fluendo.com>
30531 * docs/design/draft-push-pull.txt:
30532 * docs/design/draft-query.txt:
30533 * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30534 (gst_basesrc_start):
30535 Added draft for new query API.
30536 Added draft for better selecting scheduling methods.
30537 Make basesrc ignore length if the subclass does not support
30540 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30543 possible fixes for automake-1.5 - _LIBADD is reserved
30545 2005-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
30547 * docs/faq/Makefile.am:
30548 * docs/manual/Makefile.am:
30549 * docs/manuals.mak:
30550 * docs/pwg/Makefile.am:
30552 possible fixes for automake-1.5
30554 2005-04-28 Wim Taymans <wim@fluendo.com>
30556 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30557 (gst_basesink_pad_getcaps), (gst_basesink_init),
30558 (gst_basesink_do_sync):
30559 * gst/gstclock.c: (gst_clock_entry_new):
30560 * gst/gstevent.c: (gst_event_discont_get_value):
30561 * gst/gstpipeline.c: (pipeline_bus_handler),
30562 (gst_pipeline_change_state):
30563 * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30564 Better debugging of clocking info.
30565 Allow NULL values when getting discont values.
30567 2005-04-27 Wim Taymans <wim@fluendo.com>
30569 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30570 * check/gst/gstpad.c: (gst_pad_suite):
30571 Increase timeout for checks.
30573 2005-04-27 Thomas Vander Stichele <thomas (at) apestaart (dot) org>
30575 * check/Makefile.am:
30576 fix the broken rule for cleanup. Apparently this rule is
30577 only needed on FC2, so maybe this warrants further autotool
30580 2005-04-26 Wim Taymans <wim@fluendo.com>
30582 * gst/gsttrashstack.h:
30583 Ooohh. a nasty one! After having a failed pop() from the stack,
30584 it's possible that the stack is empty. In that case, don't
30585 follow the NULL pointer.
30587 2005-04-25 Wim Taymans <wim@fluendo.com>
30589 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30590 (gst_pad_set_checkgetrange_function),
30591 (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30592 (gst_pad_check_pull_range), (gst_pad_pull_range),
30593 (gst_static_pad_template_get_caps), (gst_pad_start_task),
30594 (gst_pad_pause_task), (gst_pad_stop_task):
30595 * gst/gstplugin.c: (gst_plugin_load):
30597 Remove gst_library_load as it does more harm than good with
30598 the new g_module flags.
30599 Revert bogus caps template check in pad linking, pad caps
30600 are important when linking not the template, which is more
30601 general than the current caps.
30603 2005-04-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30605 * gst/autoplug/.cvsignore:
30606 * gst/autoplug/Makefile.am:
30607 * gst/autoplug/gstsearchfuncs.c:
30608 * gst/autoplug/gstsearchfuncs.h:
30609 * gst/autoplug/gstspider.c:
30610 * gst/autoplug/gstspider.h:
30611 * gst/autoplug/gstspideridentity.c:
30612 * gst/autoplug/gstspideridentity.h:
30613 * gst/autoplug/spidertest.c:
30616 2005-04-25 Wim Taymans <wim@fluendo.com>
30618 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30619 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30620 (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30621 (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30623 Added stubs for unimplemented functions.
30625 2005-04-24 David Schleef <ds@schleef.org>
30627 * gst/gstpad.h: Disable some unimplemented functions. Wim,
30630 2005-04-24 David Schleef <ds@schleef.org>
30632 Convert everything from GstAtomicInt to g_atomic_int_*, and
30637 * gst/gstatomic_impl.h:
30645 * gst/gstdata_private.h:
30649 * gst/gstmessage.c:
30652 * gst/gststructure.c:
30653 * gst/gststructure.h:
30654 * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30657 2005-04-24 David Schleef <ds@schleef.org>
30659 * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30660 make the regressions tests work. Remove some code that is no
30662 * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30663 Disable warning for pads without templates.
30665 2005-04-24 David Schleef <ds@schleef.org>
30667 * gst/gstpad.c: Remove handling of filtered caps. Fix/merge
30668 functions that handle filtered links.
30669 * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30671 * gst/gstutils.c: Fix/remove utility functions that handle
30674 * gst/gstvalue.c: Add serialization/deserialization of caps
30675 * gst/parse/grammar.y: Ignore filtered caps when linking. This
30676 requires fixing so that the filter caps notation creates
30677 a capsfilter element and sets the filter_caps property. I
30678 think everyone probably wants to keep the shorthand notation.
30679 * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30680 * docs/gst/tmpl/gstpad.sgml:
30682 * gst/elements/gstelements.c: Register capsfilter element.
30683 * gst/Makefile.am: fix spacing
30684 * docs/random/ds/0.9-suggested-changes: random
30686 2005-04-23 David Schleef <ds@schleef.org>
30688 * gst/elements/Makefile.am:
30689 * gst/elements/gstcapsfilter.c: New element that acts like an
30690 identity, but filters caps. Will eventually replace filtered
30691 caps in pad linking.
30692 * gst/gstutils.c: (gst_element_create_all_pads): New function
30693 to create all the ALWAYS pads that are registered with an
30694 element class. This functionality should eventually be
30695 merged in with GstElement initialization.
30697 * testsuite/trigger/README: part of trigger test code that should
30698 have been checked in a long time ago.
30700 2005-04-23 David Schleef <ds@schleef.org>
30702 * gst/Makefile.am: Remove as-libtool stuff. It's likely not
30703 needed with new versions of libtool (nobody will confirm this),
30704 and hard to carry around.
30705 * gst/autoplug/Makefile.am:
30706 * gst/base/Makefile.am:
30707 * gst/elements/Makefile.am:
30708 * gst/indexers/Makefile.am:
30709 * gst/schedulers/Makefile.am:
30710 * libs/gst/bytestream/Makefile.am:
30711 * libs/gst/control/Makefile.am:
30712 * libs/gst/dataprotocol/Makefile.am:
30713 * libs/gst/getbits/Makefile.am:
30715 2005-04-21 Wim Taymans <wim@fluendo.com>
30717 * docs/design/draft-push-pull.txt:
30718 * docs/design/part-MT-refcounting.txt:
30719 * docs/design/part-TODO.txt:
30720 * docs/design/part-caps.txt:
30721 * docs/design/part-events.txt:
30722 * docs/design/part-gstbus.txt:
30723 * docs/design/part-gstpipeline.txt:
30724 * docs/design/part-messages.txt:
30725 * docs/design/part-push-pull.txt:
30726 * docs/design/part-query.txt:
30729 2005-04-21 Wim Taymans <wim@fluendo.com>
30731 * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30732 (gst_message_new), (gst_message_new_error),
30733 (gst_message_new_warning), (gst_message_new_tag),
30734 (gst_message_new_state_changed), (gst_message_new_application),
30735 (gst_message_get_structure):
30736 * gst/gstmessage.h:
30737 * gst/gststructure.c: (gst_structure_set_parent_refcount),
30738 (gst_structure_copy_conditional):
30739 Use parent refcount in GstMessage to ensure GstStructure
30741 Cleaned up headers a bit.
30744 2005-04-20 Wim Taymans <wim@fluendo.com>
30746 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30747 (gst_basesink_pad_getcaps), (gst_basesink_init),
30748 (gst_basesink_chain_unlocked):
30749 * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30750 (gst_type_find_helper):
30751 * gst/elements/gsttypefindelement.c:
30752 (gst_type_find_element_have_type), (gst_type_find_element_init),
30753 (stop_typefinding), (gst_type_find_element_handle_event),
30754 (find_suggest), (gst_type_find_element_chain),
30755 (gst_type_find_element_checkgetrange),
30756 (gst_type_find_element_getrange), (do_typefind),
30757 (gst_type_find_element_activate):
30758 * gst/gstbuffer.c: (_gst_buffer_sub_free),
30759 (gst_buffer_default_free), (gst_buffer_default_copy),
30760 (gst_buffer_set_caps):
30761 * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30762 (gst_caps_replace):
30763 * gst/gstmessage.c: (gst_message_new),
30764 (gst_message_new_state_changed):
30765 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30766 (gst_pad_set_checkgetrange_function),
30767 (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30768 (gst_pad_set_caps), (gst_pad_check_pull_range),
30769 (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30771 * gst/gsttypefind.c: (gst_type_find_register):
30772 Make gst_caps_replace() work like other _replace() functions.
30773 Use _caps_replace() where possible.
30774 Make sure _message_new() initialises its field.
30775 Add gst_static_pad_template_get_caps()
30778 2005-04-18 Andy Wingo <wingo@pobox.com>
30780 * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30781 on the peer, not the pad. I think that was a typo. Pass an extra
30782 arg to see if random access is possible. Activate the pads as
30783 PULL_RANGE if possible.
30785 * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30787 * gst/base/gstbasesrc.c (gst_basesrc_set_property)
30788 (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30791 2005-04-14 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30793 * docs/faq/using.xml:
30794 Add note on gstreamer-properties (#154996).
30796 2005-04-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30798 * docs/random/bbb/optional-properties:
30799 Some analysis on optional properties.
30801 2005-04-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
30803 * docs/gst/tmpl/gstelementfactory.sgml:
30804 * gst/gstelement.h:
30805 * gst/gstelementfactory.c: (gst_element_factory_init),
30806 (gst_element_factory_cleanup), (gst_element_register),
30807 (__gst_element_factory_add_static_pad_template),
30808 (gst_element_factory_get_static_pad_templates),
30809 (gst_element_factory_can_src_caps),
30810 (gst_element_factory_can_sink_caps):
30811 * gst/registries/Makefile.am:
30812 * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30813 (gst_xml_registry_class_init), (gst_xml_registry_init),
30814 (gst_xml_registry_new), (gst_xml_registry_set_property),
30815 (gst_xml_registry_get_property), (get_time), (make_dir),
30816 (gst_xml_registry_get_perms_func),
30817 (plugin_times_older_than_recurse), (plugin_times_older_than),
30818 (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30819 (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30820 (add_to_char_array), (read_string), (read_uint), (read_enum),
30821 (load_pad_template), (load_feature), (load_plugin), (load_paths),
30822 (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30823 (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30824 (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30825 (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30826 (gst_xml_registry_rebuild):
30827 * gst/registries/gstlibxmlregistry.h:
30828 * tools/gst-compprep.c: (main):
30829 * tools/gst-inspect.c: (print_pad_templates_info):
30830 * tools/gst-xmlinspect.c: (print_element_info):
30831 Use libxml2 for registry parsing, use staticpadtemplates in
30832 elementfactories. Makes gst_init() +/- 10x faster.
30834 2005-04-12 Wim Taymans <wim@fluendo.com>
30836 * gst/base/Makefile.am:
30837 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30838 (gst_basesink_pad_getcaps), (gst_basesink_init),
30839 (gst_basesink_event), (gst_basesink_change_state):
30840 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30841 (gst_basesrc_init), (gst_basesrc_query),
30842 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30843 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30844 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30845 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30846 (gst_basesrc_stop), (gst_basesrc_activate),
30847 (gst_basesrc_change_state):
30848 * gst/base/gsttypefindhelper.c: (helper_find_peek),
30849 (helper_find_suggest), (gst_type_find_helper):
30850 * gst/base/gsttypefindhelper.h:
30851 * gst/elements/Makefile.am:
30852 * gst/elements/gstelements.c:
30853 * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30854 (gst_fakesink_get_times), (gst_fakesink_event),
30855 (gst_fakesink_preroll), (gst_fakesink_render):
30856 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30857 (gst_fakesrc_init), (gst_fakesrc_event_handler),
30858 (gst_fakesrc_get_property), (gst_fakesrc_create),
30859 (gst_fakesrc_start), (gst_fakesrc_stop):
30860 * gst/elements/gstfakesrc.h:
30861 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30862 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30863 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30864 (gst_filesrc_create_read), (gst_filesrc_create),
30865 (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30866 (gst_filesrc_start):
30867 * gst/elements/gsttypefindelement.c:
30868 (gst_type_find_element_have_type), (gst_type_find_element_init),
30869 (start_typefinding), (stop_typefinding), (push_buffer_store),
30870 (gst_type_find_element_handle_event),
30871 (gst_type_find_element_chain),
30872 (gst_type_find_element_checkgetrange),
30873 (gst_type_find_element_getrange), (do_typefind),
30874 (gst_type_find_element_activate),
30875 (gst_type_find_element_change_state):
30876 * gst/elements/gsttypefindelement.h:
30877 * gst/gstpipeline.c: (pipeline_bus_handler):
30878 Added typefind helper.
30879 Small preroll fix in the base sink.
30880 Disable typefind code in basesrc.
30881 Crude port of typefindelement.
30885 2005-04-11 Wim Taymans <wim@fluendo.com>
30887 * check/gst/gstbus.c: (gstbus_suite):
30888 * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30889 * check/gstcheck.h:
30890 Fix up the timeout so that the test does not fail.
30892 2005-04-06 Wim Taymans <wim@fluendo.com>
30895 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30896 (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30897 (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30898 (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30899 (gst_basesrc_check_get_range), (gst_basesrc_loop),
30900 (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30901 (gst_basesrc_stop), (gst_basesrc_activate),
30902 (gst_basesrc_change_state), (basesrc_find_peek),
30903 (basesrc_find_suggest), (gst_basesrc_type_find):
30904 * gst/base/gstbasesrc.h:
30905 * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30906 (gst_filesrc_class_init), (gst_filesrc_init),
30907 (gst_filesrc_finalize), (gst_filesrc_set_location),
30908 (gst_filesrc_set_property), (gst_filesrc_get_property),
30909 (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30910 (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30911 (gst_filesrc_create_read), (gst_filesrc_create),
30912 (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30913 * gst/elements/gstfilesrc.h:
30914 * gst/gstelement.c: (gst_element_get_state_func),
30915 (gst_element_lost_state), (gst_element_pads_activate):
30916 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30917 (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30918 (gst_pad_pull_range):
30920 More work on the generic source base class, implement seeking,
30922 Make filesrc extend the base source class.
30923 Added gst_pad_set_checkgetrange_function to GstPad.
30925 2005-04-06 Andy Wingo <wingo@pobox.com>
30927 * pkgconfig/gstreamer-base.pc.in:
30928 * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30930 * pkgconfig/Makefile.am:
30931 * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30933 2005-04-04 Wim Taymans <wim@fluendo.com>
30935 * gst/base/Makefile.am:
30937 * gst/base/gstbasesink.c: (gst_basesink_base_init),
30938 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30939 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30940 (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30941 * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30942 (gst_basesrc_base_init), (gst_basesrc_class_init),
30943 (gst_basesrc_init), (gst_basesrc_get_formats),
30944 (gst_basesrc_get_query_types), (gst_basesrc_query),
30945 (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30946 (gst_basesrc_set_property), (gst_basesrc_get_property),
30947 (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30948 (gst_basesrc_loop), (gst_basesrc_activate),
30949 (gst_basesrc_change_state):
30950 * gst/base/gstbasesrc.h:
30951 * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30952 (gst_fakesrc_class_init), (gst_fakesrc_init),
30953 (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30954 (gst_fakesrc_get_property), (gst_fakesrc_create):
30955 * gst/elements/gstfakesrc.h:
30956 * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30957 (gst_filesrc_open_file), (gst_filesrc_loop),
30958 (gst_filesrc_activate), (filesrc_find_peek),
30959 (gst_filesrc_type_find):
30960 Made base source class, make fakesrc extend it.
30961 Add comments to basesink class.
30962 Some filesrc cleanup.
30964 2005-03-31 David Schleef <ds@schleef.org>
30966 * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30967 Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30968 expected to link against libgstreamer.
30969 * gst/base/Makefile.am: link against libgstreamer
30970 * gst/elements/Makefile.am: same
30972 2005-03-31 Andy Wingo <wingo@pobox.com>
30974 * tests/instantiate/Makefile.am:
30975 * tests/instantiate/caps.c: Add test to test speed of caps copy
30978 * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30979 GMemChunk to be fair.
30981 * gst/gsttrashstack.h: Remove warning about using the fallback
30982 trash stack implementation, it's still faster than malloc.
30984 2005-03-30 Andy Wingo <wingo@pobox.com>
30986 * tests/complexity.c: Add a copyright.
30988 2005-03-31 Wim Taymans <wim@fluendo.com>
30990 * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30991 (gst_base_transform_class_init), (gst_base_transform_init),
30992 (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30993 (gst_base_transform_get_property),
30994 (gst_base_transform_sink_activate),
30995 (gst_base_transform_src_activate),
30996 (gst_base_transform_change_state):
30997 * gst/base/gstbasetransform.h:
30998 * gst/elements/gstidentity.c: (gst_identity_class_init),
30999 (gst_identity_event), (gst_identity_check_perfect),
31000 (gst_identity_transform), (gst_identity_start),
31001 (gst_identity_stop):
31002 Added start/stop methods to transform base class so subclasses
31003 don't need to deal with state changes even.
31005 2005-03-31 Wim Taymans <wim@fluendo.com>
31007 * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31008 (gst_event_new_discontinuous), (gst_event_discont_get_value):
31010 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31011 (gst_pad_pull_range):
31012 Added rate to the discont event to prepare for variable speed
31013 and reverse playback.
31015 2005-03-29 David Schleef <ds@schleef.org>
31018 * testsuite/trigger/Makefile.am:
31019 * testsuite/trigger/trigger.c: A little example program to show
31020 how trigger-based elements can work.
31022 2005-03-29 Wim Taymans <wim@fluendo.com>
31024 * gst/base/Makefile.am:
31026 * gst/base/gstbasesink.c: (gst_basesink_get_type),
31027 (gst_basesink_base_init), (gst_basesink_class_init),
31028 (gst_basesink_pad_getcaps), (gst_basesink_init),
31029 (gst_basesink_activate), (gst_basesink_change_state):
31030 * gst/base/gstbasesink.h:
31031 * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31032 (gst_base_transform_base_init), (gst_base_transform_finalize),
31033 (gst_base_transform_class_init), (gst_base_transform_init),
31034 (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31035 (gst_base_transform_event), (gst_base_transform_getrange),
31036 (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31037 (gst_base_transform_set_property),
31038 (gst_base_transform_get_property),
31039 (gst_base_transform_sink_activate),
31040 (gst_base_transform_src_activate),
31041 (gst_base_transform_change_state):
31042 * gst/base/gstbasetransform.h:
31043 * gst/elements/gstidentity.c: (gst_identity_finalize),
31044 (gst_identity_class_init), (gst_identity_init),
31045 (gst_identity_event), (gst_identity_check_perfect),
31046 (gst_identity_transform), (gst_identity_set_property),
31047 (gst_identity_get_property), (gst_identity_change_state):
31048 * gst/elements/gstidentity.h:
31049 * gst/gstelement.c: (gst_element_get_state_func),
31050 (gst_element_lost_state), (gst_element_pads_activate):
31051 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31052 (gst_pad_check_pull_range), (gst_pad_pull_range):
31054 Simplify pad activation.
31055 Added function to check if pull_range can be performed.
31056 Error out when pulling inactive or flushing pads.
31057 Removed const from refcounted types as it does not make sense.
31058 Simplify pad templates in basesink
31059 Added base class for simple 1-to-1 transforms.
31060 Make identity subclass the base transform.
31062 2005-03-29 Andy Wingo <wingo@pobox.com>
31064 * docs/libs/gstreamer-libs-overrides.txt:
31065 * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31066 really don't understand what's going on, but like whatever. I want
31069 * docs/gst/Makefile.am:
31070 * docs/libs/Makefile.am: Dist the overrides files.
31072 * check/Makefile.am (clean-local): Remove .libs directories.
31074 * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31075 elements to EXTRA_DIST, so po/ files are happy.
31077 * po/POTFILES.in: Er, remove it here.
31079 * po/POTFILES: Remove gstspider.c.
31081 * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31083 * docs/libs/gstreamer-libs-docs.sgml:
31084 * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31087 * tests/complexity.c (main): Set the length of the preroll queue
31088 on the sinks to prevent a lockup.
31090 * libs/gst/dataprotocol/Makefile.am:
31091 * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31092 the same as the one in check/gst-libs/gdp.c.
31094 * po/, docs/gst/: Commit automatic changes to docs and po files.
31096 * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31097 the versioned libgstbase.
31099 * check/Makefile.am: Depend on an unversioned gst-register, seems
31100 to make autoconf happier.
31102 * gst/base/Makefile.am: Make libgstbase a versioned lib.
31104 2005-03-28 Wim Taymans <wim@fluendo.com>
31107 * docs/design/part-gstelement.txt:
31108 * docs/design/part-negotiation.txt:
31109 * docs/design/part-preroll.txt:
31110 * docs/design/part-scheduling.txt:
31111 * docs/design/part-states.txt:
31113 * gst/base/Makefile.am:
31115 * gst/base/gstbasesink.c: (gst_basesink_get_template),
31116 (gst_basesink_base_init), (gst_basesink_class_init),
31117 (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31118 (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31119 (gst_basesink_set_pad_functions),
31120 (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31121 (gst_basesink_set_property), (gst_basesink_get_property),
31122 (gst_base_sink_get_template), (gst_base_sink_get_caps),
31123 (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31124 (gst_basesink_preroll_queue_push),
31125 (gst_basesink_preroll_queue_empty),
31126 (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31127 (gst_basesink_event), (gst_basesink_get_times),
31128 (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31129 (gst_basesink_chain_unlocked), (gst_basesink_chain),
31130 (gst_basesink_loop), (gst_basesink_activate),
31131 (gst_basesink_change_state):
31132 * gst/base/gstbasesink.h:
31133 * gst/elements/Makefile.am:
31134 * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31135 (gst_fakesink_class_init), (gst_fakesink_init),
31136 (gst_fakesink_set_property), (gst_fakesink_get_property),
31137 (gst_fakesink_get_times), (gst_fakesink_event),
31138 (gst_fakesink_preroll), (gst_fakesink_render),
31139 (gst_fakesink_change_state):
31140 * gst/elements/gstfakesink.h:
31141 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31142 (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31143 * gst/gstelement.c: (gst_element_add_pad),
31144 (gst_element_get_state_func), (gst_element_abort_state),
31145 (gst_element_commit_state), (gst_element_lost_state),
31146 (gst_element_set_state), (gst_element_pads_activate):
31147 * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31148 * gst/gstpipeline.c: (gst_pipeline_send_event),
31149 (gst_pipeline_change_state):
31150 Added state change code.
31151 Added/updated docs.
31152 Added sink base class, make fakesink extend the base class.
31153 Small cleanups in GstPipeline.
31155 2005-03-26 David Schleef <ds@schleef.org>
31157 * gst/Makefile.am: remove gstcpu.[ch]. The gst_cpu functionality
31158 is broken and should be implemented in a different library.
31159 * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31160 * gst/gst.h: remove gstcpu.h
31161 * gst/gstcpu.c: remove
31162 * gst/gstcpu.h: remove
31163 * gst/Makefile.am.future: Remove this file. It's ancient.
31165 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31167 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31168 (gst_bin_send_event):
31169 Add default event/set_manager handlers. The set_manager handler
31170 takes care that the manager is distributed over kids that were
31171 already in the bin before the manager was set. The event handler
31172 is a utility virtual function that sends the event over all sinks,
31173 so that gst_element_send_event (bin, event); has the expected
31175 * gst/gstpad.c: (gst_pad_event_default):
31176 Re-install default event handling for discontinuities, so that
31177 seeking works without requiring hacks in applications or extra
31179 * gst/gstpipeline.c: (gst_pipeline_class_init),
31180 (gst_pipeline_send_event):
31181 Half hack, half utility: set a pipeline to PAUSED for seek events,
31182 since that is the only way we can guarantee a/v sync. Means that
31183 you can do gst_element_seek (pipeline, method, pos); on a pipeline
31184 and it "just works".
31186 2005-03-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
31188 * gst/gstpipeline.c: (gst_pipeline_use_clock):
31189 Lock/unlock mismatch.
31191 2005-03-25 Thomas Vander Stichele <thomas at apestaart dot org>
31193 * docs/faq/gst-uninstalled:
31194 add gst-plugins-base
31195 * docs/gst/Makefile.am:
31196 don't error out until docs are fixed
31197 * docs/gst/gstreamer.types:
31200 2005-03-22 Wim Taymans <wim@fluendo.com>
31202 * check/Makefile.am:
31203 * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31204 * gst/gststructure.c: (gst_structure_set_valist),
31205 (gst_structure_copy_conditional):
31206 Activated more tests.
31207 Added message test.
31208 Added G_TYPE_POINTER to GstStructure.
31211 2005-03-22 Wim Taymans <wim@fluendo.com>
31213 * docs/design/part-TODO.txt:
31214 * docs/design/part-events.txt:
31215 * docs/design/part-gstbin.txt:
31216 * docs/design/part-gstbus.txt:
31217 * docs/design/part-gstpipeline.txt:
31218 * docs/design/part-messages.txt:
31220 * gst/gstmessage.c:
31223 2005-03-21 Wim Taymans <wim@fluendo.com>
31225 * gst/gstbus.c: (gst_bus_post):
31226 Fix copy-and-paste error.
31228 2005-03-21 Wim Taymans <wim@fluendo.com>
31230 * check/Makefile.am:
31232 * gst/elements/Makefile.am:
31233 * gst/elements/gstelements.c:
31234 * gst/elements/gstfakesink.c: (gst_fakesink_init),
31235 (gst_fakesink_event), (gst_fakesink_chain):
31236 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31237 (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31238 (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31239 (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31240 (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31241 (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31242 (gst_fakesrc_loop), (gst_fakesrc_activate),
31243 (gst_fakesrc_change_state):
31244 * gst/elements/gstfakesrc.h:
31245 * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31246 (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31247 (gst_filesrc_open_file), (gst_filesrc_loop),
31248 (gst_filesrc_activate), (gst_filesrc_change_state),
31249 (filesrc_find_peek), (filesrc_find_suggest),
31250 (gst_filesrc_type_find):
31251 * gst/elements/gstidentity.c: (gst_identity_finalize),
31252 (gst_identity_class_init), (gst_identity_init),
31253 (gst_identity_proxy_getcaps), (identity_queue_push),
31254 (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31255 (gst_identity_getrange), (gst_identity_chain),
31256 (gst_identity_sink_loop), (gst_identity_src_loop),
31257 (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31258 (gst_identity_set_property), (gst_identity_get_property),
31259 (gst_identity_change_state):
31260 * gst/elements/gstidentity.h:
31261 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31262 (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31263 (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31264 (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31265 (gst_tee_sink_activate):
31266 * gst/elements/gsttee.h:
31267 * gst/gst.c: (gst_register_core_elements), (init_post):
31269 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31270 (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31271 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31272 (gst_bin_change_state):
31274 * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31275 (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31276 (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31277 (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31278 (gst_bus_set_sync_handler), (gst_bus_create_watch),
31279 (bus_watch_callback), (bus_watch_destroy),
31280 (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31281 (poll_timeout), (gst_bus_poll):
31285 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31286 (gst_element_post_message), (gst_element_message_full),
31287 (gst_element_get_state_func), (gst_element_get_state),
31288 (gst_element_abort_state), (gst_element_commit_state),
31289 (gst_element_lost_state), (gst_element_set_state),
31290 (gst_element_pads_activate), (gst_element_change_state),
31291 (gst_element_dispose), (gst_element_set_manager_func),
31292 (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31293 (gst_element_set_manager), (gst_element_get_manager),
31294 (gst_element_set_bus), (gst_element_get_bus),
31295 (gst_element_set_scheduler), (gst_element_get_scheduler):
31296 * gst/gstelement.h:
31297 * gst/gstevent.c: (gst_event_new_segment_seek),
31298 (gst_event_new_flush):
31300 * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31301 (_gst_message_free), (gst_message_get_type), (gst_message_new),
31302 (gst_message_new_eos), (gst_message_new_error),
31303 (gst_message_new_warning), (gst_message_new_tag),
31304 (gst_message_new_state_changed), (gst_message_new_application),
31305 (gst_message_get_structure), (gst_message_parse_tag),
31306 (gst_message_parse_state_changed), (gst_message_parse_error),
31307 (gst_message_parse_warning):
31308 * gst/gstmessage.h:
31309 * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31310 (gst_real_pad_set_property), (gst_pad_set_active),
31311 (gst_pad_is_active), (gst_pad_set_blocked_async),
31312 (gst_pad_set_blocked), (gst_pad_is_blocked),
31313 (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31314 (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31315 (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31316 (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31317 (gst_pad_link_filtered), (gst_pad_relink_filtered),
31318 (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31319 (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31320 (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31321 (gst_pad_set_caps), (gst_pad_configure_sink),
31322 (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31323 (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31324 (gst_real_pad_dispose), (gst_real_pad_finalize),
31325 (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31326 (gst_pad_event_default_dispatch), (gst_pad_event_default),
31327 (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31329 * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31330 (pipeline_bus_handler), (gst_pipeline_change_state),
31331 (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31332 * gst/gstpipeline.h:
31334 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31335 (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31336 (gst_queue_link_src), (gst_queue_bufferalloc),
31337 (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31338 (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31339 (gst_queue_loop), (gst_queue_handle_src_event),
31340 (gst_queue_handle_src_query), (gst_queue_src_activate),
31341 (gst_queue_change_state):
31343 * gst/gstscheduler.c: (gst_scheduler_init),
31344 (gst_scheduler_dispose), (gst_scheduler_create_task),
31345 (gst_scheduler_factory_create):
31346 * gst/gstscheduler.h:
31347 * gst/gststructure.c: (gst_structure_get_type),
31348 (gst_structure_copy_conditional):
31349 * gst/gststructure.h:
31350 * gst/gsttaginterface.h:
31351 * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31352 (gst_task_init), (gst_task_dispose), (gst_task_create),
31353 (gst_task_get_state), (gst_task_start), (gst_task_stop),
31359 * gst/schedulers/Makefile.am:
31360 * gst/schedulers/cothreads_compat.h:
31361 * gst/schedulers/entryscheduler.c:
31362 * gst/schedulers/faircothreads.c:
31363 * gst/schedulers/faircothreads.h:
31364 * gst/schedulers/fairscheduler.c:
31365 * gst/schedulers/gstbasicscheduler.c:
31366 * gst/schedulers/gstoptimalscheduler.c:
31367 * gst/schedulers/gthread-cothreads.h:
31368 * gst/schedulers/threadscheduler.c:
31369 (gst_thread_scheduler_task_get_type),
31370 (gst_thread_scheduler_task_class_init),
31371 (gst_thread_scheduler_task_init),
31372 (gst_thread_scheduler_task_start),
31373 (gst_thread_scheduler_task_stop),
31374 (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31375 (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31376 (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31377 (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31379 * libs/gst/Makefile.am:
31380 * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31381 * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31382 (gst_file_pad_parent_set):
31383 * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31384 (gst_dp_event_from_packet):
31385 * tests/complexity.c: (main):
31386 * tests/mass_elements.c: (main):
31387 * testsuite/states/locked.c: (message_received), (main):
31388 * testsuite/states/parent.c: (main):
31389 * tools/gst-inspect.c: (print_element_flag_info),
31390 (print_implementation_info), (print_pad_info):
31391 * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31393 * tools/gst-md5sum.c: (event_loop), (main):
31394 * tools/gst-typefind.c: (main):
31395 * tools/gst-xmlinspect.c: (print_element_info):
31397 Added GstBus for mainloop integration.
31398 Added GstMessage for sending notifications on the bus.
31399 Added GstTask as an abstraction for pipeline entry points.
31401 Removed Schedulers.
31402 Simplified GstQueue for multithreaded core.
31403 Made _link threadsafe, removed old capsnego.
31404 Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31405 Added pad blocking functions.
31406 Reworked scheduling functions in GstPad to prepare for
31407 scheduling updates soon.
31408 Moved events out of data stream.
31409 Simplified GstEvent types.
31410 Added return values to push/pull.
31411 Removed clocking from GstElement.
31412 Added prototypes for state change function for next merge.
31413 Removed iterate from bins and state change management.
31414 Fixed some elements, disabled others for now.
31415 Fixed -inspect and -launch.
31416 Added check for GstBus.
31418 2005-03-10 Wim Taymans <wim@fluendo.com>
31420 * docs/design/part-MT-refcounting.txt:
31421 * docs/design/part-clocks.txt:
31422 * docs/design/part-gstelement.txt:
31423 * docs/design/part-gstobject.txt:
31424 * docs/design/part-standards.txt:
31425 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31426 (gst_bin_remove_func), (gst_bin_remove):
31430 * testsuite/clock/clock1.c: (main):
31431 * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31433 * testsuite/dlopen/loadgst.c: (do_test):
31434 * testsuite/refcounting/bin.c: (add_remove_test1),
31435 (add_remove_test2), (main):
31436 * testsuite/refcounting/element.c: (main):
31437 * testsuite/refcounting/element_pad.c: (main):
31438 * testsuite/refcounting/pad.c: (main):
31439 * tools/gst-launch.c: (sigint_handler_sighandler):
31440 * tools/gst-typefind.c: (main):
31442 Added doc about clock.
31443 removed gst_bin_iterate_recurse_up(), marked methods
31445 Fix more testsuites.
31447 2005-03-09 Wim Taymans <wim@fluendo.com>
31449 * gst/gstpad.c: (gst_pad_get_direction),
31450 (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31451 (gst_pad_collect_valist):
31452 * testsuite/bins/interface.c: (main):
31453 * testsuite/caps/audioscale.c: (test_caps):
31454 * testsuite/caps/caps.c: (test1), (test2), (test3):
31455 * testsuite/caps/deserialize.c: (main):
31456 * testsuite/caps/enumcaps.c: (main):
31457 * testsuite/caps/filtercaps.c: (main):
31458 * testsuite/caps/intersect2.c: (main):
31459 * testsuite/caps/random.c: (main):
31460 * testsuite/caps/renegotiate.c: (my_fixate), (main):
31461 * testsuite/caps/sets.c: (check_caps):
31462 * testsuite/caps/simplify.c: (check_caps), (main):
31463 * testsuite/caps/subtract.c: (check_caps):
31464 Fix _pad_get_direction wrt ghostpads.
31465 Fix caps testsuite.
31467 2005-03-09 Wim Taymans <wim@fluendo.com>
31469 * check/Makefile.am:
31470 * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31471 * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31472 (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31473 * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31474 (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31475 (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31476 (gst_bin_remove), (gst_bin_iterate_recurse_up),
31477 (bin_element_is_sink), (gst_bin_iterate_sinks),
31478 (gst_bin_iterate_all_by_interface):
31480 * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31481 (gst_element_change_state), (gst_element_dispose),
31482 (gst_element_finalize), (gst_element_set_loop_function):
31483 * gst/gstelement.h:
31484 * gst/gstiterator.c: (find_custom_fold_func):
31485 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31486 (gst_pad_collectv), (gst_pad_collect_valist),
31487 (gst_pad_template_new):
31488 * gst/gstpipeline.c: (gst_pipeline_class_init),
31489 (gst_pipeline_dispose), (gst_pipeline_set_property),
31490 (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31491 (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31492 (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31494 * gst/schedulers/entryscheduler.c:
31495 * gst/schedulers/gstbasicscheduler.c:
31496 (gst_basic_scheduler_cothreaded_chain),
31497 (gst_basic_scheduler_chain_add_element):
31498 * testsuite/bins/interface.c: (main):
31500 Added GstSystemClock test.
31501 Implemented clock distribution code in GstBin.
31502 Implemented iterate sinks method for future use.
31503 Rearranged gstelement.h
31504 Fix GstIterator comparison bug.
31505 Moved some code to GstPipeline, mostly clocking related.
31507 2005-03-09 Wim Taymans <wim@fluendo.com>
31510 * gst/gst_private.h:
31511 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31512 (gst_bin_remove_func), (gst_bin_remove),
31513 (gst_bin_get_by_name_recurse_up):
31514 * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31515 (gst_clock_id_compare_func), (gst_clock_id_wait),
31516 (gst_clock_id_wait_async), (gst_clock_init),
31517 (gst_clock_adjust_unlocked), (gst_clock_get_time):
31518 * gst/gstelement.h:
31519 * gst/gstinfo.c: (_gst_debug_init):
31521 * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31522 (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31524 Bump version number, we're now 0.9.0
31525 Add future debugging category.
31526 Fix NULL _unref() in _get_by_name_recurse_up
31527 Rearrange gstpad.h.
31530 2005-03-08 Wim Taymans <wim@fluendo.com>
31532 * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31533 * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31534 * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31535 * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31536 * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31537 * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31538 * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31539 * gst/elements/gstidentity.c: (gst_identity_class_init):
31540 * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31541 * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31542 * gst/elements/gstshaper.c: (gst_shaper_class_init):
31543 * gst/elements/gststatistics.c: (gst_statistics_class_init):
31544 * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31546 * gst/gstelement.c: (gst_element_class_init),
31547 (gst_element_base_class_init), (gst_element_init),
31548 (gst_element_get_random_pad), (gst_element_wait_state_change),
31549 (gst_element_change_state), (gst_element_dispose),
31550 (gst_element_finalize), (gst_element_set_loop_function):
31551 * gst/gstelement.h:
31552 * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31553 * gst/gstthread.c: (gst_thread_class_init),
31554 (gst_thread_release_children_locks), (gst_thread_change_state):
31555 * gst/schedulers/gstbasicscheduler.c:
31556 (gst_basic_scheduler_loopfunc_wrapper),
31557 (gst_basic_scheduler_chain_wrapper),
31558 (gst_basic_scheduler_src_wrapper),
31559 (gst_basic_scheduler_remove_element):
31560 * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31561 Remove threadsafe properties. Fix elements because GObject
31562 complains when installing a property before declaring a
31563 set/get_property handler.
31564 Rearrange gstelement.h file, use STATE macros for state locks.
31565 Free mutexes in the finalize method instead of dispose.
31567 2005-03-08 Wim Taymans <wim@fluendo.com>
31569 * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31570 * gst/gstthread.c: (gst_thread_release_children_locks):
31571 Added parentage check.
31572 Fix build og GstThread again.
31574 2005-03-08 Wim Taymans <wim@fluendo.com>
31576 * docs/design/part-MT-refcounting.txt:
31577 * docs/design/part-conventions.txt:
31578 * docs/design/part-gstobject.txt:
31579 * docs/design/part-relations.txt:
31580 * docs/design/part-standards.txt:
31581 * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31582 (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31583 (gst_bin_get_by_name), (gst_bin_get_by_interface),
31584 (gst_bin_iterate_all_by_interface):
31587 * gst/gstelement.c: (gst_element_class_init),
31588 (gst_element_change_state), (gst_element_set_loop_function):
31589 * gst/gstelement.h:
31590 * gst/gstiterator.c:
31591 * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31592 (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31593 (gst_object_dispatch_properties_changed), (gst_object_set_name),
31594 (gst_object_set_parent), (gst_object_unparent),
31595 (gst_object_check_uniqueness):
31597 Docs updates, clean up some headers.
31599 2005-03-07 Wim Taymans <wim@fluendo.com>
31601 * check/.cvsignore:
31602 * check/Makefile.am:
31603 * check/gst-libs/.cvsignore:
31604 * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31605 * check/gst/.cvsignore:
31606 * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31607 (START_TEST), (gstbus_suite), (main):
31608 * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31609 * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31610 (gst_data_suite), (main):
31611 * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31612 (add_fold_func), (gstiterator_suite), (main):
31613 * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31614 (thread_name_object), (thread_name_object_default),
31615 (gst_object_name_compare), (gst_object_suite), (main):
31616 * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31617 (gst_pad_suite), (main):
31618 * check/gstcheck.c: (gst_check_log_message_func),
31619 (gst_check_log_critical_func), (gst_check_init):
31620 * check/gstcheck.h:
31621 * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31622 (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31625 2005-03-07 Wim Taymans <wim@fluendo.com>
31627 * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31628 (gst_list_iterator_next), (gst_list_iterator_resync),
31629 (gst_list_iterator_free), (gst_iterator_new_list),
31630 (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31631 (gst_iterator_free), (gst_iterator_push), (filter_next),
31632 (filter_resync), (filter_uninit), (filter_free),
31633 (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31634 (gst_iterator_foreach), (find_custom_fold_func),
31635 (gst_iterator_find_custom):
31636 * gst/gstiterator.h:
31637 Added missing files.
31639 2005-03-07 Wim Taymans <wim@fluendo.com>
31643 * docs/design/part-MT-refcounting.txt:
31644 * docs/design/part-conventions.txt:
31645 * docs/design/part-gstobject.txt:
31646 * docs/design/part-relations.txt:
31647 * examples/mixer/mixer.c: (main):
31648 * examples/thread/thread.c: (eos), (main):
31650 * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31651 * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31652 (gst_spider_plug_from_srcpad):
31653 * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31654 (gst_spider_identity_change_state),
31655 (gst_spider_identity_sink_loop_type_finding):
31656 * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31657 * gst/elements/gstidentity.c: (gst_identity_init):
31658 * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31659 (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31660 * gst/elements/gsttypefindelement.c: (free_entry):
31663 * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31664 (gst_bin_set_clock_func), (gst_bin_auto_clock),
31665 (gst_bin_set_index), (gst_bin_set_element_sched),
31666 (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31667 (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31668 (gst_bin_iterate_elements), (iterate_child_recurse),
31669 (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31670 (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31671 (compare_interface), (gst_bin_get_by_interface),
31672 (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31674 * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31675 (gst_buffer_default_free), (gst_buffer_default_copy),
31676 (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31677 (gst_buffer_create_sub):
31679 * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31680 (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31681 (gst_caps_unref), (gst_static_caps_get),
31682 (gst_caps_remove_and_get_structure), (gst_caps_append),
31683 (gst_caps_append_structure), (gst_caps_remove_structure),
31684 (gst_caps_copy_nth), (gst_caps_set_simple),
31685 (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31686 (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31687 (gst_caps_structure_intersect_field), (gst_caps_intersect),
31688 (gst_caps_structure_subtract_field), (gst_caps_subtract),
31689 (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31690 (gst_caps_structure_figure_out_union),
31691 (gst_caps_switch_structures), (gst_caps_do_simplify),
31692 (gst_caps_replace), (gst_caps_from_string),
31693 (gst_caps_copy_conditional):
31695 * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31696 (_gst_clock_id_free), (gst_clock_id_unref),
31697 (gst_clock_id_compare_func), (gst_clock_id_wait),
31698 (gst_clock_id_wait_async), (gst_clock_class_init),
31699 (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31700 (gst_clock_get_time), (gst_clock_set_time_adjust),
31701 (gst_clock_set_property), (gst_clock_get_property):
31704 * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31705 * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31707 * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31708 (gst_element_requires_clock), (gst_element_provides_clock),
31709 (gst_element_set_clock), (gst_element_clock_wait),
31710 (gst_element_wait), (gst_element_set_time_delay),
31711 (gst_element_is_indexable), (gst_element_add_pad),
31712 (gst_element_add_ghost_pad), (gst_element_remove_pad),
31713 (pad_compare_name), (gst_element_get_static_pad),
31714 (gst_element_request_pad), (gst_element_get_request_pad),
31715 (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31716 (gst_element_class_get_pad_template_list),
31717 (gst_element_class_get_pad_template), (gst_element_error_func),
31718 (gst_element_get_random_pad), (gst_element_get_event_masks),
31719 (gst_element_send_event), (gst_element_seek),
31720 (gst_element_get_query_types), (gst_element_query),
31721 (gst_element_get_formats), (gst_element_convert),
31722 (gst_element_is_locked_state), (gst_element_set_locked_state),
31723 (gst_element_sync_state_with_parent), (gst_element_change_state),
31724 (gst_element_finalize), (gst_element_yield),
31725 (gst_element_interrupt), (gst_element_set_scheduler),
31726 (gst_element_get_scheduler), (gst_element_set_loop_function):
31727 * gst/gstelement.h:
31729 * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31730 (gst_format_get_by_nick), (gst_format_get_details),
31731 (gst_format_iterate_definitions):
31733 * gst/gstindex.c: (gst_index_gtype_resolver):
31736 * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31737 (gst_mem_chunk_free):
31738 * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31739 (gst_object_ref), (gst_object_unref), (gst_object_sink),
31740 (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31741 (gst_object_dispatch_properties_changed),
31742 (gst_object_set_name_default), (gst_object_set_name),
31743 (gst_object_get_name), (gst_object_set_name_prefix),
31744 (gst_object_get_name_prefix), (gst_object_set_parent),
31745 (gst_object_get_parent), (gst_object_unparent),
31746 (gst_object_check_uniqueness), (gst_object_save_thyself),
31747 (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31748 (gst_object_set_property), (gst_object_get_property),
31749 (gst_object_get_path_string):
31751 * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31752 (gst_real_pad_init), (gst_real_pad_get_property),
31753 (gst_pad_custom_new), (gst_pad_get_direction),
31754 (gst_pad_set_active), (gst_pad_is_active),
31755 (gst_pad_set_event_function), (gst_pad_is_linked),
31756 (gst_pad_link_free), (gst_pad_link_intersect),
31757 (gst_pad_link_fixate), (gst_pad_set_caps),
31758 (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31759 (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31760 (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31761 (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31762 (gst_pad_get_caps), (gst_pad_peer_get_caps),
31763 (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31764 (gst_pad_realize), (gst_pad_get_allowed_caps),
31765 (gst_real_pad_dispose), (gst_real_pad_finalize),
31766 (gst_pad_collectv), (gst_pad_collect_valist),
31767 (gst_pad_template_dispose), (gst_pad_template_new),
31768 (gst_pad_get_internal_links):
31770 * gst/gstpipeline.c: (gst_pipeline_dispose),
31771 (gst_pipeline_change_state):
31772 * gst/gstpipeline.h:
31774 * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31775 (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31776 * gst/gstpluginfeature.h:
31777 * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31778 * gst/gstquery.c: (_gst_query_type_initialize),
31779 (gst_query_type_register), (gst_query_type_get_by_nick),
31780 (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31782 * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31783 * gst/gstscheduler.c: (gst_scheduler_add_element),
31784 (gst_scheduler_factory_create):
31785 * gst/gststructure.c: (gst_structure_set_parent_refcount),
31786 (gst_structure_free), (gst_structure_set_name),
31787 (gst_structure_id_set_value), (gst_structure_set_value),
31788 (gst_structure_set_valist), (gst_structure_remove_field),
31789 (gst_structure_remove_fields),
31790 (gst_structure_remove_fields_valist),
31791 (gst_structure_remove_all_fields), (gst_structure_foreach),
31792 (gst_structure_map_in_place),
31793 (gst_caps_structure_fixate_field_nearest_int),
31794 (gst_caps_structure_fixate_field_nearest_double):
31795 * gst/gststructure.h:
31796 * gst/gstsystemclock.c: (gst_system_clock_class_init),
31797 (gst_system_clock_init), (gst_system_clock_dispose),
31798 (gst_system_clock_async_thread),
31799 (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31800 (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31801 * gst/gstsystemclock.h:
31802 * gst/gsttag.c: (gst_tag_list_add_value_internal),
31803 (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31804 * gst/gsttaginterface.c:
31805 * gst/gstthread.c: (gst_thread_dispose),
31806 (gst_thread_release_children_locks), (gst_thread_change_state),
31807 (gst_thread_main_loop):
31808 * gst/gsttrashstack.h:
31809 * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31811 * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31812 (gst_element_request_pad), (gst_element_get_pad_from_template),
31813 (gst_element_request_compatible_pad),
31814 (gst_element_get_compatible_pad_filtered),
31815 (gst_element_get_compatible_pad), (gst_element_state_get_name),
31816 (gst_element_link_pads_filtered), (gst_element_link_filtered),
31817 (gst_element_link_many), (gst_element_link),
31818 (gst_element_link_pads), (gst_element_unlink_pads),
31819 (gst_element_unlink_many), (gst_element_unlink),
31820 (gst_pad_can_link_filtered), (gst_pad_can_link),
31821 (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31822 (gst_object_default_error), (gst_bin_add_many),
31823 (gst_bin_remove_many), (gst_element_populate_std_props),
31824 (gst_element_class_install_std_props), (gst_buffer_merge),
31825 (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31826 (link_fold_func), (gst_pad_proxy_setcaps):
31828 * gst/gstvalue.c: (gst_value_deserialize_string):
31829 * gst/parse/grammar.y:
31830 * gst/schedulers/gstbasicscheduler.c:
31831 (gst_basic_scheduler_cothreaded_chain),
31832 (gst_basic_scheduler_chain_recursive_add),
31833 (gst_basic_scheduler_pad_link):
31834 * gst/schedulers/gstoptimalscheduler.c:
31835 (get_group_schedule_function),
31836 (gst_opt_scheduler_state_transition),
31837 (gst_opt_scheduler_add_element), (element_get_reachables_func):
31838 * libs/gst/bytestream/bytestream.c:
31839 * libs/gst/dataprotocol/dataprotocol.c:
31840 (gst_dp_header_from_buffer):
31843 * tests/threadstate/threadstate2.c: (eos):
31844 * tools/gst-compprep.c: (main):
31845 * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31846 (print_pad_info), (print_children_info):
31847 * tools/gst-launch.c: (idle_func), (main):
31848 * tools/gst-md5sum.c: (idle_func), (main):
31849 * tools/gst-xmlinspect.c: (print_element_info):
31850 First THREADED backport attempt, focusing on adding locks and
31851 making sure the API is threadsafe. Needs more work. More docs
31854 2005-02-24 Andy Wingo <wingo@pobox.com>
31856 * tests/bench-complexity.scm:
31857 * tests/complexity.gnuplot: New files, good for running complexity
31860 * tests/Makefile.am:
31861 * tests/complexity.c: New test, sets up N elements, at each level
31862 teeing into M streams per element. Eeeenteresting.
31864 * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31865 benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31866 running bench-mass_elements.scm.
31868 * tests/bench-mass_elements.scm: New script, runs mass_elements
31869 for various numbers of identities, outputting the results to a
31870 file. Requires guile 1.6. Just for testing.
31872 2005-02-23 Thomas Vander Stichele <thomas at apestaart dot org>
31874 * gst/schedulers/fairscheduler.c:
31875 compile with debug disabled
31877 2005-02-22 Thomas Vander Stichele <thomas at apestaart dot org>
31880 hunting season on 0.9 is now OPEN