+2007-07-12 Wim Taymans <wim.taymans@gmail.com>
+
+ * gst/playback/gstplaybasebin.c: (no_more_pads_full),
+ (setup_source):
+ Clear the dynamic pads counter when starting a new uri. This makes
+ reusing playbin work again.
+ Fixes #454264.
+
2007-07-12 Stefan Kost <ensonic@users.sf.net>
* configure.ac:
if (!g_object_get_data (G_OBJECT (element), "pending"))
return;
- GST_DEBUG_OBJECT (element, "remove pending");
-
g_object_set_data (G_OBJECT (element), "pending", NULL);
play_base_bin->pending--;
+
+ GST_DEBUG_OBJECT (element, "remove pending, now %d pending",
+ play_base_bin->pending);
+
if (play_base_bin->pending == 0) {
/* we can commit this group for playback now */
group_commit (play_base_bin, play_base_bin->is_stream, subs);
/* remove our previous preroll queues */
remove_groups (play_base_bin);
+ /* clear pending dynamic elements */
+ play_base_bin->pending = 0;
+
/* do subs */
if (subbin) {
GstElement *db;
g_object_set_data (G_OBJECT (db), "pending", "1");
play_base_bin->pending++;
+ GST_DEBUG_OBJECT (play_base_bin, "we have subtitles, %d pending",
+ play_base_bin->pending);
+
if (!play_base_bin->is_stream) {
GstStateChangeReturn sret;