After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 347785 - [multiqueue] New multiple input-output queue
[multiqueue] New multiple input-output queue
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 0.10.11
Assigned To: Edward Hervey
GStreamer Maintainers
Depends on: 344639
Blocks: 370092
Reported: 2006-07-17 14:09 UTC by Edward Hervey
Modified: 2006-11-28 12:08 UTC
See Also:
GNOME target: ---
GNOME version: ---

First version (33.34 KB, patch)
2006-09-01 17:06 UTC, Edward Hervey
none Details | Review
Updated version (33.89 KB, patch)
2006-11-03 16:22 UTC, Edward Hervey
none Details | Review

Description Edward Hervey 2006-07-17 14:09:09 UTC
In order to create the new version of decodebin (see decodebin design-document in gstreamer module), a multiple input-output queue is needed.
Comment 1 Edward Hervey 2006-09-01 17:06:34 UTC
Created attachment 72030 [details] [review]
First version
Comment 2 Edward Hervey 2006-11-03 16:22:04 UTC
Created attachment 75944 [details] [review]
Updated version

This version has fixes for issues seen through using it with decodebin2.
Comment 3 Edward Hervey 2006-11-28 12:08:36 UTC
2006-11-28  Edward Hervey  <>

	* libs/gst/base/
	* libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
	(gst_data_queue_base_init), (gst_data_queue_class_init),
	(gst_data_queue_init), (gst_data_queue_new),
	(gst_data_queue_cleanup), (gst_data_queue_finalize),
	(gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
	(gst_data_queue_locked_is_full), (gst_data_queue_flush),
	(gst_data_queue_is_empty), (gst_data_queue_is_full),
	(gst_data_queue_set_flushing), (gst_data_queue_push),
	(gst_data_queue_pop), (gst_data_queue_drop_head),
	(gst_data_queue_set_property), (gst_data_queue_get_property):
	* libs/gst/base/gstdataqueue.h:
	New GstDataQueue object for threadsafe queueing. Most useful for
	elements that need some queueing functionnality.
	* docs/libs/gstreamer-libs-docs.sgml:
	* docs/libs/gstreamer-libs-sections.txt:
	Insert documentation for GstDataQueue
	* plugins/elements/
	* plugins/elements/gstelements.c:
	* plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
	(gst_multi_queue_class_init), (gst_multi_queue_init),
	(gst_multi_queue_finalize), (gst_multi_queue_set_property),
	(gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
	(gst_multi_queue_release_pad), (gst_single_queue_push_one),
	(gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
	(gst_multi_queue_loop), (gst_multi_queue_chain),
	(gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
	(gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
	(gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
	(gst_multi_queue_src_event), (gst_multi_queue_src_query),
	(wake_up_next_non_linked), (compute_next_non_linked),
	(single_queue_overrun_cb), (single_queue_underrun_cb),
	(single_queue_check_full), (gst_single_queue_new):
	* plugins/elements/gstmultiqueue.h:
	New multiqueue element, using GstDataQueue. Used for queuing multiple
	Closes #344639 and #347785