mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
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:
parent
9c9a952fb4
commit
bdd8747c6c
2 changed files with 26 additions and 10 deletions
22
ChangeLog
22
ChangeLog
|
@ -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>
|
2006-12-01 Michael Smith <msmith@fluendo.com>
|
||||||
|
|
||||||
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
|
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
|
||||||
|
|
|
@ -713,8 +713,6 @@ close_pad_link (GstElement * element, GstPad * pad, GstCaps * caps,
|
||||||
GList *to_try;
|
GList *to_try;
|
||||||
|
|
||||||
/* if the caps has many types, we need to delay */
|
/* 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)
|
if (gst_caps_get_size (caps) != 1)
|
||||||
goto many_types;
|
goto many_types;
|
||||||
|
|
||||||
|
@ -745,21 +743,17 @@ unknown_type:
|
||||||
}
|
}
|
||||||
dont_know_yet:
|
dont_know_yet:
|
||||||
{
|
{
|
||||||
/* FIXME, actually wait */
|
GST_LOG_OBJECT (pad, "type is not known yet");
|
||||||
GST_LOG_OBJECT (pad, "type is not known yet, implement delayed linking");
|
goto setup_caps_delay;
|
||||||
g_signal_emit (G_OBJECT (decode_bin),
|
|
||||||
gst_decode_bin_signals[SIGNAL_UNKNOWN_TYPE], 0, pad, caps);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
many_types:
|
many_types:
|
||||||
{
|
{
|
||||||
/* FIXME, actually wait */
|
GST_LOG_OBJECT (pad, "many possible types");
|
||||||
GST_LOG_OBJECT (pad, "many possible types, implement delayed linking!");
|
|
||||||
goto setup_caps_delay;
|
goto setup_caps_delay;
|
||||||
}
|
}
|
||||||
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);
|
dynamic_create (element, pad, decode_bin);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue