[gstreamer-bugs] [Bug 510354] post GST_MESSAGE_STRUCTURE_CHANGE when linking and unlinking pads

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Oct 6 09:16:11 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=510354

  GStreamer | gstreamer (core) | Ver: HEAD CVS

Wim Taymans changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #117248|needs-work                  |committed
               Flag|                            |
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|HEAD                        |0.10.22




------- Comment #17 from Wim Taymans  2008-10-06 16:16 UTC -------
Commited with some updates.

        Based 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.

        * 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()

        * gst/gstquark.c:
        * gst/gstquark.h:
        Add some more quarks for new message. See #510354.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=510354.




More information about the Gstreamer-bugs mailing list