mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 00:01:23 +00:00
gst/playback/gstplaybasebin.c: Clear the dynamic pads counter when starting a new uri. This makes reusing playbin wor...
Original commit message from CVS: * 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.
This commit is contained in:
parent
b5c2a72a4a
commit
c03d6a8757
2 changed files with 18 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
|||
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:
|
||||
|
|
|
@ -1051,11 +1051,13 @@ no_more_pads_full (GstElement * element, gboolean subs,
|
|||
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);
|
||||
|
@ -1988,6 +1990,9 @@ setup_source (GstPlayBaseBin * play_base_bin)
|
|||
/* 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;
|
||||
|
@ -2006,6 +2011,9 @@ setup_source (GstPlayBaseBin * play_base_bin)
|
|||
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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue