+2007-06-12 Wim Taymans <wim@fluendo.com>
+
+ Patches by: Thiago Sousa Santos <thiagossantos at gmail dot com>
+
+ * gst/playback/gstqueue2.c: (update_buffering),
+ (gst_queue_locked_enqueue):
+ Fix a division by zero when the max percent is <= 0. Fixes #446572.
+ also update the buffering status when receiving events. Fixes #446551.
+
2007-06-11 Wim Taymans <wim@fluendo.com>
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
gint percent;
gboolean post = FALSE;
- if (!queue->use_buffering)
+ if (!queue->use_buffering || queue->high_percent <= 0)
return;
#define GET_PERCENT(format) ((queue->max_level.format) > 0 ? \
apply_buffer (queue, buffer, &queue->sink_segment);
/* update the byterate stats */
update_rates (queue);
- /* update the buffering status */
- update_buffering (queue);
if (QUEUE_IS_USING_TEMP_FILE (queue)) {
gst_queue_write_buffer_to_file (queue, buffer);
item = NULL;
}
- if (!QUEUE_IS_USING_TEMP_FILE (queue) && item)
- g_queue_push_tail (queue->queue, item);
- GST_QUEUE_SIGNAL_ADD (queue);
+ if (item) {
+ /* update the buffering status */
+ update_buffering (queue);
+
+ if (!QUEUE_IS_USING_TEMP_FILE (queue))
+ g_queue_push_tail (queue->queue, item);
+ GST_QUEUE_SIGNAL_ADD (queue);
+ }
return;