Commit graph

4201 commits

Author SHA1 Message Date
Wim Taymans
bb0cd4e7f1 tests/old/testsuite/: Remove references to deprecated API g_mem_chunk*.
Original commit message from CVS:
* tests/old/testsuite/caps/intersection.c: (main):
* tests/old/testsuite/plugin/loading.c: (main):
Remove references to deprecated API g_mem_chunk*.
Fixes #560442.
2008-11-13 18:03:23 +00:00
Wim Taymans
c1620298ba tools/gst-inspect.c: Add --plugin option. Fixes #560301.
Original commit message from CVS:
* tools/gst-inspect.c: (main):
Add --plugin option. Fixes #560301.
2008-11-12 16:55:00 +00:00
Wim Taymans
162b2a6a3c docs/random/wtay/poll-timeout: Quick braindump for a possible (not totally verified) atomic case.
Original commit message from CVS:
* docs/random/wtay/poll-timeout:
Quick braindump for a possible (not totally verified) atomic case.
2008-11-12 12:45:46 +00:00
Sebastian Dröge
681e4d01c8 gst/gstregistrybinary.*: Don't write and check a CRC for the binary registry file. It's guaranteed that the registry ...
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
(gst_registry_binary_initialize_magic),
(gst_registry_binary_write_cache),
(gst_registry_binary_check_magic):
* gst/gstregistrybinary.h:
Don't write and check a CRC for the binary registry file. It's
guaranteed that the registry is completely written (it's first written
to a temporary file and then moved) and if the registry was corrupted
by some hardware failure we would have bigger problems.
Bump binary registry version to 0.10.21.1 for this as it's an
incompatible change and to ensure that the registry gets rebuild
after the update.
This saves some milliseconds for reading/writing the registry.
Fixes bug #560399.
2008-11-12 10:39:25 +00:00
Wim Taymans
6f621b03a8 docs/random/wtay/poll-timeout: Some pseudo code for how we could implement clock timeouts with GstPoll.
Original commit message from CVS:
* docs/random/wtay/poll-timeout:
Some pseudo code for how we could implement clock timeouts with GstPoll.
2008-11-11 14:50:24 +00:00
Thomas Vander Stichele
a0e5eab525 plugins/elements/gstfilesink.c: Update Author string to match others.
Original commit message from CVS:
* plugins/elements/gstfilesink.c:
Update Author string to match others.
2008-11-10 13:56:51 +00:00
Wim Taymans
7f987200b5 gst/gstvalue.c: Reorganize some more, be more conservative with the GST_TYPE_ARRAY not being fixed and inline the tri...
Original commit message from CVS:
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
being fixed and inline the trivial check.
2008-11-06 15:37:16 +00:00
Wim Taymans
18aeb9a41e gst/gstcaps.c: Callgrind micro optimisations.
Original commit message from CVS:
* gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
(gst_caps_merge_structure), (gst_caps_get_structure),
(gst_caps_copy_nth), (gst_caps_set_simple),
(gst_caps_set_simple_valist), (gst_caps_is_fixed),
(gst_caps_is_equal_fixed), (gst_caps_intersect),
(gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
(gst_caps_to_string):
Callgrind micro optimisations.
Avoid array bounds checks and force inline of trivial function.
* gst/gstobject.c: (gst_object_set_name_default):
-1 is equivalent to letting glib to the strlen but then there is more
room for optimisations and it's not our fault.
* gst/gststructure.c: (gst_structure_id_empty_new_with_size):
no need to clear the array, we're cool.
* gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
The most common _is_fixed() check is done on fundamental glib base
types so we check this first instead of doing a huge amount of
useless GST_TYPE_ARRAY calls.
2008-11-06 15:09:34 +00:00
Wim Taymans
812640dd18 gst/gstevent.h: Add a SKIP seek flag for use with advanced trickmodes.
Original commit message from CVS:
* gst/gstevent.h:
Add a SKIP seek flag for use with advanced trickmodes.
API: GstSeekFlags::GST_SEEK_FLAG_SKIP
2008-11-06 12:03:17 +00:00
Wim Taymans
209c57085c gst/gststructure.c: No need to memset, we can clear the value ourselves.
Original commit message from CVS:
* gst/gststructure.c: (gst_structure_id_empty_new_with_size):
No need to memset, we can clear the value ourselves.
* gst/gstvalue.c: (gst_type_is_fixed),
(gst_value_get_compare_func):
Some optimisations from a few callgrind sessions:
When checking if a type is fixed, check for trivial fundamental types
first before checking types for which we need to get the type followed
by the heavy duty type checks, this reduces the amount of
g_type_fundamental() calls a lot.
When getting the compare function, first check for our registered types.
If that fails, do the heavy duty g_type_is_a() checks, reduces the
amount of g_type_is_a() considerably.
2008-11-05 16:57:35 +00:00
Wim Taymans
773c1e4c1d docs/design/part-TODO.txt: Mumble something about removing GstXML.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Mumble something about removing GstXML.
2008-11-05 11:17:24 +00:00
Wim Taymans
16e6c3ef96 gst/gstbin.c: Get the seqnum before we dispose the message.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_handle_message_func):
Get the seqnum before we dispose the message.
2008-11-04 18:10:04 +00:00
Wim Taymans
5605bbc5d5 docs/design/part-TODO.txt: Refer to the framestepping document.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Refer to the framestepping document.
2008-11-04 16:10:04 +00:00
Wim Taymans
0a71170006 Copy seqnums from events to messages so that they can all be related back to eachother.
Original commit message from CVS:
* gst/gstbin.c: (bin_handle_async_start),
(gst_bin_handle_message_func), (gst_bin_query):
* libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
(gst_base_sink_event), (gst_base_sink_change_state):
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
(gst_base_src_loop), (gst_base_src_change_state):
Copy seqnums from events to messages so that they can all be related
back to eachother.
2008-11-04 15:56:55 +00:00
Wim Taymans
57792e66ac tools/gst-launch.c: Print the message seqnums.
Original commit message from CVS:
* tools/gst-launch.c: (event_loop):
Print the message seqnums.
2008-11-04 15:52:09 +00:00
Andy Wingo
1f1d642981 gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
Original commit message from CVS:
2008-11-04  Andy Wingo  <wingo@pobox.com>

* gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.

Also add API: to previous changelog entry.
2008-11-04 13:56:37 +00:00
Andy Wingo
5f5fbbdd7d Add sequence numbers to events and messages. See #559250.
Original commit message from CVS:
2008-11-04  Andy Wingo  <wingo@pobox.com>

Add sequence numbers to events and messages. See #559250.

* gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
New functions.

* gst/gstevent.h:
* gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
events with a new sequence number, and copy it when copying.
(gst_event_get_seqnum, gst_event_set_seqnum): Accessors for an
event's sequence number.

* gst/gstmessage.h:
* gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
(gst_event_get_seqnum, gst_event_set_seqnum): As with events, so
with messages.

* docs/gst/gstreamer-sections.txt: Add new functions to the docs.
2008-11-04 12:22:53 +00:00
Wim Taymans
c6cc3bbca8 docs/manual/: Some Application Development Manual fixes thanks to
Original commit message from CVS:
* docs/manual/advanced-position.xml:
* docs/manual/basics-bins.xml:
* docs/manual/basics-bus.xml:
* docs/manual/basics-pads.xml:
* docs/manual/intro-gstreamer.xml:
* docs/manual/intro-preface.xml:
Some Application Development Manual fixes thanks to
Andrew Feren. Fixes #558459.
2008-11-04 11:55:08 +00:00
Stefan Kost
1d61cb0381 gst/gstregistrybinary.c: Don't bother with the GTimer if we don't output the results.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Don't bother with the GTimer if we don't output the results.
2008-11-03 12:29:10 +00:00
David Schleef
6de992cf71 libs/gst/net/Makefile.am: Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
Original commit message from CVS:
Patch by: David Schleef  <ds@schleef.org>
* libs/gst/net/Makefile.am:
Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
2008-11-03 10:59:49 +00:00
Stefan Kost
0d430a59ef gst/gstregistrybinary.c: Oh my, studip, stupid me. Remove double stat() call.
Original commit message from CVS:
* gst/gstregistrybinary.c:
Oh my, studip, stupid me. Remove double stat() call.
2008-10-31 15:54:44 +00:00
Stefan Kost
5b29f0a1cc gst/gstpreset.c: Use g_unlink instead of unlink.
Original commit message from CVS:
* gst/gstpreset.c:
Use g_unlink instead of unlink.
* gst/gststructure.c:
Use glib type.
* gst/gstutils.c:
Add a FIXME:.
* gst/gsttaglist.c:
* gst/gsttypefind.c:
* gst/gstvalue.c:
Formatting & whitespaces.
2008-10-31 14:24:49 +00:00
Stefan Kost
fa7e7d29a2 plugins/elements/gstidentity.c: Doc typo. Use return value of parent_class->event.
Original commit message from CVS:
* plugins/elements/gstidentity.c:
Doc typo. Use return value of parent_class->event.
* plugins/elements/gsttypefindelement.c:
Chain up at the end for consistency.
2008-10-31 08:53:27 +00:00
Stefan Kost
7407326abb docs/: Change to xinclude based build - its faster and easier to maintain.
Original commit message from CVS:
* docs/Makefile.am:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/running.xml:
* docs/libs/gstreamer-libs-docs.sgml:
Change to xinclude based build - its faster and easier to maintain.
2008-10-30 15:29:51 +00:00
Stefan Kost
588ab506b9 gst/: Use g_unlink() as none of these are directories.
Original commit message from CVS:
* gst/gstregistrybinary.c:
* gst/gstregistryxml.c:
Use g_unlink() as none of these are directories.
2008-10-30 14:15:14 +00:00
Wim Taymans
d0b44d1578 gst/gstpipeline.c: Some more comments.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
Some more comments.
2008-10-29 17:04:50 +00:00
Wim Taymans
8798ea2cca libs/gst/base/gstbasetransform.c: If we have a fixate function, call it even if we already have fixed caps because th...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_find_transform), (gst_base_transform_getrange):
If we have a fixate function, call it even if we already have fixed caps
because the subclass might add some caps. Makes audioconvert add a
default channel layout.
2008-10-27 15:02:48 +00:00
Wim Taymans
8d871b9c1d libs/gst/base/gstbasetransform.c: Clear the output buffer variable.
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_getrange):
Clear the output buffer variable.
Cleanups to the error path in the getrange function.
Fixes #557649.
2008-10-24 09:41:19 +00:00
Sebastian Dröge
5357a24dbf plugins/elements/: Use gst_buffer_try_new_and_alloc() and handle errors instead of using gst_buffer_new_and_alloc() w...
Original commit message from CVS:
* plugins/elements/gstfdsrc.c: (gst_fd_src_create):
* plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
Use gst_buffer_try_new_and_alloc() and handle errors instead of
using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
be allocated.
2008-10-23 12:52:58 +00:00
Wim Taymans
d2e5ffde24 gst/gstsegment.c: Set the last_stop to a more meaningful position when configuring the segment. ie. the start/stop of...
Original commit message from CVS:
* gst/gstsegment.c: (gst_segment_set_newsegment_full):
Set the last_stop to a more meaningful position when configuring the
segment. ie. the start/stop of the segment or clipped against the
updated segment boundaries.
* tests/check/gst/gstsegment.c: (GST_START_TEST):
Add some unit tests for the last_stop.
2008-10-23 09:49:07 +00:00
Sebastian Dröge
d3cb47b923 libs/gst/base/gstbytereader.c: Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own copies of them.
Original commit message from CVS:
* libs/gst/base/gstbytereader.c:
Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
copies of them.
2008-10-23 07:11:54 +00:00
Sebastian Dröge
5644be89d7 API: Move float endianness conversion macros from libgstfloatcast to core as it's useful in general, even in core. Fi...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
API: Move float endianness conversion macros from libgstfloatcast
to core as it's useful in general, even in core. Fixes bug #555196.
This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
2008-10-23 07:09:21 +00:00
Sebastian Dröge
61ee0f414a API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position ...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
(gst_byte_reader_peek_data):
* libs/gst/base/gstbytereader.h:
* win32/common/libgstbase.def:
API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
to get a pointer to the data at the current position and have
a guaranteed size.
2008-10-22 14:47:04 +00:00
Jan Schmidt
d2c33f6d79 configure.ac: Fix a bug in the output of the configure script summary when --gst-disable-registry is supplied
Original commit message from CVS:
* configure.ac:
Fix a bug in the output of the configure script summary
when --gst-disable-registry is supplied
2008-10-22 14:25:16 +00:00
Jan Schmidt
446e8cb5e6 libs/gst/base/: Fix the names of 2 functions in the docs strings.
Original commit message from CVS:
* libs/gst/base/gstbitreader.c:
* libs/gst/base/gstbytereader.c:
Fix the names of 2 functions in the docs strings.
2008-10-22 13:47:20 +00:00
Wim Taymans
f59b56f75d libs/gst/base/gstbasetransform.c: Protect sink_alloc caps with the sinkpad lock to avoid nasty caps refcount problems...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
refcount problems as seen in banshee and maybe also in farsight2.
Remove atomic int now that we need to take the lock anyways.
2008-10-21 16:30:41 +00:00
Wim Taymans
ca9ccf1d02 libs/gst/base/gstbasesink.c: Implement more seeking in pull mode.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
(gst_base_sink_default_prepare_seek_segment),
(gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
(gst_base_sink_get_position_paused), (gst_base_sink_get_position),
(gst_base_sink_query):
Implement more seeking in pull mode.
Use pad convert functions to convert position to the requested format.
Fix position/duration reporting in pull mode.
Implement position and duration reporting in other formats than time.
* libs/gst/base/gstbasesink.h:
Add member to keep track of when the segment is playing.
2008-10-20 15:18:14 +00:00
Wim Taymans
b340b510ce gst/gstpad.c: When we use gst_pad_alloc_buffer() without wanting to set the caps we also don't need to check if the c...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_configure_src):
When we use gst_pad_alloc_buffer() without wanting to set the caps we
also don't need to check if the caps are compatible because the caller
presumably is going to perform its own custom checks. Fixes some cases
where basetransform elements would error out when it was not needed.
2008-10-20 13:32:07 +00:00
Wim Taymans
b8609a7a76 libs/gst/base/gstbasesrc.c: Update comment.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
Update comment.
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_handle_buffer),
(gst_base_transform_reconfigure):
Add some debug info.
* win32/common/libgstbase.def:
Add new method.
2008-10-20 13:29:06 +00:00
Stefan Kost
7198e34ee1 libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
Remove duplicated assignment and log a message in failure case.
2008-10-19 19:57:25 +00:00
Dig Ge
8686083e85 tests/examples/helloworld/helloworld.c: Fix copy'n'paste bug in hello world example (#556900).
Original commit message from CVS:
Patch by: Dig Ge <dig.ge.cn at gmail com>
* tests/examples/helloworld/helloworld.c: (main):
Fix copy'n'paste bug in hello world example (#556900).
2008-10-19 10:13:39 +00:00
Wim Taymans
4561f3bf47 libs/gst/base/gstbasesink.c: Query the total number of bytes when activating the pad in pull mode.
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
(gst_base_sink_query):
Query the total number of bytes when activating the pad in pull mode.
Implement duration query in pull mode by using the installed pad convert
function to convert from bytes to the requested format.
2008-10-17 13:27:59 +00:00
Wim Taymans
fe07568997 Add method to commit the state in subclasses.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
(gst_base_sink_flush_start), (gst_base_sink_flush_stop),
(gst_base_sink_event), (gst_base_sink_perform_seek),
(gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
(gst_base_sink_send_event), (gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add method to commit the state in subclasses.
Refactor the flush_start and flush_stop code because we need it for
flushing while seeking too.
Implement the beginnings of seeking in pull mode.
Use the segment last_stop field for the pulling offset.
Fix the pause method in pull mode.
Configure the segment to BYTES for pull mode.
API: GstBaseSink::gst_base_sink_do_preroll()
2008-10-16 14:09:18 +00:00
Wim Taymans
63b0da36b5 libs/gst/base/gstbasesrc.c: Update some docs.
Original commit message from CVS:
* libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
Update some docs.
2008-10-16 13:56:52 +00:00
Tim-Philipp Müller
1be929a4b6 gst/gstquark.c: Fix printf format warning.
Original commit message from CVS:
* gst/gstquark.c: (_priv_gst_quarks_initialize):
Fix printf format warning.
2008-10-14 17:10:43 +00:00
Sebastian Dröge
075811e654 plugins/elements/gsttee.c: Fix flow aggregation of tee. Error out immediately for all flow returns except OK and NOT_...
Original commit message from CVS:
* plugins/elements/gsttee.c: (gst_tee_handle_buffer):
Fix flow aggregation of tee. Error out immediately for all flow returns
except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
and return OK if at least one pad is linked.
Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
and otherwise returned the flow return of the last pad, which is wrong.
* tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
(GST_START_TEST), (tee_suite):
Add unit tests for the flow aggregation.
2008-10-14 12:34:56 +00:00
Wim Taymans
97ec47cabb docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove item from the todo list because it was fixed with the latency
state change rewrites.
* docs/design/part-seeking.txt:
* docs/design/part-segments.txt:
Update some docs.
* gst/gstevent.c: (gst_event_new_new_segment_full),
(gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_latency),
(gst_event_parse_latency):
Use quarks to construct and parse events.
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks to the table.
Emit a warning when the quark tables are not in sync.
* tests/check/gst/gstbus.c: (GST_START_TEST):
Add an assert.
2008-10-13 17:19:25 +00:00
Stefan Kost
35a2a49c00 plugins/: Don't install static libs for plugins. Fixes #550851 for core.
Original commit message from CVS:
* plugins/elements/Makefile.am:
* plugins/indexers/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for core.
2008-10-13 16:47:51 +00:00
Wim Taymans
85de653640 gst/gstbus.c: Fix deadlock, g_source_get_id() cannot be called in finalize.
Original commit message from CVS:
* gst/gstbus.c: (gst_bus_source_finalize),
(gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
(gst_bus_enable_sync_message_emission),
(gst_bus_disable_sync_message_emission),
(gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
Fix deadlock, g_source_get_id() cannot be called in finalize.
Keep track of the watch source by keeping a pointer to the source object
instead.
Use the bus lock to protect access to the pointer to the current
watch source.
2008-10-13 10:50:17 +00:00
Olivier Crete
882c997103 gst/gstbus.c: Only allow one bus watch to be set at a time. This is necessary because the dispatcher pops the message...
Original commit message from CVS:
Base on Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstbus.c: (gst_bus_source_finalize),
(gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
Only allow one bus watch to be set at a time. This is necessary
because the dispatcher pops the message from the bus and the second
watcher will then get NULL or the next message (and the first won't
get this next message then, etc). If more than one "watcher" is
required signal watches should be used. Fixes bug #526044.
2008-10-13 09:22:22 +00:00
Jan Schmidt
ba074c3689 tools/gst-launch.c: Change the printing of the 'buffering...' output to avoid putting a \r in a translateable string ...
Original commit message from CVS:
* tools/gst-launch.c:
Change the printing of the 'buffering...' output to avoid putting
a \r in a translateable string (flagged by the TP).
2008-10-12 22:16:00 +00:00
Sebastian Dröge
e6543e71ef gst/gstxml.c: Clarify that the save_thyself() and restore_thyself() virtual functions of GstObject need to be overrid...
Original commit message from CVS:
* gst/gstxml.c:
Clarify that the save_thyself() and restore_thyself() virtual
functions of GstObject need to be overriden, not
gst_object_(save|restore)_thyself() which is impossible.
Fixes bug #555700.
2008-10-10 15:38:06 +00:00
Wim Taymans
401cc7fe6a gst/gstpad.c: Revert a patch from 21 months ago that broke caps negotiation in pull mode. Basically, having a buffer ...
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
Revert a patch from 21 months ago that broke caps negotiation in pull
mode. Basically, having a buffer pass over a pad will trigger the
setcaps function when caps change, just like in push mode.
2008-10-10 15:27:37 +00:00
Wim Taymans
a739ae387d docs/design/part-negotiation.txt: Update the docs some more.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Update the docs some more.
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
If we pull a buffer with non-trivial caps, suggest those caps with the
max probability.
2008-10-10 15:12:11 +00:00
Edward Hervey
6bb3d02305 docs/design/part-TODO.txt: Add another limitation of pad-blocking with segment seeks not pushing
Original commit message from CVS:
* docs/design/part-TODO.txt:
Add another limitation of pad-blocking with segment seeks not pushing
EOS events.
2008-10-10 14:31:03 +00:00
Jan Schmidt
e5c6463d28 win32/common/: Add new symbols to the win32 defs files
Original commit message from CVS:
* win32/common/libgstbase.def:
* win32/common/libgstreamer.def:
Add new symbols to the win32 defs files
2008-10-10 13:24:13 +00:00
Wim Taymans
bc8e367885 gst/gstbin.c: The message src can be NULL, don't try to print the object names in that case.
Original commit message from CVS:
* gst/gstbin.c: (gst_bin_remove_func), (update_degree),
(gst_bin_handle_message_func):
The message src can be NULL, don't try to print the object names in that
case.
* libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
Add some more debug info.
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST):
Add some debug.
Fix the test, pull based sinks go ASYNC to PAUSED, just like other
scheduling modes.
2008-10-10 10:38:12 +00:00
Wim Taymans
b3403511ea docs/design/part-negotiation.txt: Small doc update.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Small doc update.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
(gst_base_sink_init), (gst_base_sink_set_blocksize),
(gst_base_sink_get_blocksize), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_needs_preroll),
(gst_base_sink_loop), (gst_base_sink_pad_activate),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add blocksize property and methods to control the amount of data
to pull.
Negotiate first before activating upstream in pull mode so that they can
negotiate themselves.
When we operate in pull mode, we only accept the caps that we
negotiated.
Make the sink go ASYNC to PAUSED, like all other sinks.
API: GstBaseSink::gst_base_sink_set_blocksize()
API: GstBaseSink::gst_base_sink_get_blocksize()
API: GstBaseSink::blocksize
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_set_live), (gst_base_src_is_live),
(gst_base_src_set_format), (gst_base_src_query_latency),
(gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
(gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
(gst_base_src_set_property), (gst_base_src_get_property):
* libs/gst/base/gstbasesrc.h:
Add typechecking in public API functions.
Add methods to control the blocksize in subclasses.
API: GstBaseSrc::gst_base_src_set_blocksize()
API: GstBaseSrc::gst_base_src_get_blocksize()
2008-10-10 10:01:36 +00:00
Edward Hervey
3159228799 tests/check/gst/gstutils.c: We now see 3 events go through our pad, since basesink now sends upstream latency events.
Original commit message from CVS:
* tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
(buffer_probe), (event_probe), (GST_START_TEST):
We now see 3 events go through our pad, since basesink now sends
upstream latency events.
2008-10-10 09:11:10 +00:00
Wim Taymans
3245d41e16 gst/gstpipeline.c: Release the object lock before trying to flush the bus.
Original commit message from CVS:
* gst/gstpipeline.c: (gst_pipeline_change_state):
Release the object lock before trying to flush the bus.
2008-10-08 15:21:12 +00:00
Wim Taymans
1fb53a23a1 libs/gst/base/gstbasesink.c: Forward LATENCY events upstreams so that elements know about the total pipeline latency....
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
Forward LATENCY events upstreams so that elements know about the total
pipeline latency. Fixes #555307.
2008-10-08 14:21:13 +00:00
Jan Schmidt
18e2042e28 plugins/elements/gstqueue.c: Allow through queries when we don't know how as otherwise it's not possible to query the...
Original commit message from CVS:
* plugins/elements/gstqueue.c:
Allow through queries when we don't know how
to adjust them (not TIME or BYTES), as otherwise it's
not possible to query the current position in order
to seek in other formats at all.
2008-10-08 11:20:17 +00:00
Andy Wingo
2b9903f71a changelog
Original commit message from CVS:
changelog
2008-10-08 11:12:15 +00:00
Wim Taymans
33bd5179c3 gst/gstghostpad.*: Unbreak -good build, private is a reserved c++ keyword.
Original commit message from CVS:
* gst/gstghostpad.c:
* gst/gstghostpad.h:
Unbreak -good build, private is a reserved c++ keyword.
2008-10-08 10:39:24 +00:00
Andy Wingo
b731374c49 gst/gstghostpad.*: Fix unintended API removal: re-add GST_GHOST_PAD_CAST to the header.
Original commit message from CVS:
2008-10-08  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.h (GST_GHOST_PAD_CAST):
* gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
removal: re-add GST_GHOST_PAD_CAST to the header.
2008-10-08 10:19:11 +00:00
Andy Wingo
9640db9fe2 gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
Original commit message from CVS:
2008-10-08  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
(GstGhostPadClass): Publically expose these structures so as to
allow easy subclassing from C. Hide the member data behind a
private opaque data pointer.

* gst/gstghostpad.c: Adapt to store instance data in the type
instance's private data region, not in the public struct.
2008-10-08 10:12:45 +00:00
Sebastian Dröge
2d2a55a2a4 gst/gstregistrybinary.c: If we can't get a cache file don't try to save something to it.
Original commit message from CVS:
* gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
If we can't get a cache file don't try to save something to it.
Dereferencing NULL pointers usually isn't a good idea.
2008-10-08 10:07:15 +00:00
Jan Schmidt
c64e9b0c7a tests/check/: Add Sparc ABI checks
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/gst/gstabi.c:
* tests/check/gst/struct_sparc.h:
* tests/check/libs/libsabi.c:
* tests/check/libs/struct_sparc.h:
Add Sparc ABI checks
* tests/check/gst/gstvalue.c: (GST_START_TEST):
Cast signed integer to unsigned to avoid a compiler warning.
2008-10-07 15:12:21 +00:00
Sebastian Dröge
2ba1f3a6a2 libs/gst/base/gstbytereader.c: Use new GST_READ_UINT24_(LE|BE) macros.
Original commit message from CVS:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
(gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
(gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
(gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
(gst_byte_reader_peek_int24_be):
Use new GST_READ_UINT24_(LE|BE) macros.
2008-10-07 12:26:40 +00:00
Sebastian Dröge
22dd04f7e0 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT* as it's too easy to break the ISO C strict al...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
as it's too easy to break the ISO C strict aliasing rules with simple
casts to the corresponding type and this would introduce hard to debug
bugs. Fixes bug #545714.
API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
2008-10-07 12:00:49 +00:00
Tim-Philipp Müller
cabf154dc6 gst/: Add 'Since' bits to gtk-doc chunks for new API.
Original commit message from CVS:
* gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
* gst/gstghostpad.c: (gst_ghost_pad_construct):
Add 'Since' bits to gtk-doc chunks for new API.
2008-10-07 06:56:11 +00:00
Thijs Vermeir
a6c9220c57 docs/gst/gstreamer-sections.txt: Fix documentation
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Fix documentation
2008-10-06 21:52:57 +00:00
Andy Wingo
68c5a570b7 changelog, doh
Original commit message from CVS:
changelog, doh
2008-10-06 18:03:58 +00:00
Andy Wingo
f7ae133fec gst/gstghostpad.*: New function, finishes the initialization of ghost pad. Useful for language bindings and subclasse...
Original commit message from CVS:
2008-10-06  Andy Wingo  <wingo@pobox.com>

* gst/gstghostpad.h:
* gst/gstghostpad.c (gst_ghost_pad_construct): New function,
finishes the initialization of ghost pad. Useful for language
bindings and subclassers of GstGhostPad. Fixes #539108.
(gst_ghost_pad_new_full): Use the new constructor.
2008-10-06 17:57:25 +00:00
Olivier Crete
ee0eaf824b gst/gstbin.c: Keep track of pads that are being linked/unlinked and resync the state changes.
Original commit message from CVS:
Base on Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
(gst_bin_remove_func), (update_degree),
(gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
Keep track of pads that are being linked/unlinked and resync the state
changes.
* gst/gstpad.c: (gst_pad_get_direction),
(gst_pad_set_chain_function), (gst_pad_set_getrange_function),
(gst_pad_set_checkgetrange_function), (gst_pad_unlink),
(gst_pad_link_prepare), (gst_pad_link),
(gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
(gst_pad_check_pull_range), (gst_pad_get_range),
(gst_pad_pull_range):
Some code cleanups, use macros to check pad direction.
Don't need to take the lock on the pad direction.
Post structure change when pads are linked/unlinked.
Change some checks into _return_if_fail().
* tests/check/gst/gstbin.c:
(test_link_structure_change_state_changed_sync_cb),
(GST_START_TEST), (gst_bin_suite):
Add testcase for pad link/unlinke resync during a state change.
Fixes #510354.
2008-10-06 16:15:02 +00:00
Wim Taymans
cb98130213 Implement STRUCTURE_CHANGED messages. These messages will be used to signal the parent bin of link/unlink operations ...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_new_structure_change),
(gst_message_parse_structure_change):
* gst/gstmessage.h:
Implement STRUCTURE_CHANGED messages. These messages will be used to
signal the parent bin of link/unlink operations that could require a
resync when doing a state change. See ##510354.
API: gst_message_new_structure_change()
API: gst_message_parse_structure_change()
2008-10-06 15:31:49 +00:00
Wim Taymans
11588b2db5 gst/gstquark.*: Add some more quarks for new message. See #510354.
Original commit message from CVS:
* gst/gstquark.c:
* gst/gstquark.h:
Add some more quarks for new message. See #510354.
2008-10-06 15:21:14 +00:00
Sebastian Dröge
54a3c560da ChangeLog surgery: add API tag
Original commit message from CVS:
ChangeLog surgery: add API tag
2008-10-06 12:57:39 +00:00
Sebastian Dröge
b377c58e43 Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554.
Original commit message from CVS:
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/Makefile.am:
* libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
(gst_bit_reader_skip_to_byte):
* libs/gst/base/gstbitreader.h:
* libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
* libs/gst/base/gstbytereader.h:
* tests/check/Makefile.am:
* tests/check/libs/bitreader.c: (GST_START_TEST),
(gst_bit_reader_suite):
* tests/check/libs/bytereader.c: (GST_START_TEST),
(gst_byte_reader_suite):
Add bit reader and byte reader classes, including documentation
and an extensive unit test suite. Fixes bug #553554.
2008-10-06 12:41:53 +00:00
Wim Taymans
a4b27adb00 libs/gst/base/gstbasesink.c: Improve position reporting while flushing and other intermediate state changes. Fixes #5...
Original commit message from CVS:
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
(gst_base_sink_query):
Improve position reporting while flushing and other intermediate state
changes. Fixes #553874.
2008-10-06 08:58:25 +00:00
Antoine Tremblay
db71547857 gst/gstpad.c: Fix small refount leak in caps compatibility check.
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
Original patch by : Simon Descaries
Fix small refount leak in caps compatibility check.
Fixes #551676.
2008-10-06 08:45:42 +00:00
Stefan Kost
a76176f9e9 docs/pwg/advanced-request.xml: Fix 0.8 api usage in example. Fixes #554561
Original commit message from CVS:
* docs/pwg/advanced-request.xml:
Fix 0.8 api usage in example. Fixes #554561
* docs/pwg/appendix-porting.xml:
Change 0.9 to 0.10 here.
2008-10-06 07:30:57 +00:00
Stefan Kost
62f71ce302 docs/manual/basics-data.xml: Change "event-event interaction" to "element-element interaction".
Original commit message from CVS:
* docs/manual/basics-data.xml:
Change "event-event interaction" to "element-element interaction".
Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
updates.
2008-10-06 07:13:02 +00:00
Jan Schmidt
c6d8810a69 configure.ac: Back to development -> 0.10.21.1
Original commit message from CVS:
* configure.ac:
Back to development -> 0.10.21.1
2008-10-05 10:01:50 +00:00
Jan Schmidt
3419fac41b Release 0.10.21
Original commit message from CVS:
Release 0.10.21
2008-10-02 23:59:53 +00:00
Jan Schmidt
1a5d34db8d configure.ac: 0.10.20.4 pre-release
Original commit message from CVS:
* configure.ac:
0.10.20.4 pre-release
2008-09-28 22:49:56 +00:00
Jan Schmidt
86db1f680c Fix assertion in basetransform when the subclass chooses not to allocate a buffer in prepare_buffer(), and make capsf...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
* plugins/elements/gstcapsfilter.c:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/capsfilter.c:
Fix assertion in basetransform when the subclass chooses not to
allocate a buffer in prepare_buffer(), and make capsfilter error out
cleanly if requested to apply caps that don't completely specify the
buffer. Fixes #551509
2008-09-28 21:19:15 +00:00
Wim Taymans
c2552e7d0d libs/gst/base/gstbasetransform.c: Take new caps ref because our old one might have been gone when the subclass perfor...
Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_prepare_output_buffer):
Take new caps ref because our old one might have been gone when the
subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
2008-09-24 15:03:40 +00:00
Jan Schmidt
d36b9c17d4 Also commit ChangeLog
Original commit message from CVS:
Also commit ChangeLog
2008-09-16 15:35:04 +00:00
Stefan Kost
40d2055451 configure.ac: Do not probe availability of check unit test library when cross compiling, as test would not work anywa...
Original commit message from CVS:
* configure.ac:
Do not probe availability of check unit test library when cross
compiling, as test would not work anyway. Also cleanup verbose output
of the check test. Fixes #551952.
2008-09-15 15:18:07 +00:00
Antoine Tremblay
607fd58a5e gst/gstelement.c: Avoid leaking the parent ref when we fail changing the state of the element using gst_element_sync_...
Original commit message from CVS:
Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gstelement.c: (gst_element_sync_state_with_parent):
Avoid leaking the parent ref when we fail changing the state of the
element using gst_element_sync_state_with_parent(). Fixes #551978.
2008-09-14 22:01:30 +00:00
Tim-Philipp Müller
e769a7a0e4 docs/manual/intro-motivation.xml: Remove some bits that no longer apply, update others (#551642).
Original commit message from CVS:
* docs/manual/intro-motivation.xml::
Remove some bits that no longer apply, update others (#551642).
2008-09-11 16:56:48 +00:00
Tim-Philipp Müller
3895985465 win32/common/config.h.in: Add GST_DATADIR, hard-code cpu to x86.
Original commit message from CVS:
* win32/common/config.h.in:
Add GST_DATADIR, hard-code cpu to x86.
* win32/common/libgstreamer.def:
Spaces to tabs.
2008-09-09 18:47:27 +00:00
Tim-Philipp Müller
844b19464e gst/gsttaglist.h: Fix Since: markers for new geo tags.
Original commit message from CVS:
* gst/gsttaglist.h:
Fix Since: markers for new geo tags.
2008-09-03 05:52:40 +00:00
Stefan Kost
cf424d4c56 gst/gsttaglist.h: Fix actual tag name define after renaming from altitude to elevation.
Original commit message from CVS:
* gst/gsttaglist.h:
Fix actual tag name define after renaming from altitude to elevation.
2008-09-02 20:00:28 +00:00
Wim Taymans
7cf8be7fd8 gst/gstpad.c: Add fallback when calling the deprecated function on an element that implements the new internal_link h...
Original commit message from CVS:
* gst/gstpad.c: (add_unref_pad_to_list),
(gst_pad_get_internal_links_default):
Add fallback when calling the deprecated function on an element that
implements the new internal_link handler.
2008-09-01 14:05:45 +00:00
Stefan Kost
ce1f50ae11 Add new tags for geo location and clarify purpose of existing location tag. Fixes #481169
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
Add new tags for geo location and clarify purpose of existing location
tag. Fixes #481169
2008-09-01 13:35:32 +00:00
Olivier Crete
390369246e gst/gstpad.c: Use thread-safe internal links iterator. Fixes #549504.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/gstpad.c: (gst_pad_iterate_internal_links_default),
(gst_pad_event_default_dispatch), (gst_pad_dispatcher):
Use thread-safe internal links iterator. Fixes #549504.
2008-09-01 11:27:45 +00:00
Olivier Crete
68037404b8 Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links funct...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
* gst/gstpad.c: (gst_pad_init),
(gst_pad_set_iterate_internal_links_function),
(int_link_iter_data_free), (iterate_pad),
(gst_pad_iterate_internal_links_default),
(gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
* gst/gstpad.h:
Add threadsafe replacement functions for getting internal links of an
element. Deprecate the old internal links functions.
API:GstPad::gst_pad_set_iterate_internal_links_function()
API:GstPad::GstPadIterIntLinkFunction
API:GstPad::gst_pad_iterate_internal_links()
API:GstPad::gst_pad_iterate_internal_links_default()
* gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
(gst_proxy_pad_init):
Implement threadsafe internal links.
* tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
Unit test for internal links on tee. See #549504.
2008-09-01 10:42:04 +00:00
Edward Hervey
1639fb5905 tests/check/Makefile.am: libs/transform1 test requires libs/test_transform.c
Original commit message from CVS:
* tests/check/Makefile.am:
libs/transform1 test requires libs/test_transform.c
2008-08-30 12:57:47 +00:00