mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-22 06:59:59 -05:00
pinossrc: handle latency and liveness
Use NULL filter when the port format enumeration returns nothing. Send clock update even when there is no clock. Don't send data to a port when the node is not streaming Add latency support to the clock update Copy the unset_mask when copying the formats
This commit is contained in:
parent
021eccb8ad
commit
b75d9786d4
13 changed files with 147 additions and 77 deletions
|
|
@ -270,7 +270,6 @@ gst_pinos_src_init (GstPinosSrc * src)
|
|||
gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
|
||||
|
||||
GST_OBJECT_FLAG_SET (src, GST_ELEMENT_FLAG_PROVIDE_CLOCK);
|
||||
gst_base_src_set_live (GST_BASE_SRC (src), TRUE);
|
||||
|
||||
g_queue_init (&src->queue);
|
||||
|
||||
|
|
@ -347,16 +346,16 @@ static gboolean
|
|||
buffer_recycle (GstMiniObject *obj)
|
||||
{
|
||||
ProcessMemData *data;
|
||||
|
||||
GST_LOG_OBJECT (obj, "recycle buffer");
|
||||
GstPinosSrc *src;
|
||||
|
||||
gst_mini_object_ref (obj);
|
||||
data = gst_mini_object_get_qdata (obj,
|
||||
process_mem_data_quark);
|
||||
GST_BUFFER_FLAGS (obj) = data->flags;
|
||||
src = data->src;
|
||||
|
||||
pinos_stream_recycle_buffer (data->src->stream, data->id);
|
||||
GST_LOG_OBJECT (obj, "recycle buffer");
|
||||
pinos_stream_recycle_buffer (src->stream, data->id);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -524,10 +523,6 @@ parse_stream_properties (GstPinosSrc *pinossrc, PinosProperties *props)
|
|||
|
||||
var = pinos_properties_get (props, "pinos.latency.max");
|
||||
pinossrc->max_latency = var ? (GstClockTime) atoi (var) : GST_CLOCK_TIME_NONE;
|
||||
|
||||
pinossrc->is_live = TRUE;
|
||||
pinossrc->min_latency = 100000000;
|
||||
pinossrc->max_latency = GST_CLOCK_TIME_NONE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue