Indicates how much buffering should be done internally in
mssdemux
GST_DEBUG_CATEGORY (mssdemux_debug);
#define DEFAULT_CONNECTION_SPEED 0
GST_DEBUG_CATEGORY (mssdemux_debug);
#define DEFAULT_CONNECTION_SPEED 0
+#define DEFAULT_MAX_QUEUE_SIZE_BUFFERS 0
enum
{
PROP_0,
PROP_CONNECTION_SPEED,
enum
{
PROP_0,
PROP_CONNECTION_SPEED,
+ PROP_MAX_QUEUE_SIZE_BUFFERS,
0, G_MAXUINT / 1000, DEFAULT_CONNECTION_SPEED,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
0, G_MAXUINT / 1000, DEFAULT_CONNECTION_SPEED,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_MAX_QUEUE_SIZE_BUFFERS,
+ g_param_spec_uint ("max-queue-size-buffers", "Max queue size in buffers",
+ "Maximum buffers that can be stored in each internal stream queue "
+ "(0 = infinite)", 0, G_MAXUINT, DEFAULT_MAX_QUEUE_SIZE_BUFFERS,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
gstelement_class->change_state =
GST_DEBUG_FUNCPTR (gst_mss_demux_change_state);
}
gstelement_class->change_state =
GST_DEBUG_FUNCPTR (gst_mss_demux_change_state);
}
mssdemux->stream_task =
gst_task_create ((GstTaskFunction) gst_mss_demux_stream_loop, mssdemux);
gst_task_set_lock (mssdemux->stream_task, &mssdemux->stream_lock);
mssdemux->stream_task =
gst_task_create ((GstTaskFunction) gst_mss_demux_stream_loop, mssdemux);
gst_task_set_lock (mssdemux->stream_task, &mssdemux->stream_lock);
+
+ mssdemux->data_queue_max_size = DEFAULT_MAX_QUEUE_SIZE_BUFFERS;
mssdemux->connection_speed);
GST_OBJECT_UNLOCK (mssdemux);
break;
mssdemux->connection_speed);
GST_OBJECT_UNLOCK (mssdemux);
break;
+ case PROP_MAX_QUEUE_SIZE_BUFFERS:
+ mssdemux->data_queue_max_size = g_value_get_uint (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
case PROP_CONNECTION_SPEED:
g_value_set_uint (value, mssdemux->connection_speed / 1000);
break;
case PROP_CONNECTION_SPEED:
g_value_set_uint (value, mssdemux->connection_speed / 1000);
break;
+ case PROP_MAX_QUEUE_SIZE_BUFFERS:
+ g_value_set_uint (value, mssdemux->data_queue_max_size);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;