mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
gst/playback/gstplaybasebin.c: Connect to the new queue "pushing" signal instead of the broken "running" one.
Original commit message from CVS: * gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue), (queue_out_of_data): Connect to the new queue "pushing" signal instead of the broken "running" one.
This commit is contained in:
parent
c88306fe26
commit
56f01bc0cb
3 changed files with 15 additions and 5 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2007-05-10 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue),
|
||||||
|
(queue_out_of_data):
|
||||||
|
Connect to the new queue "pushing" signal instead of the broken
|
||||||
|
"running" one.
|
||||||
|
|
||||||
2007-05-09 Sebastien Moutte <sebastien@moutte.net>
|
2007-05-09 Sebastien Moutte <sebastien@moutte.net>
|
||||||
|
|
||||||
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
|
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
|
||||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
||||||
Subproject commit a6e41a42ec1b93fddbd14b2e5af87e2d456b8962
|
Subproject commit 1b4fb5836a9e290fe13895643d41e0166de8a94c
|
|
@ -496,6 +496,7 @@ group_is_muted (GstPlayBaseGroup * group)
|
||||||
static inline void
|
static inline void
|
||||||
fill_buffer (GstPlayBaseBin * play_base_bin, gint percent)
|
fill_buffer (GstPlayBaseBin * play_base_bin, gint percent)
|
||||||
{
|
{
|
||||||
|
GST_DEBUG_OBJECT (play_base_bin, "buffering %d", percent);
|
||||||
gst_element_post_message (GST_ELEMENT_CAST (play_base_bin),
|
gst_element_post_message (GST_ELEMENT_CAST (play_base_bin),
|
||||||
gst_message_new_buffering (GST_OBJECT_CAST (play_base_bin), percent));
|
gst_message_new_buffering (GST_OBJECT_CAST (play_base_bin), percent));
|
||||||
}
|
}
|
||||||
|
@ -528,10 +529,12 @@ check_queue (GstPad * pad, GstBuffer * data, gpointer user_data)
|
||||||
GstPlayBaseBin *play_base_bin = g_object_get_data (G_OBJECT (queue), "pbb");
|
GstPlayBaseBin *play_base_bin = g_object_get_data (G_OBJECT (queue), "pbb");
|
||||||
guint64 level = 0;
|
guint64 level = 0;
|
||||||
|
|
||||||
GST_DEBUG ("check queue triggered");
|
GST_DEBUG_OBJECT (queue, "check queue triggered");
|
||||||
|
|
||||||
g_object_get (G_OBJECT (queue), "current-level-time", &level, NULL);
|
g_object_get (G_OBJECT (queue), "current-level-time", &level, NULL);
|
||||||
GST_DEBUG ("Queue size: %" GST_TIME_FORMAT, GST_TIME_ARGS (level));
|
GST_DEBUG_OBJECT (play_base_bin, "Queue size: %" GST_TIME_FORMAT,
|
||||||
|
GST_TIME_ARGS (level));
|
||||||
|
|
||||||
if (play_base_bin->queue_threshold > 0) {
|
if (play_base_bin->queue_threshold > 0) {
|
||||||
level = level * 99 / play_base_bin->queue_threshold;
|
level = level * 99 / play_base_bin->queue_threshold;
|
||||||
if (level > 99)
|
if (level > 99)
|
||||||
|
@ -678,7 +681,7 @@ queue_out_of_data (GstElement * queue, GstPlayBaseBin * play_base_bin)
|
||||||
* This signal could never be called because the queue max-size limits are set
|
* This signal could never be called because the queue max-size limits are set
|
||||||
* too low. We take care of this possible deadlock in the the overrun signal
|
* too low. We take care of this possible deadlock in the the overrun signal
|
||||||
* handler. */
|
* handler. */
|
||||||
g_signal_connect (G_OBJECT (queue), "running",
|
g_signal_connect (G_OBJECT (queue), "pushing",
|
||||||
G_CALLBACK (queue_threshold_reached), play_base_bin);
|
G_CALLBACK (queue_threshold_reached), play_base_bin);
|
||||||
GST_DEBUG_OBJECT (play_base_bin,
|
GST_DEBUG_OBJECT (play_base_bin,
|
||||||
"setting min threshold time to %" G_GUINT64_FORMAT,
|
"setting min threshold time to %" G_GUINT64_FORMAT,
|
||||||
|
@ -686,7 +689,7 @@ queue_out_of_data (GstElement * queue, GstPlayBaseBin * play_base_bin)
|
||||||
g_object_set (queue, "min-threshold-time",
|
g_object_set (queue, "min-threshold-time",
|
||||||
(guint64) play_base_bin->queue_threshold, NULL);
|
(guint64) play_base_bin->queue_threshold, NULL);
|
||||||
|
|
||||||
/* re-connect probe, this will five feedback about the percentage that we
|
/* re-connect probe, this will fire feedback about the percentage that we
|
||||||
* buffered and is posted in the BUFFERING message. */
|
* buffered and is posted in the BUFFERING message. */
|
||||||
if (!g_object_get_data (G_OBJECT (queue), "probe")) {
|
if (!g_object_get_data (G_OBJECT (queue), "probe")) {
|
||||||
GstPad *sinkpad;
|
GstPad *sinkpad;
|
||||||
|
|
Loading…
Reference in a new issue