gst/playback/gstdecodebin.c: Fix #382223, add more dynamic caps handling.

Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Fix #382223, add more dynamic caps handling.
This commit is contained in:
Wim Taymans 2006-12-04 13:02:37 +00:00
parent 9c9a952fb4
commit bdd8747c6c
2 changed files with 26 additions and 10 deletions

View file

@ -1,3 +1,25 @@
2006-12-04 Wim Taymans <wim@fluendo.com>
* gst/playback/gstdecodebin.c: (close_pad_link):
Fix #382223, add more dynamic caps handling.
2006-12-04 Wim Taymans <wim@fluendo.com>
reviewed by: <delete if not using a buddy>
* gst-libs/gst/audio/gstringbuffer.h:
* gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_init),
(gst_netaddress_set_ip4_interface),
(gst_netaddress_set_ip6_interface), (gst_netaddress_set_loopback),
(gst_netaddress_set_ttl), (gst_netaddress_get_ip4_interface),
(gst_netaddress_get_ip6_interface), (gst_netaddress_get_loopback),
(gst_netaddress_get_ttl):
* gst-libs/gst/netbuffer/gstnetbuffer.h:
* gst/playback/gstdecodebin.c: (close_pad_link):
* tests/examples/seek/seek.c: (end_scrub), (end_seek), (do_seek),
(seek_cb), (stop_seek), (rate_spinbutton_changed_cb):
* win32/common/config.h:
2006-12-01 Michael Smith <msmith@fluendo.com>
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):

View file

@ -713,8 +713,6 @@ close_pad_link (GstElement * element, GstPad * pad, GstCaps * caps,
GList *to_try;
/* if the caps has many types, we need to delay */
/* FIXME, implement delay. Listen to the ::caps property change on the pad
* and continue to link. */
if (gst_caps_get_size (caps) != 1)
goto many_types;
@ -745,21 +743,17 @@ unknown_type:
}
dont_know_yet:
{
/* FIXME, actually wait */
GST_LOG_OBJECT (pad, "type is not known yet, implement delayed linking");
g_signal_emit (G_OBJECT (decode_bin),
gst_decode_bin_signals[SIGNAL_UNKNOWN_TYPE], 0, pad, caps);
return;
GST_LOG_OBJECT (pad, "type is not known yet");
goto setup_caps_delay;
}
many_types:
{
/* FIXME, actually wait */
GST_LOG_OBJECT (pad, "many possible types, implement delayed linking!");
GST_LOG_OBJECT (pad, "many possible types");
goto setup_caps_delay;
}
setup_caps_delay:
{
GST_LOG_OBJECT (pad, "many possible types, delay link");
GST_LOG_OBJECT (pad, "setting up a delayed link");
dynamic_create (element, pad, decode_bin);
return;
}