mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
gst/playback/gstplaybasebin.c: Re-add clock distribution hack (until new core is released).
Original commit message from CVS: * gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element): Re-add clock distribution hack (until new core is released). Fixes #158125.
This commit is contained in:
parent
d6d44a94bc
commit
527794efc5
2 changed files with 19 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2004-11-13 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
|
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element):
|
||||||
|
Re-add clock distribution hack (until new core is released).
|
||||||
|
Fixes #158125.
|
||||||
|
|
||||||
2004-11-13 Arwed v. Merkatz <v.merkatz@gmx.net>
|
2004-11-13 Arwed v. Merkatz <v.merkatz@gmx.net>
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
fix mplex configure check segfaulting on some systems (bug #140994)
|
fix mplex configure check segfaulting on some systems (bug #140994)
|
||||||
|
|
|
@ -1169,6 +1169,9 @@ gst_play_base_bin_add_element (GstBin * bin, GstElement * element)
|
||||||
play_base_bin = GST_PLAY_BASE_BIN (bin);
|
play_base_bin = GST_PLAY_BASE_BIN (bin);
|
||||||
|
|
||||||
if (play_base_bin->thread) {
|
if (play_base_bin->thread) {
|
||||||
|
GstScheduler *sched;
|
||||||
|
GstClock *clock;
|
||||||
|
|
||||||
if (play_base_bin->threaded) {
|
if (play_base_bin->threaded) {
|
||||||
gchar *name;
|
gchar *name;
|
||||||
GstElement *thread;
|
GstElement *thread;
|
||||||
|
@ -1181,6 +1184,16 @@ gst_play_base_bin_add_element (GstBin * bin, GstElement * element)
|
||||||
element = thread;
|
element = thread;
|
||||||
}
|
}
|
||||||
gst_bin_add (GST_BIN (play_base_bin->thread), element);
|
gst_bin_add (GST_BIN (play_base_bin->thread), element);
|
||||||
|
|
||||||
|
/* hack, the clock is not correctly distributed in the core */
|
||||||
|
sched = gst_element_get_scheduler (GST_ELEMENT (play_base_bin->thread));
|
||||||
|
clock = gst_scheduler_get_clock (sched);
|
||||||
|
gst_scheduler_set_clock (sched, clock);
|
||||||
|
|
||||||
|
/* FIXME set element to READY so that negotiation can happen. This
|
||||||
|
* currently fails because of weird negotiation problems. */
|
||||||
|
//gst_element_set_state (element, GST_STATE_PLAYING);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
g_warning ("adding elements is not allowed in NULL");
|
g_warning ("adding elements is not allowed in NULL");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue